diff --git a/baystation12.dme b/baystation12.dme
index 01808249ff5..9f6b4b23842 100644
--- a/baystation12.dme
+++ b/baystation12.dme
@@ -68,10 +68,11 @@
#include "code\__defines\modifiers.dm"
#include "code\__defines\movement.dm"
#include "code\__defines\organs.dm"
-#include "code\__defines\path.dm"
#include "code\__defines\preferences.dm"
#include "code\__defines\proc_presets.dm"
#include "code\__defines\process_scheduler.dm"
+#include "code\__defines\procpath.dm"
+#include "code\__defines\prometheus.dm"
#include "code\__defines\radiation.dm"
#include "code\__defines\radio.dm"
#include "code\__defines\rcd.dm"
@@ -132,6 +133,7 @@
#include "code\_global_vars\lists\mapping.dm"
#include "code\_global_vars\lists\names.dm"
#include "code\_global_vars\lists\objects.dm"
+#include "code\_global_vars\lists\pipe_dispenser.dm"
#include "code\_global_vars\lists\rcd.dm"
#include "code\_global_vars\lists\russian.dm"
#include "code\_global_vars\monikers\_animal_moniker.dm"
@@ -145,11 +147,12 @@
#include "code\_helpers\cmp.dm"
#include "code\_helpers\emissives.dm"
#include "code\_helpers\files.dm"
+#include "code\_helpers\flick_overlay.dm"
#include "code\_helpers\functional.dm"
#include "code\_helpers\game.dm"
#include "code\_helpers\global_access.dm"
#include "code\_helpers\global_lists.dm"
-#include "code\_helpers\heap.dm"
+#include "code\_helpers\holodeck.dm"
#include "code\_helpers\icons.dm"
#include "code\_helpers\input.dm"
#include "code\_helpers\json.dm"
@@ -160,6 +163,7 @@
#include "code\_helpers\matrices.dm"
#include "code\_helpers\mobs.dm"
#include "code\_helpers\names.dm"
+#include "code\_helpers\preferences.dm"
#include "code\_helpers\pronouns.dm"
#include "code\_helpers\radio.dm"
#include "code\_helpers\roundend.dm"
@@ -178,11 +182,9 @@
#include "code\_helpers\type2type.dm"
#include "code\_helpers\unsorted.dm"
#include "code\_helpers\vector.dm"
+#include "code\_helpers\verbs.dm"
#include "code\_helpers\warnings.dm"
#include "code\_helpers\weakref.dm"
-#include "code\_helpers\paths\jps.dm"
-#include "code\_helpers\paths\path.dm"
-#include "code\_helpers\paths\sssp.dm"
#include "code\_helpers\sorts\__main.dm"
#include "code\_helpers\sorts\TimSort.dm"
#include "code\_onclick\adjacent.dm"
@@ -254,18 +256,18 @@
#include "code\controllers\subsystems\misc_late.dm"
#include "code\controllers\subsystems\open_space.dm"
#include "code\controllers\subsystems\overlays.dm"
-#include "code\controllers\subsystems\pathfinder.dm"
#include "code\controllers\subsystems\plants.dm"
#include "code\controllers\subsystems\points_of_interest.dm"
+#include "code\controllers\subsystems\prometheus.dm"
#include "code\controllers\subsystems\radiation.dm"
#include "code\controllers\subsystems\radio.dm"
#include "code\controllers\subsystems\shuttle.dm"
#include "code\controllers\subsystems\skybox.dm"
+#include "code\controllers\subsystems\statpanels.dm"
#include "code\controllers\subsystems\sun.dm"
#include "code\controllers\subsystems\supply.dm"
#include "code\controllers\subsystems\tgui.dm"
#include "code\controllers\subsystems\ticker.dm"
-#include "code\controllers\subsystems\timer.dm"
#include "code\controllers\subsystems\trade.dm"
#include "code\controllers\subsystems\virus.dm"
#include "code\controllers\subsystems\vote.dm"
@@ -282,6 +284,7 @@
#include "code\controllers\subsystems\processing\mobs.dm"
#include "code\controllers\subsystems\processing\movable_physics.dm"
#include "code\controllers\subsystems\processing\nano.dm"
+#include "code\controllers\subsystems\processing\obj_tab_items.dm"
#include "code\controllers\subsystems\processing\processing.dm"
#include "code\controllers\subsystems\processing\projectiles.dm"
#include "code\controllers\subsystems\processing\think.dm"
@@ -296,8 +299,10 @@
#include "code\datums\datum.dm"
#include "code\datums\hierarchy.dm"
#include "code\datums\http.dm"
+#include "code\datums\language_menu.dm"
#include "code\datums\mind.dm"
#include "code\datums\mutable_appearance.dm"
+#include "code\datums\object_window_info.dm"
#include "code\datums\position_point_vector.dm"
#include "code\datums\progressbar.dm"
#include "code\datums\recipe.dm"
@@ -327,6 +332,7 @@
#include "code\datums\communication\~defines.dm"
#include "code\datums\components\_component.dm"
#include "code\datums\components\cardborg.dm"
+#include "code\datums\components\connect_mob_behalf.dm"
#include "code\datums\components\label.dm"
#include "code\datums\components\mind_linker.dm"
#include "code\datums\components\movable_physics.dm"
@@ -360,6 +366,7 @@
#include "code\datums\elements\connect_loc.dm"
#include "code\datums\elements\last_words.dm"
#include "code\datums\elements\point_of_interest.dm"
+#include "code\datums\elements\simple_rotation.dm"
#include "code\datums\events\apc_damage.dm"
#include "code\datums\events\biohazard_outbreak.dm"
#include "code\datums\events\brand_intelligence.dm"
@@ -793,6 +800,7 @@
#include "code\game\machinery\buttons.dm"
#include "code\game\machinery\CableLayer.dm"
#include "code\game\machinery\cell_charger.dm"
+#include "code\game\machinery\coffeemaker.dm"
#include "code\game\machinery\constructable_frame.dm"
#include "code\game\machinery\cryo.dm"
#include "code\game\machinery\cryopod.dm"
@@ -842,6 +850,7 @@
#include "code\game\machinery\atmoalter\meter.dm"
#include "code\game\machinery\atmoalter\portable_atmospherics.dm"
#include "code\game\machinery\atmoalter\pump.dm"
+#include "code\game\machinery\atmoalter\sauna.dm"
#include "code\game\machinery\atmoalter\scrubber.dm"
#include "code\game\machinery\camera\camera.dm"
#include "code\game\machinery\camera\camera_assembly.dm"
@@ -907,6 +916,7 @@
#include "code\game\machinery\kitchen\cooking_machines\grill.dm"
#include "code\game\machinery\kitchen\cooking_machines\oven.dm"
#include "code\game\machinery\pipe\construction.dm"
+#include "code\game\machinery\pipe\dispenser_recipes.dm"
#include "code\game\machinery\pipe\pipe_dispenser.dm"
#include "code\game\machinery\pipe\pipelayer.dm"
#include "code\game\machinery\telecomms\broadcaster.dm"
@@ -1064,6 +1074,7 @@
#include "code\game\objects\items\balloons.dm"
#include "code\game\objects\items\blueprints.dm"
#include "code\game\objects\items\bodybag.dm"
+#include "code\game\objects\items\condi_display.dm"
#include "code\game\objects\items\contraband.dm"
#include "code\game\objects\items\crayons.dm"
#include "code\game\objects\items\cryobag.dm"
@@ -1236,6 +1247,10 @@
#include "code\game\objects\items\storage\toolbox.dm"
#include "code\game\objects\items\storage\uplink_kits.dm"
#include "code\game\objects\items\storage\wallets.dm"
+#include "code\game\objects\items\storage\secure\_secure.dm"
+#include "code\game\objects\items\storage\secure\briefcase.dm"
+#include "code\game\objects\items\storage\secure\guncases.dm"
+#include "code\game\objects\items\storage\secure\safe.dm"
#include "code\game\objects\items\storage\storage_ui\default.dm"
#include "code\game\objects\items\storage\storage_ui\storage_ui.dm"
#include "code\game\objects\items\tanks\jetpack.dm"
@@ -1245,11 +1260,13 @@
#include "code\game\objects\items\tools\crowbar.dm"
#include "code\game\objects\items\tools\screwdriver.dm"
#include "code\game\objects\items\tools\surgery.dm"
+#include "code\game\objects\items\tools\tools.dm"
#include "code\game\objects\items\tools\welding.dm"
#include "code\game\objects\items\tools\wirecutters.dm"
#include "code\game\objects\items\tools\wrench.dm"
#include "code\game\objects\items\weapons\AI_modules.dm"
#include "code\game\objects\items\weapons\autopsy.dm"
+#include "code\game\objects\items\weapons\basketball.dm"
#include "code\game\objects\items\weapons\beachball.dm"
#include "code\game\objects\items\weapons\candle.dm"
#include "code\game\objects\items\weapons\cane.dm"
@@ -1305,6 +1322,7 @@
#include "code\game\objects\structures\girders.dm"
#include "code\game\objects\structures\grille.dm"
#include "code\game\objects\structures\handrail.dm"
+#include "code\game\objects\structures\hoop.dm"
#include "code\game\objects\structures\inflatable.dm"
#include "code\game\objects\structures\iv_drip.dm"
#include "code\game\objects\structures\janicart.dm"
@@ -1633,7 +1651,6 @@
#include "code\modules\client\preferences_persist.dm"
#include "code\modules\client\preferences_spawnpoints.dm"
#include "code\modules\client\preferences_storage.dm"
-#include "code\modules\client\preferences_toggle.dm"
#include "code\modules\client\settings.dm"
#include "code\modules\client\ui_style.dm"
#include "code\modules\client\preference_setup\_defines.dm"
@@ -1785,6 +1802,7 @@
#include "code\modules\clothing\under\accessories\holster.dm"
#include "code\modules\clothing\under\accessories\lockets.dm"
#include "code\modules\clothing\under\accessories\medals.dm"
+#include "code\modules\clothing\under\accessories\pins.dm"
#include "code\modules\clothing\under\accessories\stethoscope.dm"
#include "code\modules\clothing\under\accessories\storage.dm"
#include "code\modules\clothing\under\accessories\ties.dm"
@@ -1834,11 +1852,9 @@
#include "code\modules\error_handler\error_reporting.dm"
#include "code\modules\error_handler\error_viewer.dm"
#include "code\modules\examine\examine.dm"
-#include "code\modules\examine\descriptions\armor.dm"
#include "code\modules\examine\descriptions\atmospherics.dm"
#include "code\modules\examine\descriptions\drink_containers.dm"
#include "code\modules\examine\descriptions\engineering.dm"
-#include "code\modules\examine\descriptions\items.dm"
#include "code\modules\examine\descriptions\machinery.dm"
#include "code\modules\examine\descriptions\medical.dm"
#include "code\modules\examine\descriptions\mobs.dm"
@@ -1860,9 +1876,11 @@
#include "code\modules\games\tarot.dm"
#include "code\modules\genetics\side_effects.dm"
#include "code\modules\ghosttrap\trap.dm"
-#include "code\modules\holodeck\HolodeckControl.dm"
-#include "code\modules\holodeck\HolodeckObjects.dm"
-#include "code\modules\holodeck\HolodeckPrograms.dm"
+#include "code\modules\holodeck\computer.dm"
+#include "code\modules\holodeck\effects.dm"
+#include "code\modules\holodeck\objects.dm"
+#include "code\modules\holodeck\templates.dm"
+#include "code\modules\holodeck\turfs.dm"
#include "code\modules\holomaps\_holomap_defines.dm"
#include "code\modules\holomaps\holochip.dm"
#include "code\modules\holomaps\holomap.dm"
@@ -2171,7 +2189,6 @@
#include "code\modules\mob\living\deity\deity_phenomena.dm"
#include "code\modules\mob\living\deity\deity_pylon.dm"
#include "code\modules\mob\living\deity\deity_sources.dm"
-#include "code\modules\mob\living\deity\deity_Stat.dm"
#include "code\modules\mob\living\deity\deity_topic.dm"
#include "code\modules\mob\living\deity\deity_tracking.dm"
#include "code\modules\mob\living\deity\forms.dm"
@@ -2249,7 +2266,6 @@
#include "code\modules\mob\living\simple_animal\mob_ai.dm"
#include "code\modules\mob\living\simple_animal\shade.dm"
#include "code\modules\mob\living\simple_animal\simple_animal.dm"
-#include "code\modules\mob\living\simple_animal\worm.dm"
#include "code\modules\mob\living\simple_animal\borer\borer.dm"
#include "code\modules\mob\living\simple_animal\borer\borer_captive.dm"
#include "code\modules\mob\living\simple_animal\borer\borer_powers.dm"
@@ -2520,6 +2536,8 @@
#include "code\modules\paperwork\photography.dm"
#include "code\modules\paperwork\silicon_photography.dm"
#include "code\modules\paperwork\stamps.dm"
+#include "code\modules\particles\particle_emitter.dm"
+#include "code\modules\particles\particles.dm"
#include "code\modules\power\apc.dm"
#include "code\modules\power\batteryrack.dm"
#include "code\modules\power\breaker_box.dm"
@@ -2612,6 +2630,7 @@
#include "code\modules\projectiles\guns\projectile\revolver.dm"
#include "code\modules\projectiles\guns\projectile\shotgun.dm"
#include "code\modules\projectiles\guns\projectile\sniper.dm"
+#include "code\modules\projectiles\guns\special\meathook.dm"
#include "code\modules\projectiles\projectile\animate.dm"
#include "code\modules\projectiles\projectile\beams.dm"
#include "code\modules\projectiles\projectile\bullets.dm"
@@ -2673,6 +2692,7 @@
#include "code\modules\reagents\reagent_dispenser.dm"
#include "code\modules\reagents\Chemistry-Reagents\basic.dm"
#include "code\modules\reagents\Chemistry-Reagents\blood.dm"
+#include "code\modules\reagents\Chemistry-Reagents\caffeine.dm"
#include "code\modules\reagents\Chemistry-Reagents\ethanol.dm"
#include "code\modules\reagents\Chemistry-Reagents\food_drinks.dm"
#include "code\modules\reagents\Chemistry-Reagents\medicine.dm"
@@ -2812,6 +2832,7 @@
#include "code\modules\spells\aoe_turf\conjure\grove.dm"
#include "code\modules\spells\aoe_turf\conjure\tombstone.dm"
#include "code\modules\spells\artifacts\ghost_gramophone.dm"
+#include "code\modules\spells\artifacts\immovable_wand.dm"
#include "code\modules\spells\artifacts\monster_manual.dm"
#include "code\modules\spells\artifacts\plague_bell.dm"
#include "code\modules\spells\artifacts\storage.dm"
@@ -2821,6 +2842,7 @@
#include "code\modules\spells\classes\battlemage.dm"
#include "code\modules\spells\classes\cleric.dm"
#include "code\modules\spells\classes\druid.dm"
+#include "code\modules\spells\classes\musclemancer.dm"
#include "code\modules\spells\classes\necromancer.dm"
#include "code\modules\spells\classes\spatial.dm"
#include "code\modules\spells\classes\standard.dm"
@@ -2832,13 +2854,17 @@
#include "code\modules\spells\general\blood_shards.dm"
#include "code\modules\spells\general\contract_spells.dm"
#include "code\modules\spells\general\create_air.dm"
+#include "code\modules\spells\general\gastrocnemius_magic.dm"
#include "code\modules\spells\general\god_construct.dm"
#include "code\modules\spells\general\god_vision.dm"
+#include "code\modules\spells\general\healthy_sleep.dm"
#include "code\modules\spells\general\mark_recall.dm"
#include "code\modules\spells\general\radiant_aura.dm"
#include "code\modules\spells\general\return_master.dm"
#include "code\modules\spells\general\tear_veil.dm"
+#include "code\modules\spells\hand\biceps_magic.dm"
#include "code\modules\spells\hand\burning_grip.dm"
+#include "code\modules\spells\hand\deltoid_magic.dm"
#include "code\modules\spells\hand\entangle.dm"
#include "code\modules\spells\hand\hand.dm"
#include "code\modules\spells\hand\hand_item.dm"
@@ -2861,6 +2887,7 @@
#include "code\modules\spells\targeted\swap.dm"
#include "code\modules\spells\targeted\targeted.dm"
#include "code\modules\spells\targeted\torment.dm"
+#include "code\modules\spells\targeted\equip\cream_puff.dm"
#include "code\modules\spells\targeted\equip\dyrnwyn.dm"
#include "code\modules\spells\targeted\equip\equip.dm"
#include "code\modules\spells\targeted\equip\holy_relic.dm"
@@ -2875,6 +2902,7 @@
#include "code\modules\spells\targeted\projectile\passage.dm"
#include "code\modules\spells\targeted\projectile\projectile.dm"
#include "code\modules\spells\targeted\projectile\stuncuff.dm"
+#include "code\modules\spells\toggled\hamstring_magic.dm"
#include "code\modules\spells\toggled\immaterial_form.dm"
#include "code\modules\spells\toggled\lich_form.dm"
#include "code\modules\spells\toggled\toggled.dm"
@@ -2929,6 +2957,7 @@
#include "code\modules\tgui\states\hands.dm"
#include "code\modules\tgui\states\human_adjacent.dm"
#include "code\modules\tgui\states\inventory.dm"
+#include "code\modules\tgui\states\language_menu.dm"
#include "code\modules\tgui\states\machinery.dm"
#include "code\modules\tgui\states\machinery_noacess.dm"
#include "code\modules\tgui\states\never.dm"
@@ -2941,6 +2970,7 @@
#include "code\modules\tgui\states\zlevel.dm"
#include "code\modules\tgui_input\alert.dm"
#include "code\modules\tgui_input\checkboxes.dm"
+#include "code\modules\tgui_input\color.dm"
#include "code\modules\tgui_input\list.dm"
#include "code\modules\tgui_input\number.dm"
#include "code\modules\tgui_input\text.dm"
@@ -3085,9 +3115,11 @@
#include "maps\derelicts\snow_asteroid\snow_asteroid.dm"
#include "maps\eclipse\eclipse_areas.dm"
#include "maps\eclipse\eclipse_define.dm"
-#include "maps\eclipse\eclipse_holodecks.dm"
#include "maps\eclipse\eclipse_levels.dm"
#include "maps\eclipse\eclipse_shuttles.dm"
+#include "maps\entrepot\entrepot_areas.dm"
+#include "maps\entrepot\entrepot_define.dm"
+#include "maps\entrepot\entrepot_levels.dm"
#include "maps\example\example_areas.dm"
#include "maps\example\example_define.dm"
#include "maps\example\example_levels.dm"
@@ -3098,7 +3130,6 @@
#include "maps\frontier\ent_biodome.dm"
#include "maps\frontier\frontier_areas.dm"
#include "maps\frontier\frontier_define.dm"
-#include "maps\frontier\frontier_holodecks.dm"
#include "maps\frontier\frontier_levels.dm"
#include "maps\genesis\genesis_define.dm"
#include "maps\genesis\genesis_levels.dm"
diff --git a/code/__defines/MC.dm b/code/__defines/MC.dm
index 136ef99fed9..1cd27a31a4b 100644
--- a/code/__defines/MC.dm
+++ b/code/__defines/MC.dm
@@ -73,55 +73,6 @@ if(Datum.is_processing) {\
// This flag overrides SS_KEEP_TIMING
#define SS_POST_FIRE_TIMING 64
-//! ## Timing subsystem
-/**
- * Don't run if there is an identical unique timer active
- *
- * if the arguments to addtimer are the same as an existing timer, it doesn't create a new timer,
- * and returns the id of the existing timer
- */
-#define TIMER_UNIQUE (1<<0)
-
-/// For unique timers: Replace the old timer rather then not start this one
-#define TIMER_OVERRIDE (1<<1)
-
-/**
- * Timing should be based on how timing progresses on clients, not the server.
- *
- * Tracking this is more expensive,
- * should only be used in conjuction with things that have to progress client side, such as
- * animate() or sound()
- */
-#define TIMER_CLIENT_TIME (1<<2)
-
-/// Timer can be stopped using deltimer()
-#define TIMER_STOPPABLE (1<<3)
-
-/// prevents distinguishing identical timers with the wait variable
-///
-/// To be used with TIMER_UNIQUE
-#define TIMER_NO_HASH_WAIT (1<<4)
-
-/// Loops the timer repeatedly until qdeleted
-///
-/// In most cases you want a subsystem instead, so don't use this unless you have a good reason
-#define TIMER_LOOP (1<<5)
-
-/// Delete the timer on parent datum Destroy() and when deltimer'd
-#define TIMER_DELETE_ME (1<<6)
-
-/// Empty ID define
-#define TIMER_ID_NULL -1
-
-/**
- Create a new timer and add it to the queue.
- * Arguments:
- * * callback the callback to call on timer finish
- * * wait deciseconds to run the timer for
- * * flags flags for this timer, see: code\__DEFINES\subsystems.dm
-*/
-#define addtimer(args...) _addtimer(args, file = __FILE__, line = __LINE__)
-
//SUBSYSTEM STATES
#define SS_IDLE 0 //aint doing shit.
#define SS_QUEUED 1 //queued to run
diff --git a/code/__defines/__initialization.dm b/code/__defines/__initialization.dm
index a444a592ca2..40fc66f5aa3 100644
--- a/code/__defines/__initialization.dm
+++ b/code/__defines/__initialization.dm
@@ -8,7 +8,7 @@
#define INITIALIZE_HINT_QDEL 2 //Call qdel on the atom
#define INITIALIZE_HINT_QDEL_FORCE 3// Call qdel with a force of TRUE after initialization
-#define ATOM_FLAG_INITIALIZED 0x0001 // The atom has been initialized. Also see flags.dm
+#define ATOM_FLAG_INITIALIZED (1<<0) // The atom has been initialized. Also see flags.dm
//type and all subtypes should always call Initialize in New()
#define INITIALIZE_IMMEDIATE(X) ##X/New(loc, ...){\
diff --git a/code/__defines/__qdel.dm b/code/__defines/__qdel.dm
index dead7ae675b..1f434c4eae5 100644
--- a/code/__defines/__qdel.dm
+++ b/code/__defines/__qdel.dm
@@ -31,6 +31,6 @@
#define QDEL_NULL(x) if(x) { qdel(x) ; x = null }
#define QDEL_LIST(L) if(L) { for(var/I in L) qdel(I); L.Cut(); }
#define QDEL_NULL_LIST(x) if(x) { for(var/y in x) { qdel(y) } ; x = null }
-#define QDEL_IN(item, time) addtimer(CALLBACK(GLOBAL_PROC, /proc/qdel, time > GC_FILTER_QUEUE ? weakref(item) : item), time, TIMER_STOPPABLE)
+#define QDEL_IN(item, ttl) spawn(ttl) {qdel(item)}
#define QDEL_LIST_ASSOC(L) if(L) { for(var/I in L) { qdel(L[I]); qdel(I); } L.Cut(); }
#define QDEL_LIST_ASSOC_VAL(L) if(L) { for(var/I in L) qdel(L[I]); L.Cut(); }
diff --git a/code/__defines/__renderer.dm b/code/__defines/__renderer.dm
index 98d1412040c..1e2b5f37822 100644
--- a/code/__defines/__renderer.dm
+++ b/code/__defines/__renderer.dm
@@ -21,10 +21,12 @@
#define CLICKCATCHER_PLANE -100
-#define OPENSPACE_PLANE -8
-#define OVER_OPENSPACE_PLANE -7
+#define OPENSPACE_PLANE -9
+#define OVER_OPENSPACE_PLANE -8
-#define WARP_EFFECT_PLANE -6
+#define WARP_EFFECT_PLANE -7
+
+#define TEMPERATURE_EFFECT_PLANE -6
#define BLACKNESS_PLANE -5 //Blackness plane as per DM documentation.
@@ -181,23 +183,28 @@
//-------------------- Rendering ---------------------
-#define LETTERBOX_RENDERER "LETTERBOX"
-#define SPACE_RENDERER "SPACE"
-#define SKYBOX_RENDERER "SKYBOX"
-#define TURF_RENDERER "TURF"
-#define GAME_RENDERER "GAME"
-#define OBSERVERS_RENDERER "OBSERVERS"
-#define LIGHTING_RENDERER "LIGHTING"
-#define ABOVE_LIGHTING_RENDERER "ABOVE_LIGHTING"
-#define SCREEN_EFFECTS_RENDERER "SCREEN_EFFECTS"
-#define INTERFACE_RENDERER "INTERFACE"
-#define OPEN_SPACE_RENDERER "OPEN_SPACE"
-#define WARP_EFFECT_RENDERER "WARP_EFFECT"
-#define OBFUSCATION_RENDERER "OBFUSCATION"
-
-#define SCENE_GROUP_RENDERER "SCENE_GROUP"
-#define SCREEN_GROUP_RENDERER "SCREEN_GROUP"
-#define FINAL_GROUP_RENDERER "FINAL_GROUP"
+#define LETTERBOX_RENDERER "LETTERBOX"
+#define SPACE_RENDERER "SPACE"
+#define SKYBOX_RENDERER "SKYBOX"
+#define TURF_RENDERER "TURF"
+#define GAME_RENDERER "GAME"
+#define OBSERVERS_RENDERER "OBSERVERS"
+#define LIGHTING_RENDERER "LIGHTING"
+#define ABOVE_LIGHTING_RENDERER "ABOVE_LIGHTING"
+#define SCREEN_EFFECTS_RENDERER "SCREEN_EFFECTS"
+#define INTERFACE_RENDERER "INTERFACE"
+#define OPEN_SPACE_RENDERER "OPEN_SPACE"
+#define WARP_EFFECT_RENDERER "WARP_EFFECT"
+#define TEMPERATURE_EFFECT_RENDERER "TEMPERATURE"
+#define HEAT_EFFECT_TARGET "*heat"
+#define TEMPERATURE_COMPOSITE_TARGET "*tempc"
+#define STEAM_EFFECT_TARGET "*steam"
+#define STEAM_COMPOSITE_TARGET "*steamc"
+#define OBFUSCATION_RENDERER "OBFUSCATION"
+
+#define SCENE_GROUP_RENDERER "SCENE_GROUP"
+#define SCREEN_GROUP_RENDERER "SCREEN_GROUP"
+#define FINAL_GROUP_RENDERER "FINAL_GROUP"
/// Semantics - The final compositor or a filter effect renderer
#define RENDER_GROUP_NONE null
diff --git a/code/__defines/_render.dm b/code/__defines/_render.dm
index acda56ceb28..361c8e04f8d 100644
--- a/code/__defines/_render.dm
+++ b/code/__defines/_render.dm
@@ -279,6 +279,7 @@ INITIALIZE_IMMEDIATE(/atom/movable/renderer)
/atom/movable/renderer/scene_group/Initialize()
. = ..()
add_filter(WARP_EFFECT_RENDERER,0,list(type = "displace", render_source = "*warp", size = 5))
+ add_filter(TEMPERATURE_EFFECT_RENDERER, 0, list(type = "displace", render_source = TEMPERATURE_COMPOSITE_TARGET, size = 2.5))
/// Example of a warp filter for /renderer use
/obj/effect/effect/warp
@@ -289,6 +290,66 @@ INITIALIZE_IMMEDIATE(/atom/movable/renderer)
pixel_x = -176
pixel_y = -176
+/// Renders temperature effects from cold/hot air
+/atom/movable/renderer/heat
+ name = TEMPERATURE_EFFECT_RENDERER
+ group = RENDER_GROUP_NONE
+ plane = TEMPERATURE_EFFECT_PLANE
+ render_target_name = TEMPERATURE_COMPOSITE_TARGET
+ mouse_opacity = MOUSE_OPACITY_UNCLICKABLE
+
+ var/obj/gas_heat_object = null
+ var/obj/steam_object = null
+
+/atom/movable/renderer/heat/Initialize(mapload, mob/owner)
+ . = ..()
+ Setup()
+
+/atom/movable/renderer/heat/GraphicsUpdate()
+ . = ..()
+ Setup()
+
+/atom/movable/renderer/heat/proc/Setup()
+ if(gas_heat_object)
+ vis_contents -= gas_heat_object
+ QDEL_NULL(gas_heat_object)
+
+ if(steam_object)
+ vis_contents -= steam_object
+ QDEL_NULL(steam_object)
+
+ if(!owner?.client)
+ return
+
+ var/quality = owner.get_preference_value(/datum/client_preference/graphics_quality)
+
+ switch(quality)
+ if(GLOB.PREF_LOW)
+ gas_heat_object = new /atom/movable/heat_effect(null)
+ steam_object = new /atom/movable/steam_effect(null)
+ if(GLOB.PREF_MED)
+ gas_heat_object = new /atom/movable/particle_emitter/heat(null)
+ steam_object = new /atom/movable/particle_emitter/steam(null)
+ else
+ gas_heat_object = new /atom/movable/particle_emitter/heat/high(null)
+ steam_object = new /atom/movable/particle_emitter/steam(null)
+
+ vis_contents += gas_heat_object
+ vis_contents += steam_object
+
+/atom/movable/heat_effect
+ icon = 'icons/effects/fire.dmi'
+ icon_state = "3"
+ appearance_flags = PIXEL_SCALE | NO_CLIENT_COLOR
+ render_target = HEAT_EFFECT_TARGET
+ mouse_opacity = MOUSE_OPACITY_UNCLICKABLE
+
+/atom/movable/steam_effect
+ icon = 'icons/effects/effects.dmi'
+ icon_state = "smoke"
+ appearance_flags = PIXEL_SCALE | NO_CLIENT_COLOR
+ render_target = STEAM_EFFECT_TARGET
+ mouse_opacity = MOUSE_OPACITY_UNCLICKABLE
/* *
* This system works by exploiting BYONDs color matrix filter to use layers to handle emissive blockers.
diff --git a/code/__defines/ces/signals_atom.dm b/code/__defines/ces/signals_atom.dm
index 04c83054120..1c79113aa3c 100644
--- a/code/__defines/ces/signals_atom.dm
+++ b/code/__defines/ces/signals_atom.dm
@@ -30,3 +30,15 @@
/// Called on `/atom/movable/set_glide_size` (new_glide_size)
#define SIGNAL_UPDATE_GLIDE_SIZE "movable_glide_size"
+
+/// Called on `/atom/proc/examine` (mob/user, list/examine_result)
+#define SIGNAL_EXAMINED "examined"
+
+/// Called on `/atom/proc/examine` (mob/user, list/examine_result)
+#define SIGNAL_EXAMINED_MORE "examined_more"
+
+/// Called on `/atom/AltClick` (/atom)
+#define SIGNAL_ALT_CLICKED "atom_alt_click"
+
+/// Called on `/atom/CtrlAltClick` (/atom)
+#define SIGNAL_CTRL_ALT_CLICKED "atom_ctrl_alt_click"
diff --git a/code/__defines/ces/signals_mob.dm b/code/__defines/ces/signals_mob.dm
index 80bc11dfd61..069c4a97dbf 100644
--- a/code/__defines/ces/signals_mob.dm
+++ b/code/__defines/ces/signals_mob.dm
@@ -22,8 +22,11 @@
/// from turf CtrlClickOn(): (/mob)
#define SIGNAL_MOB_CTRL_CLICK "mob_ctrl_click"
-/// Called on '/mob/proc/add_spell' (/mob, )
-#define SIGNAL_MOB_SPELL_LEARNED "mob_spell_learned"
-
/// Called on '/mob/proc/update_movespeed()' (/mob)
#define SIGNAL_MOB_MOVESPEED_UPDATED "mob_movespeed_updated"
+
+/// Called on `/atom/proc/examine` (mob/user, list/examine_result)
+#define SIGNAL_MOB_EXAMINED "mob_examined"
+
+/// Called on `/atom/proc/examine` (mob/user, list/examine_result)
+#define SIGNAL_MOB_EXAMINED_MORE "mob_examined_more"
diff --git a/code/__defines/dna.dm b/code/__defines/dna.dm
index 6b5f1c33bd0..dc387f89fae 100644
--- a/code/__defines/dna.dm
+++ b/code/__defines/dna.dm
@@ -9,6 +9,7 @@
#define MUTATION_LASER 8 // Harm intent - click anywhere to shoot lasers from eyes.
#define MUTATION_SKELETON 9
#define MUTATION_BARTENDER 10 // You can professionally do miracles with bottles and other vessels
+#define MUTATION_STRONG 11 // Basically hulk, but without greens.
// Other Mutations:
#define mRemotetalk 100 // Remote talking.
diff --git a/code/__defines/flags.dm b/code/__defines/flags.dm
index b6e28e14c5c..8afe52b0dfc 100644
--- a/code/__defines/flags.dm
+++ b/code/__defines/flags.dm
@@ -12,20 +12,39 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204
// Flags bitmasks.
// NOTE: We declare ATOM_FLAG_INITIALIZED earlier, in __initialization.dm, as FLAG(0)
-#define ATOM_FLAG_CHECKS_BORDER 0x0002 // If a dense atom (potentially) only blocks movements from a given direction, i.e. window panes
-#define ATOM_FLAG_CLIMBABLE 0x0004 // This object can be climbed on
-#define ATOM_FLAG_NO_BLOOD 0x0008 // Used for items if they don't want to get a blood overlay.
-#define ATOM_FLAG_NO_REACT 0x0010 // Reagents don't react inside this container.
-#define ATOM_FLAG_OPEN_CONTAINER 0x0020 // Is an open container for chemistry purposes.
-#define ATOM_FLAG_FULLTILE_OBJECT 0x0040 // Blocks interactions with most atoms on the same tile, except mobs, items and anything that has the flag below, i.e. fulltile windows
-#define ATOM_FLAG_ADJACENT_EXCEPTION 0x0080 // Skips adjacent checks for atoms that should always be reachable in window tiles
-#define ATOM_FLAG_IGNORE_RADIATION 0x0100 // It will not produce any radiation when it will be a radiation source.
-#define ATOM_AWAITING_OVERLAY_UPDATE 0x0400 // SSoverlays must update this atom's overlays.
-#define ATOM_FLAG_SILENTCONTAINER 0x0800 // Chemical reaction won't trigger bubbling sound
-#define ATOM_FLAG_UNPUSHABLE 0x1000 // This atom can't be pushed when bumped
+/// If a dense atom (potentially) only blocks movements from a given direction, i.e. window panes
+#define ATOM_FLAG_CHECKS_BORDER (1<<1)
+/// This object can be climbed on.
+#define ATOM_FLAG_CLIMBABLE (1<<2)
+/// Used for items if they don't want to get a blood overlay.
+#define ATOM_FLAG_NO_BLOOD (1<<3)
+/// Reagents don't react inside this container.
+#define ATOM_FLAG_NO_REACT (1<<4)
+/// Is an open container for chemistry purposes.
+#define ATOM_FLAG_OPEN_CONTAINER (1<<5)
+/// Blocks interactions with most atoms on the same tile, except mobs, items and anything that has the flag below, i.e. fulltile windows.
+#define ATOM_FLAG_FULLTILE_OBJECT (1<<6)
+/// Skips adjacent checks for atoms that should always be reachable in window tiles.
+#define ATOM_FLAG_ADJACENT_EXCEPTION (1<<7)
+/// It will not produce any radiation when it will be a radiation source.
+#define ATOM_FLAG_IGNORE_RADIATION (1<<8)
+/// SSoverlays must update this atom's overlays.
+#define ATOM_AWAITING_OVERLAY_UPDATE (1<<9)
+/// Chemical reaction won't trigger bubbling sound.
+#define ATOM_FLAG_SILENTCONTAINER (1<<10)
+/// This atom can't be pushed when bumped.
+#define ATOM_FLAG_UNPUSHABLE (1<<11)
+/// This atom was spawned inside a holodeck as a hologram, handle accrodingly.
+#define ATOM_FLAG_HOLOGRAM (1<<12)
+/// This atom can'be deconstructed by a normal means.
+#define ATOM_FLAG_NO_DECONSTRUCTION (1<<13)
-#define OBJ_FLAG_ANCHORABLE 0x0001 // This object can be stuck in place with a tool
-#define OBJ_FLAG_CONDUCTIBLE 0x0002 // Conducts electricity. (metal etc.)
+/// This object can be stuck in place with a tool
+#define OBJ_FLAG_ANCHORABLE (1<<0)
+/// Conducts electricity. (metal etc.)
+#define OBJ_FLAG_CONDUCTIBLE (1<<1)
+/// Can't rotate while anchored
+#define OBJ_FLAG_ANCHOR_BLOCKS_ROTATION (1<<2)
#define MOB_FLAG_HOLY_BAD 0x001 // If this mob is allergic to holiness
diff --git a/code/__defines/languages.dm b/code/__defines/languages.dm
index 5fd7cefed8c..0ea0f2de27e 100644
--- a/code/__defines/languages.dm
+++ b/code/__defines/languages.dm
@@ -20,13 +20,23 @@
#define LANGUAGE_SPIDER "Spider"
// Language flags.
-#define WHITELISTED 1 // Language is available if the speaker is whitelisted.
-#define RESTRICTED 2 // Language can only be acquired by spawning or an admin.
-#define NONVERBAL 4 // Language has a significant non-verbal component. Speech is garbled without line-of-sight.
-#define SIGNLANG 8 // Language is completely non-verbal. Speech is displayed through emotes for those who can understand.
-#define HIVEMIND 16 // Broadcast to all mobs with this language.
-#define NONGLOBAL 32 // Do not add to general languages list.
-#define INNATE 64 // All mobs can be assumed to speak and understand this language. (audible emotes)
-#define NO_TALK_MSG 128 // Do not show the "\The [speaker] talks into \the [radio]" message
-#define NO_STUTTER 256 // No stuttering, slurring, or other speech problems
-#define ALT_TRANSMIT 512 // Language is not based on vision or sound (Todo: add this into the say code and use it for the rootspeak languages)
+/// Language is available if the speaker is whitelisted
+#define WHITELISTED (1<<0)
+/// Language can only be acquired by spawning or an admin.
+#define RESTRICTED (1<<1)
+/// Language has a significant non-verbal component. Speech is garbled without line-of-sight.
+#define NONVERBAL (1<<2)
+/// Language is completely non-verbal. Speech is displayed through emotes for those who can understand.
+#define SIGNLANG (1<<3)
+/// Broadcast to all mobs with this language.
+#define HIVEMIND (1<<4)
+/// Do not add to general languages list.
+#define NONGLOBAL (1<<5)
+/// All mobs can be assumed to speak and understand this language. (audible emotes)
+#define INNATE (1<<6)
+/// Do not show the "\The [speaker] talks into \the [radio]" message
+#define NO_TALK_MSG (1<<7)
+/// No stuttering, slurring, or other speech problems
+#define NO_STUTTER (1<<8)
+/// Language is not based on vision or sound (Todo: add this into the say code and use it for the rootspeak languages)
+#define ALT_TRANSMIT (1<<9)
diff --git a/code/__defines/materials.dm b/code/__defines/materials.dm
index 490efa84ad9..bea248ec9ad 100644
--- a/code/__defines/materials.dm
+++ b/code/__defines/materials.dm
@@ -31,6 +31,7 @@
#define MATERIAL_OSMIUM_CARBIDE_PLASTEEL "osmium-carbide plasteel"
#define MATERIAL_OSMIUM "osmium"
#define MATERIAL_HYDROGEN "hydrogen"
+#define MATERIAL_ADAMANTINE "adamantine"
#define MATERIAL_WASTE "waste"
#define MATERIAL_ELEVATORIUM "elevatorium"
#define MATERIAL_ALIUMIUM "aliumium"
@@ -84,6 +85,7 @@
MATERIAL_LEATHER = icon(MATERIALS_ICON, "leather"),
MATERIAL_IRON = icon(MATERIALS_ICON, "iron"),
MATERIAL_PLATINUM = icon(MATERIALS_ICON, "adamantine"),
+ MATERIAL_ADAMANTINE = icon(MATERIALS_ICON, "adamantine"),
MATERIAL_BRONZE = icon(MATERIALS_ICON, "bronze"),
MATERIAL_REINFORCED_GLASS = icon(MATERIALS_ICON, "rglass"),
MATERIAL_PLASS = icon(MATERIALS_ICON, "plass"),
diff --git a/code/__defines/misc.dm b/code/__defines/misc.dm
index b8ca838fb06..1848b150bfe 100644
--- a/code/__defines/misc.dm
+++ b/code/__defines/misc.dm
@@ -252,9 +252,6 @@
#define CLIENT_FROM_VAR(I) (ismob(I) ? I:client : (istype(I, /client) ? I : (istype(I, /datum/mind) ? I:current?:client : null)))
#define GRAYSCALE list(0.3,0.3,0.3,0,0.59,0.59,0.59,0,0.11,0.11,0.11,0,0,0,0,1,0,0,0,0)
-#define ADD_VERB_IN(the_atom,time,verb) addtimer(CALLBACK(the_atom, nameof(/atom.proc/add_verb), verb), time, TIMER_UNIQUE | TIMER_OVERRIDE | TIMER_NO_HASH_WAIT)
-#define ADD_VERB_IN_IF(the_atom,time,verb,callback) addtimer(CALLBACK(the_atom, nameof(/atom.proc/add_verb), verb, callback), time, TIMER_UNIQUE | TIMER_OVERRIDE | TIMER_NO_HASH_WAIT)
-
//Wiki book styles
#define WIKI_FULL 1 // This is a standart web page. Beware, navigaton throw the internet is allowed!
#define WIKI_MINI 2 // This is a beautiful copy of wiki topic. Beware, font is really small!
diff --git a/code/__defines/mobs.dm b/code/__defines/mobs.dm
index ebb5a08343f..10fb346aed0 100644
--- a/code/__defines/mobs.dm
+++ b/code/__defines/mobs.dm
@@ -19,6 +19,7 @@
// Grab Types
#define GRAB_NORMAL "normal"
+#define GRAB_QUICKCHOKE "choke"
// Grab levels.
#define NORM_PASSIVE "normal passive"
diff --git a/code/__defines/procpath.dm b/code/__defines/procpath.dm
new file mode 100644
index 00000000000..16716d6c091
--- /dev/null
+++ b/code/__defines/procpath.dm
@@ -0,0 +1,26 @@
+/// Represents a proc or verb path.
+///
+/// Despite having no DM-defined static type, proc paths have some variables,
+/// listed below. These are not modifiable, but for a given procpath P,
+/// `new P(null, "Name", "Desc")` can be used to create a new procpath with the
+/// same code but new `name` and `desc` values. The other variables cannot be
+/// changed in this way.
+///
+/// This type exists only to act as an annotation, providing reasonable static
+/// typing for procpaths. Previously, types like `/atom/verb` were used, with
+/// the `name` and `desc` vars of `/atom` thus being accessible. Proc and verb
+/// paths will fail `istype` and `ispath` checks against `/procpath`.
+/procpath
+ // Although these variables are effectively const, if they are marked const
+ // below, their accesses are optimized away.
+
+ /// A text string of the verb's name.
+ var/name = null as text|null
+ /// The verb's help text or description.
+ var/desc = null as text|null
+ /// The category or tab the verb will appear in.
+ var/category = null as text|null
+ /// Only clients/mobs with `see_invisibility` higher can use the verb.
+ var/invisibility = null as num|null
+ /// Whether or not the verb appears in statpanel and commandbar when you press space
+ var/hidden = null as num|null
diff --git a/code/__defines/prometheus.dm b/code/__defines/prometheus.dm
new file mode 100644
index 00000000000..9af03cad30d
--- /dev/null
+++ b/code/__defines/prometheus.dm
@@ -0,0 +1,16 @@
+#define PROM_MASTER_ITERATIONS "master_iterations"
+#define PROM_MASTER_TICK_DRIFT "master_tick_drift_ratio"
+#define PROM_SUBSYSTEM_COST "subsystem_cost_seconds"
+#define PROM_SUBSYSTEM_TICKS_TO_RUN "subsystem_ticks_to_run"
+#define PROM_SUBSYSTEM_TICK_USAGE "subsystem_tick_usage_ratio"
+#define PROM_SUBSYSTEM_TICK_OVERRUN "subsystem_tick_overrun_ratio"
+#define PROM_RUNTIMES "runtimes"
+#define PROM_TOTAL_PLAYERS "players_total"
+#define PROM_GC_QUEUED "gc_queued_total"
+#define PROM_GC_HARD_DELS "gc_hard_dels"
+#define PROM_GC_COLLECTED "gc_collected"
+#define PROM_GC_ITEM_QDELS "gc_item_qdels"
+#define PROM_GC_ITEM_FAILURES "gc_item_failures"
+#define PROM_GC_ITEM_HARD_DELETES "gc_item_hard_deletes"
+#define PROM_MOBS_TOTAL "mobs_total"
+#define PROM_MOBS_INSTANCE_TOTAL "mobs_instance_total"
diff --git a/code/__defines/research.dm b/code/__defines/research.dm
index a218e2d1036..8570e144a26 100644
--- a/code/__defines/research.dm
+++ b/code/__defines/research.dm
@@ -10,7 +10,6 @@
#define TECH_MAGNET "magnets"
#define TECH_DATA "programming"
#define TECH_ILLEGAL "syndicate"
-#define TECH_ARCANE "arcane"
#define IMPRINTER 0x1 //For circuits. Uses glass/chemicals.
#define PROTOLATHE 0x2 //New stuff. Uses glass/metal/chemicals
diff --git a/code/__defines/rust_g.dm b/code/__defines/rust_g.dm
index 93ca0a21e32..bf51314ef39 100644
--- a/code/__defines/rust_g.dm
+++ b/code/__defines/rust_g.dm
@@ -230,6 +230,46 @@
*/
#define rustg_generate_path_astar(start_node_id, goal_node_id) RUSTG_CALL(RUST_G, "generate_path_astar")("[start_node_id]", "[goal_node_id]")
+#define rustg_prom_init(port) RUSTG_CALL(RUST_G, "prom_init")(istext(port) ? port : num2text(port))
+
+#define rustg_prom_set_labels(labels) RUSTG_CALL(RUST_G, "prom_set_labels")(json_encode(labels))
+
+// Counters
+
+#define rustg_prom_counter_register(id, desc) RUSTG_CALL(RUST_G, "prom_counter_register")(id, desc)
+
+#define rustg_prom_counter_inc(id, labels) RUSTG_CALL(RUST_G, "prom_counter_inc")(id, json_encode(labels))
+
+#define rustg_prom_counter_inc_by(id, value, labels) RUSTG_CALL(RUST_G, "prom_counter_inc_by")(id, istext(value) ? value : num2text(value), json_encode(labels))
+
+// Integer gauges
+
+#define rustg_prom_gauge_int_register(id, desc) RUSTG_CALL(RUST_G, "prom_gauge_int_register")(id, desc)
+
+#define rustg_prom_gauge_int_inc(id, labels) RUSTG_CALL(RUST_G, "prom_gauge_int_inc")(id, json_encode(labels))
+
+#define rustg_prom_gauge_int_inc_by(id, value, labels) RUSTG_CALL(RUST_G, "prom_gauge_int_inc_by")(id, istext(value) ? value : num2text(value), json_encode(labels))
+
+#define rustg_prom_gauge_int_dec(id, labels) RUSTG_CALL(RUST_G, "prom_gauge_int_dec")(id, json_encode(labels))
+
+#define rustg_prom_gauge_int_dec_by(id, value, labels) RUSTG_CALL(RUST_G, "prom_gauge_int_dec_by")(id, istext(value) ? value : num2text(value), json_encode(labels))
+
+#define rustg_prom_gauge_int_set(id, value, labels) RUSTG_CALL(RUST_G, "prom_gauge_int_set")(id, istext(value) ? value : num2text(value), json_encode(labels))
+
+// Float gauges
+
+#define rustg_prom_gauge_float_register(id, desc) RUSTG_CALL(RUST_G, "prom_gauge_float_register")(id, desc)
+
+#define rustg_prom_gauge_float_inc(id, labels) RUSTG_CALL(RUST_G, "prom_gauge_float_inc")(id, json_encode(labels))
+
+#define rustg_prom_gauge_float_inc_by(id, value, labels) RUSTG_CALL(RUST_G, "prom_gauge_float_inc_by")(id, istext(value) ? value : num2text(value), json_encode(labels))
+
+#define rustg_prom_gauge_float_dec(id, labels) RUSTG_CALL(RUST_G, "prom_gauge_float_dec")(id), json_encode(labels)
+
+#define rustg_prom_gauge_float_dec_by(id, value, labels) RUSTG_CALL(RUST_G, "prom_gauge_float_dec_by")(id, istext(value) ? value : num2text(value), json_encode(labels))
+
+#define rustg_prom_gauge_float_set(id, value, labels) RUSTG_CALL(RUST_G, "prom_gauge_float_set")(id, istext(value) ? value : num2text(value), json_encode(labels))
+
// Simple
/// Returns a random integer in range from `i32::MIN` to `i32::MAX`
@@ -255,7 +295,7 @@
/// Returns a bool with a probability of numerator/denominator of being true. I.e. gen_ratio(2, 3) has chance of 2 in 3, or about 67%, of returning true.
/// If numerator == denominator, then the returned value is guaranteed to be true. If numerator == 0, then the returned value is guaranteed to be false.
-#define rustg_rand_ratio(nominator, denominator) text2num(RUSTG_CALL(RUST_G, "rand_ratio")(istext(nominator) ? nominator : num2text(nominator), istext(denominator) ? denominator : num2text(denominator)))
+#define rustg_rand_ratio(nominator, denominator) ext2num(RUSTG_CALL(RUST_G, "rand_ratio")(istext(nominator) ? nominator : num2text(nominator), istext(denominator) ? denominator : num2text(denominator)))
// Related to real-valued quantities that grow linearly (e.g. errors, offsets):
diff --git a/code/__defines/sound.dm b/code/__defines/sound.dm
index 328d7777a5d..4bb396ac38b 100644
--- a/code/__defines/sound.dm
+++ b/code/__defines/sound.dm
@@ -122,6 +122,7 @@
#define SFX_AMBIENT_ATMOSPHERICS "ambient_atmospherics"
#define SFX_AMBIENT_MORGUE "ambient_morgue"
#define SFX_AMBIENT_JUNGLE "ambient_jungle"
+#define SFX_AMBIENT_DESERT "ambient_desert"
// AMBIENT MUSIC
#define SFX_AMBIENT_MUSIC_NORMAL "ambient_music_normal"
@@ -129,6 +130,9 @@
#define SFX_AMBIENT_MUSIC_SPACE "ambient_music_space"
#define SFX_AMBIENT_MUSIC_SPACE_TRAVEL "ambient_music_space_travel"
#define SFX_AMBIENT_MUSIC_CENTCOMM "ambient_music_centcomm"
+#define SFX_AMBIENT_MUSIC_THUNDERDOME "ambient_music_court"
+#define SFX_AMBIENT_MUSIC_PICNIC "ambient_music_picnic"
+#define SFX_AMBIENT_MUSIC_COURT "ambient_music_court"
// ITEMS USING
#define SFX_USE_HANDCUFFS "use_handcuffs"
@@ -141,6 +145,7 @@
#define SFX_USE_LIGHTER "use_lighter"
#define SFX_USE_CHISEL "use_chisel"
#define SFX_KEYBOARD "use_keyboard"
+#define SFX_USE_KNOB "use_knob"
// PULLING
#define SFX_PULL_BODY "pull_body"
@@ -318,6 +323,9 @@
#define SFX_GEIGER_MODERATE "geiger_moderate"
#define SFX_GEIGER_HIGH "geiger_high"
#define SFX_GEIGER_VERY_HIGH "geiger_very_high"
+#define SFX_WELDING "welding_sound"
+#define SFX_WELDER_ACTIVATE "welder_activate"
+#define SFX_WELDER_DEACTIVATE "welder_deactivate"
// MISC
#define SFX_VENT "vent"
@@ -358,4 +366,10 @@
#define SFX_VENDING_DROP "vending_drop"
#define SFX_VENDING_GENERIC "vending_generic"
+
+// Lighting
+#define SFX_LIGHT_TUBE_ON "light_tube_on"
+#define SFX_LIGHT_BULB_ON "light_bulb_on"
+#define SFX_LIGHT_BURNOUT "light_burnout"
+
#define GET_SFX(name) pick(GLOB.sfx_list[name])
diff --git a/code/__defines/species.dm b/code/__defines/species.dm
index b19db82d5d9..791eefa9779 100644
--- a/code/__defines/species.dm
+++ b/code/__defines/species.dm
@@ -1,18 +1,33 @@
// Species flags.
-#define SPECIES_FLAG_NO_MINOR_CUT 0x0001 // Can step on broken glass with no ill-effects. Either thick skin (diona/vox), cut resistant (metroids) or incorporeal (shadows)
-#define SPECIES_FLAG_IS_PLANT 0x0002 // Is a treeperson.
-#define SPECIES_FLAG_NO_SCAN 0x0004 // Cannot be scanned in a DNA machine/genome-stolen.
-#define SPECIES_FLAG_NO_PAIN 0x0008 // Cannot suffer halloss/recieves deceptive health indicator.
-#define SPECIES_FLAG_NO_SLIP 0x0010 // Cannot fall over.
-#define SPECIES_FLAG_NO_POISON 0x0020 // Cannot not suffer toxloss.
-#define SPECIES_FLAG_NO_EMBED 0x0040 // Can step on broken glass with no ill-effects and cannot have shrapnel embedded in it.
-#define SPECIES_FLAG_CAN_NAB 0x0080 // Uses the special set of grab rules.
-#define SPECIES_FLAG_NO_BLOCK 0x0100 // Unable to block or defend itself from attackers.
-#define SPECIES_FLAG_NEED_DIRECT_ABSORB 0x0200 // This species can only have their DNA taken by direct absorption.
-#define SPECIES_FLAG_NO_TANGLE 0x0400 // This species wont get tangled up in weeds
-#define SPECIES_FLAG_NO_BLOOD 0x0800 // Cannot be drained by vampire, machine, diona, golem.
-#define SPECIES_FLAG_NO_ANTAG_TARGET 0x1000 // Cannot be randomly chosen as a target for antag objectives or traitor contracts (i.e. assassination).
-#define SPECIES_FLAG_NO_FIRE 0x2000 // Cannot be ignited
+/// Can step on broken glass with no ill-effects. Either thick skin (diona/vox), cut resistant (metroids) or incorporeal (shadows)
+#define SPECIES_FLAG_NO_MINOR_CUT (1<<1)
+/// Is a treeperson.
+#define SPECIES_FLAG_IS_PLANT (1<<2)
+/// Cannot be scanned in a DNA machine/genome-stolen.
+#define SPECIES_FLAG_NO_SCAN (1<<3)
+/// Cannot suffer halloss/recieves deceptive health indicator.
+#define SPECIES_FLAG_NO_PAIN (1<<4)
+/// Cannot fall over.
+#define SPECIES_FLAG_NO_SLIP (1<<5)
+/// Cannot not suffer toxloss.
+#define SPECIES_FLAG_NO_POISON (1<<6)
+/// Can step on broken glass with no ill-effects and cannot have shrapnel embedded in it.
+#define SPECIES_FLAG_NO_EMBED (1<<7)
+/// Uses the special set of grab rules.
+#define SPECIES_FLAG_CAN_NAB (1<<8)
+/// Unable to block or defend itself from attackers.
+#define SPECIES_FLAG_NO_BLOCK (1<<9)
+/// This species can only have their DNA taken by direct absorption.
+#define SPECIES_FLAG_NEED_DIRECT_ABSORB (1<<10)
+/// This species wont get tangled up in weeds
+#define SPECIES_FLAG_NO_TANGLE (1<<11)
+/// Cannot be drained by vampire, machine, diona, golem.
+#define SPECIES_FLAG_NO_BLOOD (1<<12)
+/// Cannot be randomly chosen as a target for antag objectives or traitor contracts (i.e. assassination).
+#define SPECIES_FLAG_NO_ANTAG_TARGET (1<<13)
+/// Cannot be ignited
+#define SPECIES_FLAG_NO_FIRE (1<<14)
+
// unused: 0x8000 - higher than this will overflow
// Species spawn flags
diff --git a/code/__defines/subsystem-priority.dm b/code/__defines/subsystem-priority.dm
index 896cdb64692..22caddb9106 100644
--- a/code/__defines/subsystem-priority.dm
+++ b/code/__defines/subsystem-priority.dm
@@ -7,11 +7,13 @@
// SS_TICKER
#define SS_PRIORITY_CHAT 100
+#define SS_PRIORITY_STATPANELS 95
#define SS_PRIORITY_THINK 90 // Datums thinking.
#define SS_PRIORITY_OVERLAYS 20
#define SS_PRIORITY_ICON_UPDATE 10 // Queued icon updates. Mostly used by APCs and tables.
// Normal
+#define SS_PRIORITY_PROMETHEUS 100
#define SS_PRIORITY_TICKER 100 // Gameticker.
#define SS_PRIORITY_MOB 95 // Mob Life().
#define SS_PRIORITY_MACHINERY 95 // Machinery + powernet ticks.
diff --git a/code/__defines/subsystems.dm b/code/__defines/subsystems.dm
index ac245165fd8..52d85b3b427 100644
--- a/code/__defines/subsystems.dm
+++ b/code/__defines/subsystems.dm
@@ -46,6 +46,7 @@
#define SS_INIT_EXPLOSIONS -69
#define SS_INIT_ANNOUNCERS -90
#define SS_INIT_VOTE -95
+#define SS_INIT_STATPANELS -99
#define SS_INIT_ORDER_CHAT -100 // Should be last to ensure chat remains smooth during init.
// Explosion Subsystem subtasks
diff --git a/code/__defines/tools.dm b/code/__defines/tools.dm
index 30770381497..a108290abda 100644
--- a/code/__defines/tools.dm
+++ b/code/__defines/tools.dm
@@ -7,3 +7,7 @@
#define TOOL_SCREWDRIVER "screwdriver"
#define TOOL_MULTITOOL "multitool"
#define TOOL_CROWBAR "crowbar"
+
+/// Minimal duration of tool's use_tool(). If less than MIN_TOOL_SOUND_DELAY, then
+/// tool_sound is played only when use_tool() is started. If more, then it is played twice.
+#define MIN_TOOL_SOUND_DELAY 2 SECONDS
diff --git a/code/__defines/xenobiology.dm b/code/__defines/xenobiology.dm
index 8aa315e5a7d..a41d9464075 100644
--- a/code/__defines/xenobiology.dm
+++ b/code/__defines/xenobiology.dm
@@ -4,3 +4,4 @@
#define METROID_ACTIVATE_MAJOR 2
#define LUMINESCENT_DEFAULT_GLOW 2
+#define LUMINESCENT_ENHANCED_GLOW 10
diff --git a/code/_global_vars/bitfields.dm b/code/_global_vars/bitfields.dm
index 09239414591..5ef1b62bf64 100644
--- a/code/_global_vars/bitfields.dm
+++ b/code/_global_vars/bitfields.dm
@@ -80,6 +80,8 @@ DEFINE_BITFIELD(atom_flags, list(
"OVERLAY_UPDATE" = ATOM_AWAITING_OVERLAY_UPDATE,
"SILENTCONTAINER" = ATOM_FLAG_SILENTCONTAINER,
"UNPUSHABLE" = ATOM_FLAG_UNPUSHABLE,
+ "ATOM_FLAG_HOLOGRAM" = ATOM_FLAG_HOLOGRAM,
+ "ATOM_FLAG_NO_DECONSTRUCTION" = ATOM_FLAG_NO_DECONSTRUCTION,
))
DEFINE_BITFIELD(species_flags, list(
@@ -88,6 +90,7 @@ DEFINE_BITFIELD(species_flags, list(
"NO_SCAN" = SPECIES_FLAG_NO_SCAN,
"NO_PAIN" = SPECIES_FLAG_NO_PAIN,
"NO_SLIP" = SPECIES_FLAG_NO_SLIP,
+ "NO_POISON" = SPECIES_FLAG_NO_POISON,
"NO_EMBED" = SPECIES_FLAG_NO_EMBED,
"CAN_NAB" = SPECIES_FLAG_CAN_NAB,
"NO_BLOCK" = SPECIES_FLAG_NO_BLOCK,
@@ -95,7 +98,6 @@ DEFINE_BITFIELD(species_flags, list(
"FLAG_NO_TANGLE" = SPECIES_FLAG_NO_TANGLE,
"NO_BLOOD" = SPECIES_FLAG_NO_BLOOD,
"NO_ANTAG_TARGET" = SPECIES_FLAG_NO_ANTAG_TARGET,
- "FLAG_NO_TANGLE" = SPECIES_FLAG_NO_TANGLE,
"NO_FIRE" = SPECIES_FLAG_NO_FIRE,
))
@@ -358,3 +360,16 @@ DEFINE_BITFIELD(vamp_status, list(
"VAMP_ISTHRALL" = VAMP_ISTHRALL,
"VAMP_FULLPOWER" = VAMP_FULLPOWER,
))
+
+DEFINE_BITFIELD(language_flags, list(
+ "WHITELISTED" = WHITELISTED,
+ "RESTRICTED" = RESTRICTED,
+ "NONVERBAL" = NONVERBAL,
+ "SIGNLANG" = SIGNLANG,
+ "HIVEMIND" = HIVEMIND,
+ "NONGLOBAL" = NONGLOBAL,
+ "INNATE" = INNATE,
+ "NO_TALK_MSG" = NO_TALK_MSG,
+ "NO_STUTTER" = NO_STUTTER,
+ "ALT_TRANSMIT" = ALT_TRANSMIT,
+))
diff --git a/code/_global_vars/lists/pipe_dispenser.dm b/code/_global_vars/lists/pipe_dispenser.dm
new file mode 100644
index 00000000000..cd207f66cd0
--- /dev/null
+++ b/code/_global_vars/lists/pipe_dispenser.dm
@@ -0,0 +1,87 @@
+/// List of pipes. Fuck the guy who coded them.
+GLOBAL_LIST_INIT(pipe_dispenser_recipes, list(
+ "Regular pipes" = list(
+ "Pipe" = 0,
+ "Bent Pipe" = 1,
+ "Manifold" = 5,
+ "Manual Valve" = 8,
+ "Digital Valve" = 9,
+ "Automatic Shutoff Valve" = 44,
+ "Pipe Cap" = 20,
+ "4-Way Manifold" = 19,
+ "Manual T-Valve" = 18,
+ "Manual T-Valve - Mirrored" = 43,
+ "Upward Pipe" = 21,
+ "Downward Pipe" = 22,
+ ),
+ "Supply pipes" = list(
+ "Pipe" = 29,
+ "Bent Pipe" = 30,
+ "Manifold" = 33,
+ "Pipe Cap" = 41,
+ "4-Way Manifold" = 35,
+ "Upward Pipe" = 37,
+ "Downward Pipe" = 39,
+ ),
+ "Scrubbers pipes" = list(
+ "Pipe" = 31,
+ "Bent Pipe" = 32,
+ "Manifold" = 34,
+ "Pipe Cap" = 42,
+ "4-Way Manifold" = 36,
+ "Upward Pipe" = 38,
+ "Downward Pipe" = 40,
+ ),
+ "Fuel pipes" = list(
+ "Pipe" = 45,
+ "Bent Pipe" = 46,
+ "Manifold" = 47,
+ "Pipe Cap" = 51,
+ "4-Way Manifold" = 48,
+ "Upward Pipe" = 49,
+ "Downward Pipe" = 50,
+ ),
+ "Devices" = list(
+ "Universal Pipe Adapter" = 28,
+ "Connector" = 4,
+ "Unary Vent" = 7,
+ "Gas Pump" = 10,
+ "Pressure Regulator" = 15,
+ "High Power Gas Pump" = 16,
+ "Scrubber" = 11,
+ "Meter" = 1,
+ "Gas Filter" = 13,
+ "Gas Filter - Mirrored" = 25,
+ "Gas Mixer - T" = 24,
+ "Omni Gas Mixer" = 26,
+ "Omni Gas Filter" = 27,
+ ),
+ "Heat Exchange" = list(
+ "Pipe" = 2,
+ "Bent Pipe" = 3,
+ "Junction" = 6,
+ "Heat Exchanger" = 17,
+ "Wall Radiator" = 54,
+ "Junction Left" = 52,
+ "Junction Right" = 53,
+ ),
+ "Disposal Pipes" = list(
+ "Pipe" = 0,
+ "Bent Pipe" = 1,
+ "Junction" = 2,
+ "Y-Junction" = 4,
+ "Trunk" = 5,
+ "Bin" = 6,
+ "Outlet" = 7,
+ "Chute" = 8,
+ "Upwards" = 13,
+ "Downwards" = 14,
+ "Sorting" = 9,
+ "Sorting (Wildcard)" = 9,
+ "Tagger" = 11,
+ "Tagger (Partial)" = 12,
+ "Diversion" = 13,
+ "Diversion Switch" = 14,
+ "Disposal Switch" = 15
+ ),
+))
diff --git a/code/_global_vars/lists/rcd.dm b/code/_global_vars/lists/rcd.dm
index 05208b72680..cfb64f761a0 100644
--- a/code/_global_vars/lists/rcd.dm
+++ b/code/_global_vars/lists/rcd.dm
@@ -24,7 +24,7 @@ GLOBAL_LIST_INIT(rcd_designs, list(
list(RCD_DESIGN_MODE = RCD_WALLFRAME, RCD_DESIGN_PATH = /obj/machinery/alarm),
list(RCD_DESIGN_MODE = RCD_WALLFRAME, RCD_DESIGN_PATH = /obj/item/device/radio/intercom),
list(RCD_DESIGN_MODE = RCD_STRUCTURE, RCD_DESIGN_PATH = /obj/structure/computerframe),
- list(RCD_DESIGN_MODE = RCD_STRUCTURE, RCD_DESIGN_PATH = /obj/machinery/constructable_frame),
+ list(RCD_DESIGN_MODE = RCD_STRUCTURE, RCD_DESIGN_PATH = /obj/machinery/constructable_frame/machine_frame),
list(RCD_DESIGN_MODE = RCD_STRUCTURE, RCD_DESIGN_PATH = /obj/machinery/vending_frame),
),
diff --git a/code/_global_vars/sfx.dm b/code/_global_vars/sfx.dm
index 34dde62cd8d..03e4c2af24e 100644
--- a/code/_global_vars/sfx.dm
+++ b/code/_global_vars/sfx.dm
@@ -525,6 +525,14 @@ GLOBAL_LIST_INIT(sfx_list, list(
'sound/ambient/jungle/junglethunder2.ogg',
'sound/ambient/jungle/junglethunder1.ogg',
),
+ SFX_AMBIENT_DESERT = list(
+ 'sound/effects/wind/wind_2_1.ogg',
+ 'sound/effects/wind/wind_2_2.ogg',
+ 'sound/effects/wind/wind_3_1.ogg',
+ 'sound/effects/wind/wind_4_1.ogg',
+ 'sound/effects/wind/wind_4_2.ogg',
+ 'sound/effects/wind/wind_5_1.ogg'
+ ),
// AMBIENT MUSIC
SFX_AMBIENT_MUSIC_NORMAL = list(
'sound/ambient_music/normal_1.ogg',
@@ -611,6 +619,15 @@ GLOBAL_LIST_INIT(sfx_list, list(
SFX_AMBIENT_MUSIC_CENTCOMM = list(
'sound/ambient_music/centcomm_1.ogg',
),
+ SFX_AMBIENT_MUSIC_THUNDERDOME = list(
+ 'sound/music/THUNDERDOME.ogg'
+ ),
+ SFX_AMBIENT_MUSIC_PICNIC = list(
+ 'sound/music/classic/title2.ogg'
+ ),
+ SFX_AMBIENT_MUSIC_COURT = list(
+ 'sound/music/classic/traitor.ogg'
+ ),
// ITEMS USING
SFX_USE_HANDCUFFS = list(
'sound/effects/using/cuffs/use1.ogg',
@@ -677,6 +694,11 @@ GLOBAL_LIST_INIT(sfx_list, list(
'sound/machines/button3.ogg',
'sound/machines/button4.ogg'
),
+ SFX_USE_KNOB = list(
+ 'sound/machines/knob1.ogg',
+ 'sound/machines/knob2.ogg',
+ 'sound/machines/knob3.ogg'
+ ),
SFX_USE_LIGHTER = list(
'sound/items/lighter1.ogg',
'sound/items/lighter2.ogg',
@@ -1638,6 +1660,16 @@ GLOBAL_LIST_INIT(sfx_list, list(
'sound/effects/geiger/geiger_very_high_1.ogg',
'sound/effects/geiger/geiger_very_high_2.ogg'
),
+ SFX_WELDING = list(
+ 'sound/items/Welder.ogg',
+ 'sound/items/Welder2.ogg'
+ ),
+ SFX_WELDER_ACTIVATE = list(
+ 'sound/effects/welderactivate.ogg'
+ ),
+ SFX_WELDER_DEACTIVATE = list(
+ 'sound/effects/welderdeactivate.ogg'
+ ),
// FOOTSTEPS
SFX_DISTANT_MOVEMENT = list(
'sound/effects/footstep/distant/distant1.ogg',
@@ -1754,5 +1786,14 @@ GLOBAL_LIST_INIT(sfx_list, list(
),
SFX_VENDING_GENERIC = list(
'sound/effects/using/disposal/drop2.ogg'
- )
+ ),
+ SFX_LIGHT_TUBE_ON = list(
+ 'sound/machines/sound_effects_light_on.ogg'
+ ),
+ SFX_LIGHT_BULB_ON = list(
+ 'sound/machines/lightson.ogg'
+ ),
+ SFX_LIGHT_BURNOUT = list(
+ 'sound/machines/lightsburnout.ogg'
+ ),
))
diff --git a/code/_helpers/cmp.dm b/code/_helpers/cmp.dm
index 5841bfcee32..c4762e0f5f9 100644
--- a/code/_helpers/cmp.dm
+++ b/code/_helpers/cmp.dm
@@ -52,9 +52,6 @@
if (!.)
. = B.qdels - A.qdels
-/proc/cmp_timer(datum/timedevent/a, datum/timedevent/b)
- return a.timeToRun - b.timeToRun
-
/proc/cmp_program(datum/computer_file/program/A, datum/computer_file/program/B)
return cmp_text_asc(A.filedesc, B.filedesc)
diff --git a/code/_helpers/flick_overlay.dm b/code/_helpers/flick_overlay.dm
new file mode 100644
index 00000000000..84136c95ef8
--- /dev/null
+++ b/code/_helpers/flick_overlay.dm
@@ -0,0 +1,51 @@
+/// Adds an image to a list of clients and then removes it.
+/datum/flick_overlay
+ var/image/image
+ var/list/client/seeing_clients = list()
+
+/datum/flick_overlay/New(image/image, list/client/show_to, time_to_live)
+ . = ..()
+ if(!image || !islist(show_to))
+ qdel_self()
+
+ src.image = image
+ seeing_clients = show_to
+ add_image_to_clients(image, seeing_clients)
+ QDEL_IN(src, time_to_live)
+
+/datum/flick_overlay/Destroy()
+ remove_image_from_clients(image, seeing_clients)
+ QDEL_NULL(image)
+ seeing_clients.Cut()
+ return ..()
+
+// Adds the image to a list of clients.
+/proc/add_image_to_clients(image/image_to_add, list/show_to)
+ for(var/client/add_to as anything in show_to)
+ LAZYADD(add_to?.images, image_to_add)
+
+// Removes the image from a list of clients.
+/proc/remove_image_from_clients(image/image_to_remove, list/hide_from)
+ for(var/client/remove_from as anything in hide_from)
+ LAZYREMOVE(remove_from?.images, image_to_remove)
+
+// Adds an image to a list of clients
+/proc/flick_overlay_global(image/image_to_show, list/show_to, duration)
+ if(!show_to || !length(show_to) || !image_to_show)
+ return
+
+ new /datum/flick_overlay(image_to_show, show_to, duration)
+
+// Flicks a certain overlay onto an atom, handling icon_state strings.
+/atom/proc/flick_overlay(image_to_show, list/show_to, duration, layer)
+ var/image/passed_image = istext(image_to_show) ? image(icon, src, image_to_show, layer) : image_to_show
+ flick_overlay_global(passed_image, show_to, duration)
+
+// Flicks a certain overlay to anyone who can view this atom.
+/atom/proc/flick_overlay_in_view(image_to_show, duration)
+ var/list/observers
+ for(var/mob/observer as anything in viewers(src))
+ if(observer.client)
+ LAZYADD(observers, observer)
+
+ flick_overlay(image_to_show, observers, duration)
diff --git a/code/_helpers/game.dm b/code/_helpers/game.dm
index c947db603c9..bcca7df6235 100644
--- a/code/_helpers/game.dm
+++ b/code/_helpers/game.dm
@@ -377,46 +377,6 @@
for(var/client/C in group)
C.screen -= O
-// Adds an image to a client's `.images`.
-/proc/add_image_to_client(image/image_to_add, client/add_to)
- LAZYADD(add_to?.images, image_to_add)
-
-// Simmilar to `add_image_to_client`, but will add the image to a list of clients.
-/proc/add_image_to_clients(image/image_to_add, list/show_to)
- for(var/client/add_to as anything in show_to)
- add_image_to_client(image_to_add, add_to)
-
-// Removes an image from a client's `.images`.
-/proc/remove_image_from_client(image/image_to_remove, client/remove_from)
- LAZYREMOVE(remove_from?.images, image_to_remove)
-
-// Simmilar to `remove_image_from_client`, but will remove the image from a list of clients.
-/proc/remove_image_from_clients(image/image_to_remove, list/hide_from)
- for(var/client/remove_from as anything in hide_from)
- remove_image_from_client(image_to_remove, remove_from)
-
-// Adds an image to a list of clients and calls a proc to remove it after duration.
-/proc/flick_overlay_global(image/image_to_show, list/show_to, duration)
- if(!show_to || !length(show_to) || !image_to_show)
- return
- for(var/client/add_to in show_to)
- LAZYADD(add_to.images, image_to_show)
- addtimer(CALLBACK(GLOBAL_PROC, /proc/remove_image_from_clients, image_to_show, show_to), duration)
-
-// Flicks a certain overlay onto an atom, handling icon_state strings.
-/atom/proc/flick_overlay(image_to_show, list/show_to, duration, layer)
- var/image/passed_image = istext(image_to_show) ? image(icon, src, image_to_show, layer) : image_to_show
- flick_overlay_global(passed_image, show_to, duration)
-
-
-// Flicks a certain overlay to anyone who can view this atom.
-/atom/proc/flick_overlay_in_view(image_to_show, duration)
- var/list/observers
- for(var/mob/observer as anything in viewers(src))
- if(observer.client)
- LAZYADD(observers, observer)
- flick_overlay(image_to_show, observers, duration)
-
/datum/projectile_data
var/src_x
var/src_y
diff --git a/code/_helpers/global_access.dm b/code/_helpers/global_access.dm
index 4925f58e7bf..c384a48dc7f 100644
--- a/code/_helpers/global_access.dm
+++ b/code/_helpers/global_access.dm
@@ -83,8 +83,6 @@
return global.SStgui;
if("SSticker")
return global.SSticker;
- if("SStimer")
- return global.SStimer;
if("SStrade")
return global.SStrade;
if("SSvines")
@@ -243,8 +241,6 @@
return global.chemical_reactions_list;
if("church_name")
return global.church_name;
- if("client_preference_stats_")
- return global.client_preference_stats_;
if("client_repository")
return global.client_repository;
if("combatlog")
@@ -892,8 +888,6 @@
global.SStgui=newval;
if("SSticker")
global.SSticker=newval;
- if("SStimer")
- global.SStimer=newval;
if("SStrade")
global.SStrade=newval;
if("SSvines")
@@ -1056,8 +1050,6 @@
global.chemical_reactions_list=newval;
if("church_name")
global.church_name=newval;
- if("client_preference_stats_")
- global.client_preference_stats_=newval;
if("client_repository")
global.client_repository=newval;
if("combatlog")
@@ -1759,7 +1751,6 @@
"chemical_reactions_list",
"chicken_count",
"church_name",
- "client_preference_stats_",
"client_repository",
"combatlog",
"comm_message_listeners",
diff --git a/code/_helpers/global_lists.dm b/code/_helpers/global_lists.dm
index 18ee24f8c9c..7172a8c5b6f 100644
--- a/code/_helpers/global_lists.dm
+++ b/code/_helpers/global_lists.dm
@@ -72,6 +72,16 @@ var/global/list/rune_list = new()
var/global/list/syndicate_access = list(access_maint_tunnels, access_syndicate, access_external_airlocks)
+/// Associative list of string -> string, where key is armor class and value is an attack type it protects against.
+GLOBAL_LIST_INIT(descriptive_attack_types, list(
+ "melee" = "blunt force",
+ "bullet" = "ballistics",
+ "laser" = "lasers",
+ "energy" = "energy",
+ "bomb" = "explosions",
+ "bio" = "biohazards",
+))
+
// Strings which corraspond to bodypart covering flags, useful for outputting what something covers.
var/global/list/string_part_flags = list(
"head" = HEAD,
@@ -208,7 +218,7 @@ var/global/list/string_slot_flags = list(
for (var/language_name in all_languages)
var/datum/language/L = all_languages[language_name]
- if(!(L.flags & NONGLOBAL))
+ if(!(L.language_flags & NONGLOBAL))
language_keys[lowertext(L.key)] = L
var/rkey = 0
diff --git a/code/_helpers/holodeck.dm b/code/_helpers/holodeck.dm
new file mode 100644
index 00000000000..d36fe0d365f
--- /dev/null
+++ b/code/_helpers/holodeck.dm
@@ -0,0 +1 @@
+#define isholoeffect(O) istype(O, /obj/effect/holodeck_effect)
diff --git a/code/_helpers/icons.dm b/code/_helpers/icons.dm
index 9f2bea94d2d..b82e18907c1 100644
--- a/code/_helpers/icons.dm
+++ b/code/_helpers/icons.dm
@@ -779,7 +779,7 @@
return cap
-/proc/icon2html(thing, target, icon_state, dir, frame = 1, moving = FALSE, realsize = FALSE, class = null)
+/proc/icon2html(thing, target, icon_state, dir, frame = 1, moving = FALSE, realsize = FALSE, sourceonly = FALSE, class = null)
if (!thing)
return
@@ -809,6 +809,10 @@
continue
thing2 = M.client
send_asset(thing2, key, FALSE)
+
+ if(sourceonly)
+ return url_encode(key)
+
return ""
var/atom/A = thing
if (isnull(dir))
@@ -840,6 +844,9 @@
thing2 = M.client
send_asset(thing2, key, FALSE)
+ if(sourceonly)
+ return url_encode(key)
+
if(realsize)
return "
"
@@ -860,9 +867,21 @@
composite.Blend(new /icon(I.icon, I.icon_state), ICON_OVERLAY)
return composite
+/// Costlier version of icon2html() that uses getFlatIcon() to account for overlays, underlays, etc. Use with extreme moderation, ESPECIALLY on mobs.
+/proc/costly_icon2html(thing, target, sourceonly = FALSE)
+ if (!thing)
+ return
+
+ if (isicon(thing))
+ return icon2html(thing, target)
+
+ var/icon/I = getFlatIcon(thing)
+ return icon2html(I, target, sourceonly = sourceonly)
+
/proc/path2icon(path, dir = SOUTH, frame = 1, moving = FALSE)
var/atom/A = path
return icon(initial(A.icon), initial(A.icon_state), dir, frame, moving)
+
/*
* Converts an icon to base64. Operates by putting the icon in the iconCache savefile,
* exporting it as text, and then parsing the base64 from that.
diff --git a/code/_helpers/mobs.dm b/code/_helpers/mobs.dm
index 3a741d4b949..298c16abd91 100644
--- a/code/_helpers/mobs.dm
+++ b/code/_helpers/mobs.dm
@@ -128,7 +128,7 @@
/proc/get_exposed_defense_zone(atom/movable/target)
return pick(BP_HEAD, BP_L_HAND, BP_R_HAND, BP_L_FOOT, BP_R_FOOT, BP_L_ARM, BP_R_ARM, BP_L_LEG, BP_R_LEG, BP_CHEST, BP_GROIN)
-/proc/do_mob(atom/movable/affecter, mob/target, time = 30, target_zone = 0, uninterruptible = 0, progress = 1, incapacitation_flags = INCAPACITATION_DEFAULT, can_multitask = FALSE)
+/proc/do_mob(atom/movable/affecter, mob/target, time = 30, target_zone = 0, uninterruptible = 0, progress = 1, incapacitation_flags = INCAPACITATION_DEFAULT, can_multitask = FALSE, datum/callback/extra_checks)
if(!affecter || !target)
return FALSE
@@ -189,13 +189,17 @@
. = 0
break
+ if(extra_checks && !extra_checks.Invoke(user, target))
+ . = FALSE
+ break
+
if(progbar)
qdel(progbar)
if(!can_multitask)
LAZYREMOVE(GLOB.domobs, uniqueid)
-/proc/do_after(mob/user, delay, atom/target = null, needhand = TRUE, progress = TRUE, incapacitation_flags = INCAPACITATION_DEFAULT, same_direction = FALSE, can_move = FALSE)
+/proc/do_after(mob/user, delay, atom/target = null, needhand = TRUE, progress = TRUE, incapacitation_flags = INCAPACITATION_DEFAULT, same_direction = FALSE, can_move = FALSE, datum/callback/extra_checks)
if(!user)
return FALSE
@@ -248,6 +252,10 @@
. = 0
break
+ if(extra_checks && !extra_checks.Invoke(user, target))
+ . = FALSE
+ break
+
if(progbar)
qdel(progbar)
diff --git a/code/_helpers/preferences.dm b/code/_helpers/preferences.dm
new file mode 100644
index 00000000000..7baf4fedea7
--- /dev/null
+++ b/code/_helpers/preferences.dm
@@ -0,0 +1,8 @@
+/proc/zoom_pref2value(zoom_key)
+ var/datum/client_preference/zoom_pref = get_client_preference_by_key("PIXEL_SIZE")
+
+ var/zoom_index = zoom_pref.options.Find(zoom_key)
+ if(zoom_index == 1)
+ return 0
+
+ return zoom_index / 2
diff --git a/code/_helpers/sanitize_values.dm b/code/_helpers/sanitize_values.dm
index 6f080f0757b..b9de8b4579b 100644
--- a/code/_helpers/sanitize_values.dm
+++ b/code/_helpers/sanitize_values.dm
@@ -43,17 +43,51 @@
else return default
return default
-/proc/sanitize_hexcolor(color, default="#000000")
- if(!istext(color)) return default
+/// Return `color` if it is a valid hex color, otherwise `default`
+/proc/sanitize_hexcolor(color, desired_format = 3, include_crunch = FALSE, default)
+ var/crunch = include_crunch ? "#" : ""
+ if(!istext(color))
+ color = ""
+
+ var/start = 1 + (text2ascii(color, 1) == 35)
var/len = length(color)
- if(len != 7 && len !=4) return default
- if(text2ascii(color,1) != 35) return default //35 is the ascii code for "#"
- . = "#"
- for(var/i=2,i<=len,i++)
- var/ascii = text2ascii(color,i)
- switch(ascii)
- if(48 to 57) . += ascii2text(ascii) //numbers 0 to 9
- if(97 to 102) . += ascii2text(ascii) //letters a to f
- if(65 to 70) . += ascii2text(ascii+32) //letters A to F - translates to lowercase
- else return default
- return .
+ var/char = ""
+ // Used for conversion between RGBA hex formats.
+ var/format_input_ratio = "[desired_format]:[length_char(color)-(start-1)]"
+
+ . = ""
+ var/i = start
+ while(i <= len)
+ char = color[i]
+ i += length(char)
+ switch(text2ascii(char))
+ if(48 to 57) //numbers 0 to 9
+ . += char
+ if(97 to 102) //letters a to f
+ . += char
+ if(65 to 70) //letters A to F
+ char = lowertext(char)
+ . += char
+ else
+ break
+ switch(format_input_ratio)
+ if("3:8", "4:8", "3:6", "4:6") //skip next one. RRGGBB(AA) -> RGB(A)
+ i += length(color[i])
+ if("6:4", "6:3", "8:4", "8:3") //add current char again. RGB(A) -> RRGGBB(AA)
+ . += char
+
+ if(length_char(.) == desired_format)
+ return crunch + .
+ switch(format_input_ratio) //add or remove alpha channel depending on desired format.
+ if("3:8", "3:4", "6:4")
+ return crunch + copytext(., 1, desired_format+1)
+ if("4:6", "4:3", "8:3")
+ return crunch + . + ((desired_format == 4) ? "f" : "ff")
+ else //not a supported hex color format.
+ return default ? default : crunch + repeat_string(desired_format, "0")
+
+/// Returns `string` repeated `times` times
+/proc/repeat_string(times, string="")
+ . = ""
+ for(var/i in 1 to times)
+ . += string
diff --git a/code/_helpers/unsorted.dm b/code/_helpers/unsorted.dm
index 4b85fe4cb34..dad51a21c90 100644
--- a/code/_helpers/unsorted.dm
+++ b/code/_helpers/unsorted.dm
@@ -353,11 +353,6 @@ Turf and target are seperate in case you want to teleport some distance from a t
/proc/ionnum()
return "[pick("1","2","3","4","5","6","7","8","9","0")][pick("!","@","#","$","%","^","&","*")][pick("!","@","#","$","%","^","&","*")][pick("!","@","#","$","%","^","&","*")]"
-/atom/proc/add_verb(the_verb, datum/callback/callback)
- if (callback && !callback.Invoke())
- return
-
- verbs += the_verb
//When an AI is activated, it can choose from a list of non-slaved borgs to have as a slave.
/proc/freeborg()
var/select = null
diff --git a/code/_helpers/verbs.dm b/code/_helpers/verbs.dm
new file mode 100644
index 00000000000..b4d1cfa81dc
--- /dev/null
+++ b/code/_helpers/verbs.dm
@@ -0,0 +1,93 @@
+/**
+ * Wrapper around basic verb addition operation, allows to perform batch addition via nested lists,
+ * updates stat panel if supplied `target` is a client or client-controlled mob.
+ *
+ * Arguments:
+ * * target - who the verb is being added to, `/client` or `/mob`.
+ * * verb - typepath of a verb, or a list of typepaths, supports nesting.
+ */
+/proc/grant_verb(client/target, verb_or_list_to_add)
+ if(!target)
+ CRASH("grant_verb called without a target")
+
+ var/mob/mob_target = null
+
+ if(ismob(target))
+ mob_target = target
+ target = mob_target.client
+ else if(!istype(target, /client))
+ CRASH("grant_verb called on a non-mob and non-client")
+
+ var/list/verbs_list = list()
+
+ if(!islist(verb_or_list_to_add))
+ verbs_list += verb_or_list_to_add
+ else
+ var/list/verb_listref = verb_or_list_to_add
+ var/list/elements_to_process = verb_listref.Copy()
+ while(length(elements_to_process))
+ var/element_or_list = elements_to_process[length(elements_to_process)] //Last element
+ elements_to_process.len--
+ if(islist(element_or_list))
+ elements_to_process += element_or_list //list/a += list/b adds the contents of b into a, not the reference to the list itself
+ else
+ verbs_list += element_or_list
+
+ if(mob_target)
+ mob_target.verbs += verbs_list
+ if(!target)
+ return //Our work is done.
+ else
+ target.verbs += verbs_list
+
+ var/list/output_list = list()
+ for(var/thing in verbs_list)
+ var/procpath/verb_to_add = thing
+ output_list[++output_list.len] = list(verb_to_add.category, verb_to_add.name)
+
+ target.stat_panel.send_message("add_verb_list", output_list)
+
+/**
+ * Wrapper around basic verb removal operation, allows to perform batch addition via nested lists,
+ * updates stat panel if supplied `target` is a client or client-controlled mob.
+ *
+ * Arguments:
+ * * target - who the verb is being removed from, `/client` or `/mob`.
+ * * verb - typepath of a verb, or a list of typepaths, supports nesting.
+ */
+/proc/revoke_verb(client/target, verb_or_list_to_remove)
+ var/mob/mob_target = null
+
+ if(ismob(target))
+ mob_target = target
+ target = mob_target.client
+ else if(!istype(target, /client))
+ CRASH("revoke_verb called on a non-mob and non-client")
+
+ var/list/verbs_list = list()
+ if(!islist(verb_or_list_to_remove))
+ verbs_list += verb_or_list_to_remove
+ else
+ var/list/verb_listref = verb_or_list_to_remove
+ var/list/elements_to_process = verb_listref.Copy()
+ while(length(elements_to_process))
+ var/element_or_list = elements_to_process[length(elements_to_process)] //Last element
+ elements_to_process.len--
+ if(islist(element_or_list))
+ elements_to_process += element_or_list //list/a += list/b adds the contents of b into a, not the reference to the list itself
+ else
+ verbs_list += element_or_list
+
+ if(mob_target)
+ mob_target.verbs -= verbs_list
+ if(!target)
+ return //Our work is done.
+ else
+ target.verbs -= verbs_list
+
+ var/list/output_list = list()
+ for(var/thing in verbs_list)
+ var/procpath/verb_to_remove = thing
+ output_list[++output_list.len] = list(verb_to_remove.category, verb_to_remove.name)
+
+ target.stat_panel.send_message("remove_verb_list", output_list)
diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm
index f9312b7c3bd..cad9568fafc 100644
--- a/code/_onclick/click.dm
+++ b/code/_onclick/click.dm
@@ -299,14 +299,14 @@
A.AltClick(src)
/atom/proc/AltClick(mob/user)
- var/turf/T = get_turf(src)
- if(T && user.TurfAdjacent(T))
- if(user.listed_turf == T)
- user.listed_turf = null
- else
- user.listed_turf = T
- user.client.statpanel = "Turf"
- return 1
+ var/cancel = SEND_SIGNAL(src, SIGNAL_ALT_CLICKED, src, user)
+ if(cancel)
+ return
+
+ var/turf/clicked_turf = get_turf(src)
+
+ if(clicked_turf && user.TurfAdjacent(clicked_turf))
+ user.set_listed_turf(clicked_turf)
/mob/proc/TurfAdjacent(turf/T)
return T.AdjacentQuick(src)
@@ -335,9 +335,9 @@
return
/atom/proc/CtrlAltClick(mob/user)
- return
-
-
+ var/cancel = SEND_SIGNAL(src, SIGNAL_CTRL_ALT_CLICKED, src, user)
+ if(cancel)
+ return
/*
Rclick.
@@ -500,11 +500,11 @@ var/const/CLICK_HANDLER_ALL = (~0)
..()
src.user = user
if(flags & (CLICK_HANDLER_REMOVE_ON_MOB_LOGOUT))
- register_signal(user, SIGNAL_LOGGED_OUT, /datum/click_handler/proc/OnMobLogout)
+ register_signal(user, SIGNAL_LOGGED_OUT, nameof(/datum/click_handler.proc/OnMobLogout))
/datum/click_handler/Destroy()
if(flags & (CLICK_HANDLER_REMOVE_ON_MOB_LOGOUT))
- unregister_signal(user, SIGNAL_LOGGED_OUT, /datum/click_handler/proc/OnMobLogout)
+ unregister_signal(user, SIGNAL_LOGGED_OUT, nameof(/datum/click_handler.proc/OnMobLogout))
user = null
. = ..()
diff --git a/code/_onclick/hud/alert.dm b/code/_onclick/hud/alert.dm
index 7865ec83788..970d08fb69d 100644
--- a/code/_onclick/hud/alert.dm
+++ b/code/_onclick/hud/alert.dm
@@ -43,7 +43,7 @@
thealert.timeout = null
thealert.owner = src
- thealert.register_signal(thealert.owner, SIGNAL_QDELETING, /datum/proc/qdel_self)
+ thealert.register_signal(thealert.owner, SIGNAL_QDELETING, nameof(/datum.proc/qdel_self))
if(new_master)
var/old_layer = new_master.layer
@@ -66,14 +66,10 @@
animate(thealert, transform = matrix(), time = 2.5, easing = CUBIC_EASING)
if(thealert.timeout)
- addtimer(CALLBACK(src, nameof(.proc/alert_timeout), thealert, category), thealert.timeout)
- thealert.timeout = world.time + thealert.timeout - world.tick_lag
+ thealert.category = category
+ thealert.set_next_think(world.time + thealert.timeout)
return thealert
-/mob/proc/alert_timeout(atom/movable/screen/movable/alert/alert, category)
- if(alert.timeout && alerts[category] == alert && world.time >= alert.timeout)
- clear_alert(category)
-
// Proc to clear an existing alert.
/mob/proc/clear_alert(category, clear_override = FALSE)
var/atom/movable/screen/movable/alert/alert = alerts[category]
@@ -104,10 +100,15 @@
var/alerttooltipstyle = ""
var/override_alerts = FALSE //If it is overriding other alerts of the same type
var/mob/owner //Alert owner
+ /// Alert category for sorting in owner's screen. Used in clearing alert after click()
+ var/category
/// Boolean. If TRUE, the Click() proc will attempt to Click() on the master first if there is a master.
var/click_master = TRUE
+/atom/movable/screen/movable/alert/think()
+ owner?.clear_alert(category)
+
/atom/movable/screen/movable/alert/status_effect
icon = 'icons/hud/status_effects.dmi'
diff --git a/code/_onclick/hud/hud.dm b/code/_onclick/hud/hud.dm
index 9a48ec969d4..0c8361b9414 100644
--- a/code/_onclick/hud/hud.dm
+++ b/code/_onclick/hud/hud.dm
@@ -287,10 +287,9 @@
return TRUE
-/atom/movable/screen/movable/alert/_examine_text(mob/user, infix, suffix)
- .="[name]"
- .+=" - [SPAN("info", desc)]"
- return FALSE
+/atom/movable/screen/movable/alert/examine(mob/user, infix)
+ . = "[name]"
+ . += " - [SPAN("info", desc)]"
/atom/movable/screen/movable/alert/Destroy()
. = ..()
diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm
index 4b71ad2accf..79a1aa4d08b 100644
--- a/code/_onclick/hud/screen_objects.dm
+++ b/code/_onclick/hud/screen_objects.dm
@@ -67,18 +67,37 @@
/atom/movable/screen/storage
name = "storage"
-/atom/movable/screen/storage/Click()
+/atom/movable/screen/storage/Click(location, control, params)
if(!usr.canClick())
- return 1
+ return TRUE
+
if(usr.stat || usr.paralysis || usr.stunned || usr.weakened)
- return 1
+ return TRUE
+
if (istype(usr.loc,/obj/mecha)) // stops inventory actions in a mech
- return 1
+ return TRUE
if(master)
var/obj/item/I = usr.get_active_hand()
if(I)
usr.ClickOn(master)
- return 1
+
+ var/obj/item/storage/S = master
+ if(!S?.storage_ui)
+ return
+
+ // Tries to find items by their border overlay.
+ var/list/PM = params2list(params)
+ var/list/screen_loc_params = splittext(PM["screen-loc"], ",")
+ var/list/screen_loc_X = splittext(screen_loc_params[1], ":")
+ var/click_x = text2num(screen_loc_X[1]) * WORLD_ICON_SIZE + text2num(screen_loc_X[2]) - 144
+
+ for(var/i = 1, i <= S.storage_ui.click_border_start.len, i++)
+ if(S.storage_ui.click_border_start[i] <= click_x && click_x <= S.storage_ui.click_border_end[i] && i <= S.contents.len)
+ I = S.contents[i]
+ I?.Click(location, control, params)
+ return
+
+ return TRUE
/atom/movable/screen/stored
name = "stored"
diff --git a/code/_onclick/hud/skybox.dm b/code/_onclick/hud/skybox.dm
index ba996a0e0c5..b16f281bbe7 100644
--- a/code/_onclick/hud/skybox.dm
+++ b/code/_onclick/hud/skybox.dm
@@ -69,7 +69,7 @@
/mob
var/obj/skybox/skybox
-/mob/Move()
+/mob/Move(newloc, direct)
. = ..()
if(. && skybox)
skybox.update()
diff --git a/code/client_macros.dm b/code/client_macros.dm
index b3dc7b4f318..ae6effd509c 100644
--- a/code/client_macros.dm
+++ b/code/client_macros.dm
@@ -1,6 +1,3 @@
-/client
- //control_freak = CONTROL_FREAK_ALL | CONTROL_FREAK_MACROS | CONTROL_FREAK_SKIN
-
var/list/registered_macros_by_ckey_
// Disables click and double-click macros, as per http://www.byond.com/forum/?post=2219001
diff --git a/code/controllers/admin.dm b/code/controllers/admin.dm
index 14da4161012..4d7e850a0ae 100644
--- a/code/controllers/admin.dm
+++ b/code/controllers/admin.dm
@@ -1,40 +1,3 @@
-// Clickable stat() button.
-/obj/effect/statclick
- name = "Initializing..."
- var/target
-
-INITIALIZE_IMMEDIATE(/obj/effect/statclick)
-
-/obj/effect/statclick/Initialize(mapload, text, target) //Don't port this to Initialize it's too critical
- . = ..()
- name = text
- src.target = target
-
-/obj/effect/statclick/proc/update(text)
- name = text
- return src
-
-/obj/effect/statclick/debug
- var/class
-
-/obj/effect/statclick/debug/Click()
- if(!usr.client.holder || !target)
- return
- if(!class)
- if(istype(target, /datum/controller/subsystem))
- class = "subsystem"
- else if(istype(target, /datum/controller))
- class = "controller"
- else if(istype(target, /datum))
- class = "datum"
- else
- class = "unknown"
-
- usr.client.debug_variables(target)
- message_admins("Admin [key_name_admin(usr)] is debugging the [target] [class].")
-
-
-// Debug verbs.
/client/proc/restart_controller(controller in list("Master", "Failsafe"))
set category = "Debug"
set name = "Restart Controller"
@@ -42,6 +5,7 @@ INITIALIZE_IMMEDIATE(/obj/effect/statclick)
if(!holder)
return
+
switch(controller)
if("Master")
Recreate_MC()
diff --git a/code/controllers/controller.dm b/code/controllers/controller.dm
index c9d5f1e5650..995dfdd34c3 100644
--- a/code/controllers/controller.dm
+++ b/code/controllers/controller.dm
@@ -1,7 +1,5 @@
/datum/controller
var/name
- // The object used for the clickable stat() button.
- var/obj/effect/statclick/statclick
/datum/controller/proc/Initialize()
@@ -16,4 +14,4 @@
/datum/controller/proc/Recover()
-/datum/controller/proc/stat_entry()
+/datum/controller/proc/stat_entry(msg)
diff --git a/code/controllers/failsafe.dm b/code/controllers/failsafe.dm
index da92e1dfc04..580977c58c6 100644
--- a/code/controllers/failsafe.dm
+++ b/code/controllers/failsafe.dm
@@ -95,8 +95,6 @@ GLOBAL_REAL(Failsafe, /datum/controller/failsafe)
/datum/controller/failsafe/proc/defcon_pretty()
return defcon
-/datum/controller/failsafe/stat_entry()
- if(!statclick)
- statclick = new /obj/effect/statclick/debug(null, "Initializing...", src)
-
- stat("Failsafe Controller:", statclick.update("Defcon: [defcon_pretty()] (Interval: [Failsafe.processing_interval] | Iteration: [Failsafe.master_iteration])"))
+/datum/controller/failsafe/stat_entry(msg)
+ msg = "Defcon: [defcon_pretty()] (Interval: [Failsafe.processing_interval] | Iteration: [Failsafe.master_iteration])"
+ return msg
diff --git a/code/controllers/globals.dm b/code/controllers/globals.dm
index 34435096a15..c419caa1c0b 100644
--- a/code/controllers/globals.dm
+++ b/code/controllers/globals.dm
@@ -38,11 +38,9 @@ GLOBAL_REAL(GLOB, /datum/controller/global_vars)
return QDEL_HINT_IWILLGC
-/datum/controller/global_vars/stat_entry()
- if(!statclick)
- statclick = new /obj/effect/statclick/debug(null, "Initializing...", src)
-
- stat("Globals:", statclick.update("Edit"))
+/datum/controller/global_vars/stat_entry(msg)
+ msg = "Edit"
+ return msg
/datum/controller/global_vars/VV_hidden()
return ..() + gvars_datum_protected_varlist
diff --git a/code/controllers/master.dm b/code/controllers/master.dm
index c996a86f83d..5b8ff91972b 100644
--- a/code/controllers/master.dm
+++ b/code/controllers/master.dm
@@ -1,3 +1,4 @@
+
/**
* StonedMC
*
@@ -119,7 +120,7 @@ GLOBAL_REAL(Master, /datum/controller/master) = new
var/msg = "## DEBUG: [time2text(world.timeofday)] MC restarted. Reports:\n"
for (var/varname in Master.vars)
switch (varname)
- if("name", "tag", "bestF", "type", "parent_type", "vars", "statclick") // Built-in junk.
+ if("name", "tag", "bestF", "type", "parent_type", "vars") // Built-in junk.
continue
else
var/varval = Master.vars[varname]
@@ -287,7 +288,10 @@ GLOBAL_REAL(Master, /datum/controller/master) = new
var/list/subsystems_to_check
//the actual loop.
while (1)
+ rustg_prom_counter_inc(PROM_MASTER_ITERATIONS, null)
+
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
@@ -504,11 +508,12 @@ GLOBAL_REAL(Master, /datum/controller/master) = new
continue
queue_node.ticks = MC_AVERAGE(queue_node.ticks, queue_node.paused_ticks)
- tick_usage += queue_node.paused_tick_usage
+ tick_usage += queue_node.paused_tick_usage
queue_node.tick_usage = MC_AVERAGE_FAST(queue_node.tick_usage, tick_usage)
queue_node.cost = MC_AVERAGE_FAST(queue_node.cost, TICK_DELTA_TO_MS(tick_usage))
+
queue_node.paused_ticks = 0
queue_node.paused_tick_usage = 0
@@ -582,12 +587,9 @@ GLOBAL_REAL(Master, /datum/controller/master) = new
-/datum/controller/master/stat_entry()
- if(!statclick)
- statclick = new /obj/effect/statclick/debug(null, "Initializing...", src)
-
- stat("Byond:", "(FPS:[world.fps]) (TickCount:[world.time/world.tick_lag]) (TickDrift:[round(Master.tickdrift,1)]([round((Master.tickdrift/(world.time/world.tick_lag))*100,0.1)]%))")
- stat("Master Controller:", statclick.update("(TickRate:[Master.processing]) (Iteration:[Master.iteration])"))
+/datum/controller/master/stat_entry(msg)
+ msg = "(TickRate:[Master.processing]) (Iteration:[Master.iteration])"
+ return msg
/datum/controller/master/StartLoadingMap()
//disallow more than one map to load at once, multithreading it will just cause race conditions
diff --git a/code/controllers/subsystem.dm b/code/controllers/subsystem.dm
index 7a164625aa5..6677afdfa99 100644
--- a/code/controllers/subsystem.dm
+++ b/code/controllers/subsystem.dm
@@ -169,25 +169,19 @@
//hook for printing stats to the "MC" statuspanel for admins to see performance and related stats etc.
/datum/controller/subsystem/stat_entry(msg)
- if(!statclick)
- statclick = new /obj/effect/statclick/debug(null, "Initializing...", src)
-
var/pre_msg
- if (flags & SS_NO_FIRE)
+ if(flags & SS_NO_FIRE)
pre_msg = "NOT FIRED"
- else if (can_fire && !suspended)
+ else if(can_fire && !suspended)
pre_msg = "[round(cost,1)]ms|[round(tick_usage,1)]%([round(tick_overrun,1)]%)|[round(ticks,0.1)]"
- else if (!can_fire)
+ else if(!can_fire)
pre_msg = "OFFLINE"
else
pre_msg = "SUSPEND"
- msg = "[pre_msg]\t[msg]"
- var/title = name
- if (can_fire)
- title = "\[[state_letter()]][title]"
+ msg = "[pre_msg]\t[msg]"
- stat(title, statclick.update(msg))
+ return msg
/datum/controller/subsystem/proc/state_letter()
switch (state)
diff --git a/code/controllers/subsystems/air.dm b/code/controllers/subsystems/air.dm
index e500950d01d..e253caf3bcf 100644
--- a/code/controllers/subsystems/air.dm
+++ b/code/controllers/subsystems/air.dm
@@ -117,7 +117,7 @@ SUBSYSTEM_DEF(air)
next_fire = world.time + wait
can_fire = TRUE
-/datum/controller/subsystem/air/stat_entry()
+/datum/controller/subsystem/air/stat_entry(msg)
var/list/out = list(
"TtU:[tiles_to_update.len] ",
"ZtU:[zones_to_update.len] ",
@@ -125,7 +125,10 @@ SUBSYSTEM_DEF(air)
"AH:[active_hotspots.len] ",
"AE:[active_edges.len]"
)
- ..(out.Join())
+
+ msg = out.Join()
+
+ return ..()
/datum/controller/subsystem/air/Initialize(timeofday, simulate = TRUE)
diff --git a/code/controllers/subsystems/alarm.dm b/code/controllers/subsystems/alarm.dm
index 2cca117bff3..970e2600110 100644
--- a/code/controllers/subsystems/alarm.dm
+++ b/code/controllers/subsystems/alarm.dm
@@ -41,5 +41,6 @@ SUBSYSTEM_DEF(alarm)
/datum/controller/subsystem/alarm/proc/number_of_active_alarms()
return active_alarm_cache.len
-/datum/controller/subsystem/alarm/stat_entry()
- ..("[number_of_active_alarms()] alarm\s")
+/datum/controller/subsystem/alarm/stat_entry(msg)
+ msg = "[number_of_active_alarms()] alarm\s"
+ return ..()
diff --git a/code/controllers/subsystems/antags.dm b/code/controllers/subsystems/antags.dm
index 96bfc2a8133..dd3c44521d7 100644
--- a/code/controllers/subsystems/antags.dm
+++ b/code/controllers/subsystems/antags.dm
@@ -10,4 +10,5 @@ SUBSYSTEM_DEF(antags)
. = ..()
/datum/controller/subsystem/antags/stat_entry(msg)
- ..("[GLOB.all_antag_types_.len] antag datums")
+ msg = "[GLOB.all_antag_types_.len] antag datums"
+ return ..()
diff --git a/code/controllers/subsystems/atoms.dm b/code/controllers/subsystems/atoms.dm
index 35e8b2fbd46..5dce8058d12 100644
--- a/code/controllers/subsystems/atoms.dm
+++ b/code/controllers/subsystems/atoms.dm
@@ -109,7 +109,8 @@ SUBSYSTEM_DEF(atoms)
return qdeleted || QDELING(A)
/datum/controller/subsystem/atoms/stat_entry(msg)
- ..("Bad Initialize Calls:[BadInitializeCalls.len]")
+ msg = "Bad Initialize Calls:[BadInitializeCalls.len]"
+ return ..()
/datum/controller/subsystem/atoms/proc/map_loader_begin()
old_init_state = init_state
diff --git a/code/controllers/subsystems/circuit_component.dm b/code/controllers/subsystems/circuit_component.dm
index 8e6d77b61c7..3c4b2a08964 100644
--- a/code/controllers/subsystems/circuit_component.dm
+++ b/code/controllers/subsystems/circuit_component.dm
@@ -9,8 +9,9 @@ SUBSYSTEM_DEF(circuit_components)
var/list/queued_components = list() // Queue of components for activation
var/position = 1 // Helper index to order newly activated components properly
-/datum/controller/subsystem/circuit_components/stat_entry()
- ..("C:[queued_components.len]")
+/datum/controller/subsystem/circuit_components/stat_entry(msg)
+ msg = "C:[queued_components.len]"
+ return ..()
/datum/controller/subsystem/circuit_components/fire(resumed = FALSE)
if(paused_ticks >= 10) // The likeliest fail mode, due to the fast tick rate, is that it can never clear the full queue, running resumed every tick and accumulating a backlog.
diff --git a/code/controllers/subsystems/explosion.dm b/code/controllers/subsystems/explosion.dm
index b0c4fe8f522..d91e76b5471 100644
--- a/code/controllers/subsystems/explosion.dm
+++ b/code/controllers/subsystems/explosion.dm
@@ -33,8 +33,7 @@ SUBSYSTEM_DEF(explosions)
var/currentpart = SSEXPLOSIONS_TURFS
-/datum/controller/subsystem/explosions/stat_entry()
- var/msg = ""
+/datum/controller/subsystem/explosions/stat_entry(msg)
msg += "C:{"
msg += "LT:[round(cost_lowturf,1)]|"
msg += "MT:[round(cost_medturf,1)]|"
@@ -60,7 +59,8 @@ SUBSYSTEM_DEF(explosions)
msg += "TO:[throwturf.len]"
msg += "} "
- ..(msg)
+
+ return ..()
#define SSEX_TURF "turf"
#define SSEX_OBJ "obj"
@@ -324,6 +324,9 @@ SUBSYSTEM_DEF(explosions)
else
creaking = FALSE
+ if(creaking)
+ SSmachines.flicker_all_lights()
+
for(var/mob/listener as anything in GLOB.player_list)
var/turf/listener_turf = get_turf(listener)
if(!listener_turf || listener_turf.z != blast_z)
diff --git a/code/controllers/subsystems/garbage.dm b/code/controllers/subsystems/garbage.dm
index c2a94b72c17..f0aff62b4eb 100644
--- a/code/controllers/subsystems/garbage.dm
+++ b/code/controllers/subsystems/garbage.dm
@@ -63,7 +63,7 @@ SUBSYSTEM_DEF(garbage)
msg += "TGR:[round((totalgcs/(totaldels+totalgcs))*100, 0.01)]%"
msg += " P:[pass_counts.Join(",")]"
msg += "|F:[fail_counts.Join(",")]"
- ..(msg)
+ return ..()
/datum/controller/subsystem/garbage/Shutdown()
//Adds the del() log to the qdel log file
@@ -153,6 +153,8 @@ SUBSYSTEM_DEF(garbage)
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
+ rustg_prom_counter_inc(PROM_GC_COLLECTED, null)
+
pass_counts[level]++
#ifdef TESTING
reference_find_on_fail -= refID //It's deleted we don't care anymore.
@@ -180,6 +182,7 @@ SUBSYSTEM_DEF(garbage)
if(!I.failures)
to_world_log("GC: -- \ref[D] | [type] was unable to be GC'd --")
I.failures++
+ rustg_prom_counter_inc(PROM_GC_ITEM_FAILURES, list("name" = I.name))
if(GC_QUEUE_HARDDELETE)
if(avoid_harddel)
continue
@@ -217,6 +220,8 @@ SUBSYSTEM_DEF(garbage)
var/ticktime = world.time
++delslasttick
++totaldels
+ rustg_prom_counter_inc(PROM_GC_HARD_DELS, null)
+
var/type = D.type
var/refID = "\ref[D]"
@@ -228,6 +233,7 @@ SUBSYSTEM_DEF(garbage)
I.hard_deletes++
I.hard_delete_time += TICK_DELTA_TO_MS(tick)
+ rustg_prom_counter_inc(PROM_GC_ITEM_HARD_DELETES, list("name" = I.name))
if(tick > highest_del_tickusage)
@@ -288,6 +294,7 @@ SUBSYSTEM_DEF(garbage)
if(!I)
I = SSgarbage.items[D.type] = new /datum/qdel_item(D.type)
I.qdels++
+ rustg_prom_counter_inc(PROM_GC_ITEM_QDELS, list("name" = I.name))
if(isnull(D.gc_destroyed))
// Give the components a chance to prevent their parent from being deleted.
diff --git a/code/controllers/subsystems/inactivity.dm b/code/controllers/subsystems/inactivity.dm
index 665e305135b..62655f29ff3 100644
--- a/code/controllers/subsystems/inactivity.dm
+++ b/code/controllers/subsystems/inactivity.dm
@@ -24,5 +24,6 @@ SUBSYSTEM_DEF(inactivity)
if(MC_TICK_CHECK)
return
-/datum/controller/subsystem/inactivity/stat_entry()
- ..("Kicked: [number_kicked]")
+/datum/controller/subsystem/inactivity/stat_entry(msg)
+ msg = "Kicked: [number_kicked]"
+ return ..()
diff --git a/code/controllers/subsystems/lighting.dm b/code/controllers/subsystems/lighting.dm
index b08665a8b64..ce06b409cfb 100644
--- a/code/controllers/subsystems/lighting.dm
+++ b/code/controllers/subsystems/lighting.dm
@@ -29,12 +29,15 @@ SUBSYSTEM_DEF(lighting)
var/tmp/processed_corners = 0
var/tmp/processed_overlays = 0
-/datum/controller/subsystem/lighting/stat_entry()
+/datum/controller/subsystem/lighting/stat_entry(msg)
var/list/out = list("Queued:{L:[light_queue.len] C:[corner_queue.len] O:[overlay_queue.len]}")
- for (var/stype in stats_lists)
+
+ for(var/stype in stats_lists)
out += "[stype] updates: [jointext(stats_lists[stype], " | ")]"
- ..(out.Join("\n"))
+ msg = out.Join("\n")
+
+ return ..()
/datum/controller/subsystem/lighting/Initialize()
InitializeTurfs()
diff --git a/code/controllers/subsystems/machines.dm b/code/controllers/subsystems/machines.dm
index 716f5cb94ca..29077e3c77e 100644
--- a/code/controllers/subsystems/machines.dm
+++ b/code/controllers/subsystems/machines.dm
@@ -90,11 +90,9 @@ SUBSYSTEM_DEF(machines)
CHECK_TICK
-/datum/controller/subsystem/machines/stat_entry()
- var/msg = list()
- msg += "M:[processing.len]|"
- msg += "PN:[powernets.len]"
- ..(jointext(msg, null))
+/datum/controller/subsystem/machines/stat_entry(msg)
+ msg = "M:[processing.len]|PN:[powernets.len]"
+ return ..()
/datum/controller/subsystem/machines/fire(resumed, no_mc_tick)
@@ -197,3 +195,13 @@ SUBSYSTEM_DEF(machines)
else if(MC_TICK_CHECK)
queue.Cut(i)
return
+
+/datum/controller/subsystem/machines/proc/flicker_all_lights()
+ for(var/obj/machinery/light/L in machinery)
+ if(!(L.z in GLOB.using_map.get_levels_with_trait(ZTRAIT_STATION)))
+ continue
+
+ if(!prob(95))
+ continue
+
+ L.flicker(rand(2, 5))
diff --git a/code/controllers/subsystems/mapping.dm b/code/controllers/subsystems/mapping.dm
index 308e954baf9..ed427bfbc3f 100644
--- a/code/controllers/subsystems/mapping.dm
+++ b/code/controllers/subsystems/mapping.dm
@@ -4,18 +4,29 @@ SUBSYSTEM_DEF(mapping)
flags = SS_NO_FIRE
var/list/map_templates = list()
- var/list/random_room_templates = list()
+ var/list/holodeck_templates = list()
/datum/controller/subsystem/mapping/Initialize(timeofday)
preloadTemplates()
+ preloadHolodeckTemplates()
return ..()
/datum/controller/subsystem/mapping/Recover()
flags |= SS_NO_INIT
map_templates = SSmapping.map_templates
+ holodeck_templates = SSmapping.holodeck_templates
/datum/controller/subsystem/mapping/proc/preloadTemplates(path = "maps/templates/") //see master controller setup
var/list/filelist = flist(path)
for(var/map in filelist)
var/datum/map_template/T = new(paths = list("[path][map]"), rename = "[map]")
map_templates[T.name] = T
+
+/datum/controller/subsystem/mapping/proc/preloadHolodeckTemplates(path = "maps/templates/")
+ for(var/item in subtypesof(/datum/map_template/holodeck))
+ var/datum/map_template/holodeck/holodeck_type = item
+ if(!initial(holodeck_type.mappaths))
+ continue
+
+ var/datum/map_template/holodeck/holodeck_template = new holodeck_type()
+ holodeck_templates[holodeck_template.template_id] = holodeck_template
diff --git a/code/controllers/subsystems/open_space.dm b/code/controllers/subsystems/open_space.dm
index 17a33593803..886132721fb 100644
--- a/code/controllers/subsystems/open_space.dm
+++ b/code/controllers/subsystems/open_space.dm
@@ -45,8 +45,9 @@ SUBSYSTEM_DEF(open_space)
if(!length(turfs_to_process))
suspend()
-/datum/controller/subsystem/open_space/stat_entry()
- ..("T: [length(turfs_to_process)], U: [times_updated]")
+/datum/controller/subsystem/open_space/stat_entry(msg)
+ msg = "T: [length(turfs_to_process)], U: [times_updated]"
+ return ..()
/datum/controller/subsystem/open_space/proc/update_turf(turf/T)
for(var/atom/movable/A in T)
diff --git a/code/controllers/subsystems/overlays.dm b/code/controllers/subsystems/overlays.dm
index 7432585c042..c47236e0308 100644
--- a/code/controllers/subsystems/overlays.dm
+++ b/code/controllers/subsystems/overlays.dm
@@ -45,8 +45,9 @@ SUBSYSTEM_DEF(overlays)
fire(FALSE, TRUE)
-/datum/controller/subsystem/overlays/stat_entry()
- ..("Queued Atoms: [length(queue)], Cache Size: [cache_size]")
+/datum/controller/subsystem/overlays/stat_entry(msg)
+ msg = "Queued Atoms: [length(queue)], Cache Size: [cache_size]"
+ return ..()
/datum/controller/subsystem/overlays/fire(resumed, no_mc_tick)
diff --git a/code/controllers/subsystems/processing/icon_updates.dm b/code/controllers/subsystems/processing/icon_updates.dm
index 135a80e589b..faebbfcc263 100644
--- a/code/controllers/subsystems/processing/icon_updates.dm
+++ b/code/controllers/subsystems/processing/icon_updates.dm
@@ -7,8 +7,9 @@ PROCESSING_SUBSYSTEM_DEF(icon_update)
var/list/queue = list()
-/datum/controller/subsystem/processing/icon_update/stat_entry()
- ..("QU:[queue.len]")
+/datum/controller/subsystem/processing/icon_update/stat_entry(msg)
+ msg = "QU:[queue.len]"
+ return ..()
/datum/controller/subsystem/processing/icon_update/Initialize()
fire(FALSE, TRUE)
diff --git a/code/controllers/subsystems/processing/mobs.dm b/code/controllers/subsystems/processing/mobs.dm
index d51fbaac720..982e5cdeb09 100644
--- a/code/controllers/subsystems/processing/mobs.dm
+++ b/code/controllers/subsystems/processing/mobs.dm
@@ -8,12 +8,15 @@ PROCESSING_SUBSYSTEM_DEF(mobs)
// List of Z levels where player are
var/static/list/player_levels = list()
var/static/list/mob_list = list()
+ /// Count of mobs per type
+ var/static/list/mob_types = list()
/datum/controller/subsystem/processing/mobs/PreInit()
mob_list = processing // Simply setups a more recognizable var name than "processing"
/datum/controller/subsystem/processing/mobs/fire(resumed = 0)
if(!resumed)
+ mob_types.Cut()
current_run = processing.Copy()
player_levels.Cut()
for(var/P in GLOB.player_list)
@@ -31,6 +34,12 @@ PROCESSING_SUBSYSTEM_DEF(mobs)
processing -= thing
continue
+ var/ty = "[thing.type]"
+ if(!mob_types[ty])
+ mob_types[ty] = 1
+ else
+ mob_types[ty] += 1
+
var/turf/T = get_turf(thing)
if(thing.client || (istype(T) && (T.z in player_levels)) || thing.teleop)
thing.Life()
diff --git a/code/controllers/subsystems/processing/obj_tab_items.dm b/code/controllers/subsystems/processing/obj_tab_items.dm
new file mode 100644
index 00000000000..4bb09613cd0
--- /dev/null
+++ b/code/controllers/subsystems/processing/obj_tab_items.dm
@@ -0,0 +1,26 @@
+PROCESSING_SUBSYSTEM_DEF(obj_tab_items)
+ name = "Obj Tab Items"
+ flags = SS_NO_INIT
+ runlevels = RUNLEVEL_LOBBY | RUNLEVELS_DEFAULT
+ wait = 0.1 SECONDS
+
+/datum/controller/subsystem/processing/obj_tab_items/fire(resumed = FALSE)
+ if(!resumed)
+ current_run = processing.Copy()
+
+ //cache for sanic speed (lists are references anyways)
+ var/list/currentrun = current_run
+
+ while(currentrun.len)
+ var/datum/thing = current_run[current_run.len]
+
+ current_run.len--
+
+ if(QDELETED(thing))
+ processing -= thing
+ else if(thing.Process() == PROCESS_KILL)
+ // fully stop so that a future START_PROCESSING will work
+ STOP_PROCESSING(src, thing)
+
+ if(MC_TICK_CHECK)
+ return
diff --git a/code/controllers/subsystems/processing/processing.dm b/code/controllers/subsystems/processing/processing.dm
index 46cf71eaada..80fdc8167e6 100644
--- a/code/controllers/subsystems/processing/processing.dm
+++ b/code/controllers/subsystems/processing/processing.dm
@@ -13,8 +13,9 @@ SUBSYSTEM_DEF(processing)
var/debug_last_thing
var/debug_original_process_proc // initial() does not work with procs
-/datum/controller/subsystem/processing/stat_entry()
- ..("P:[processing.len]")
+/datum/controller/subsystem/processing/stat_entry(msg)
+ msg = "P:[processing.len]"
+ return ..()
/datum/controller/subsystem/processing/fire(resumed = 0)
if (!resumed)
diff --git a/code/controllers/subsystems/processing/think.dm b/code/controllers/subsystems/processing/think.dm
index 5eee62af8b3..849d01c0578 100644
--- a/code/controllers/subsystems/processing/think.dm
+++ b/code/controllers/subsystems/processing/think.dm
@@ -12,20 +12,20 @@ SUBSYSTEM_DEF(think)
var/last_group = 1
var/next_possible_run = 0
-/datum/controller/subsystem/think/stat_entry()
- var/msg = "G:("
+/datum/controller/subsystem/think/stat_entry(msg)
+ msg = "G:("
for(var/grp in contexts_groups)
msg += "[length(grp)],"
-
+
msg += "), NR:("
for(var/next_run in next_group_run)
msg += "[next_run],"
-
+
msg += ")"
- ..(msg)
+ return ..()
/datum/controller/subsystem/think/fire(resumed = 0)
if(!resumed)
@@ -61,7 +61,7 @@ SUBSYSTEM_DEF(think)
if(world.time >= ctx.next_think)
var/last_think = world.time
- ctx.callback.Invoke()
+ ctx.callback.Invoke(arglist(ctx.arguments))
ctx.last_think = last_think
else
if(next_possible_run == 0)
@@ -71,7 +71,7 @@ SUBSYSTEM_DEF(think)
if (MC_TICK_CHECK)
return
-
+
if(next_possible_run != 0)
if(next_group_run[last_group] == 0)
next_group_run[last_group] = next_possible_run
diff --git a/code/controllers/subsystems/prometheus.dm b/code/controllers/subsystems/prometheus.dm
new file mode 100644
index 00000000000..5e17899b593
--- /dev/null
+++ b/code/controllers/subsystems/prometheus.dm
@@ -0,0 +1,37 @@
+SUBSYSTEM_DEF(prometheus)
+ name = "Prometheus"
+ wait = 10 SECONDS
+ priority = SS_PRIORITY_PROMETHEUS
+ flags = SS_NO_INIT
+ runlevels = RUNLEVELS_ALL
+
+/datum/controller/subsystem/prometheus/fire(resumed = 0)
+ if(!config.general.prometheus_port)
+ return
+
+ // Master
+ rustg_prom_gauge_float_set(PROM_MASTER_TICK_DRIFT, (Master.tickdrift / (world.time / world.tick_lag)) * 100, null)
+
+ // Players
+ rustg_prom_gauge_int_set(PROM_TOTAL_PLAYERS, length(GLOB.player_list), null)
+
+ // Subsystems
+ for(var/datum/controller/subsystem/S in Master.subsystems)
+ rustg_prom_gauge_float_set(PROM_SUBSYSTEM_TICK_OVERRUN, S.tick_overrun, list("name" = S.name))
+ rustg_prom_gauge_float_set(PROM_SUBSYSTEM_TICKS_TO_RUN, S.ticks, list("name" = S.name))
+ rustg_prom_gauge_float_set(PROM_SUBSYSTEM_TICK_USAGE, S.tick_usage, list("name" = S.name))
+ rustg_prom_gauge_float_set(PROM_SUBSYSTEM_COST, S.cost / 1000, list("name" = S.name))
+
+ // GC
+ var/total_gc = 0
+
+ for(var/list/L in SSgarbage.queues)
+ total_gc += length(L)
+
+ rustg_prom_gauge_int_set(PROM_GC_QUEUED, total_gc, null)
+
+ // Mobs
+ rustg_prom_gauge_int_set(PROM_MOBS_TOTAL, length(SSmobs.mob_list), null)
+
+ for(var/K in SSmobs.mob_types)
+ rustg_prom_gauge_int_set(PROM_MOBS_INSTANCE_TOTAL, SSmobs.mob_types[K], list("name" = K))
diff --git a/code/controllers/subsystems/radiation.dm b/code/controllers/subsystems/radiation.dm
index b558a39eadb..ae44996267f 100644
--- a/code/controllers/subsystems/radiation.dm
+++ b/code/controllers/subsystems/radiation.dm
@@ -76,8 +76,9 @@ SUBSYSTEM_DEF(radiation)
if (MC_TICK_CHECK)
return
-/datum/controller/subsystem/radiation/stat_entry()
- ..("S:[sources.len]")
+/datum/controller/subsystem/radiation/stat_entry(msg)
+ msg = "S:[sources.len]"
+ return ..()
/// Returns Gy
/datum/controller/subsystem/radiation/proc/get_total_absorbed_dose_at_turf(turf/T, weight = AVERAGE_HUMAN_WEIGHT)
diff --git a/code/controllers/subsystems/radio.dm b/code/controllers/subsystems/radio.dm
index 3492f973167..348fefc4b41 100644
--- a/code/controllers/subsystems/radio.dm
+++ b/code/controllers/subsystems/radio.dm
@@ -6,7 +6,8 @@ SUBSYSTEM_DEF(radio)
var/list/frequencies = list()
/datum/controller/subsystem/radio/stat_entry(msg)
- ..("F:[length(frequencies)]")
+ msg = "F:[length(frequencies)]"
+ return ..()
/**
* Adds an object to the specified frequency with a specified filter.
diff --git a/code/controllers/subsystems/shuttle.dm b/code/controllers/subsystems/shuttle.dm
index 5044915067f..f3aa9bfcffd 100644
--- a/code/controllers/subsystems/shuttle.dm
+++ b/code/controllers/subsystems/shuttle.dm
@@ -61,5 +61,6 @@ SUBSYSTEM_DEF(shuttle)
if(initial(shuttle.category) != shuttle_type)
shuttle = new shuttle()
-/datum/controller/subsystem/shuttle/stat_entry()
- ..("S:[shuttles.len], L:[registered_shuttle_landmarks.len], Landmarks w/o Sector:[landmarks_awaiting_sector.len], Missing Landmarks:[landmarks_still_needed.len]")
+/datum/controller/subsystem/shuttle/stat_entry(msg)
+ msg = "S:[shuttles.len], L:[registered_shuttle_landmarks.len], Landmarks w/o Sector:[landmarks_awaiting_sector.len], Missing Landmarks:[landmarks_still_needed.len]"
+ return ..()
diff --git a/code/controllers/subsystems/statpanels.dm b/code/controllers/subsystems/statpanels.dm
new file mode 100644
index 00000000000..e7f0e0ea582
--- /dev/null
+++ b/code/controllers/subsystems/statpanels.dm
@@ -0,0 +1,249 @@
+SUBSYSTEM_DEF(statpanels)
+ name = "Stat Panels"
+ wait = 4
+ init_order = SS_INIT_STATPANELS
+ priority = SS_PRIORITY_STATPANELS
+ runlevels = RUNLEVELS_DEFAULT | RUNLEVEL_LOBBY
+ flags = SS_NO_INIT | SS_TICKER
+
+ /// List of `/client` to send updates to.
+ var/list/client/current_run = list()
+ /// List of pre-generated Status tab data.
+ var/list/global_data
+ /// List of pre-generated MC tsb data.
+ var/list/mc_data
+
+ ///how many subsystem fires between most tab updates
+ var/default_wait = 10
+ ///how many subsystem fires between updates of the status tab
+ var/status_wait = 2
+ ///how many subsystem fires between updates of the MC tab
+ var/mc_wait = 5
+ ///how many full runs this subsystem has completed. used for variable rate refreshes.
+ var/num_fires = 0
+
+/datum/controller/subsystem/statpanels/fire(resumed = FALSE)
+ if(!resumed)
+ num_fires++
+
+ global_data = list(
+ "Map: [GLOB.using_map?.name || "Loading..."]",
+ "Round ID: [game_id || "NULL"]",
+ "Server Time: [time2text(world.timeofday, "YYYY-MM-DD hh:mm:ss")]",
+ "Round Time: [roundduration2text()]",
+ "Station Time: [stationtime2text()]",
+ "Station Date: [stationdate2text()]",
+ "",
+ )
+
+ if(evacuation_controller.has_eta())
+ var/eta_status = evacuation_controller.get_status_panel_eta()
+ if(length(eta_status))
+ global_data += "[eta_status]"
+
+ current_run = GLOB.clients.Copy()
+ mc_data = null
+
+ var/list/currentrun = src.current_run
+ while(length(currentrun))
+ var/client/target = currentrun[length(currentrun)]
+ currentrun.len--
+
+ if(!target.stat_panel.is_ready())
+ continue
+
+ if(target.stat_tab == "Status" && num_fires % status_wait == 0)
+ set_status_tab(target)
+
+ if(!target.holder)
+ target.stat_panel.send_message("remove_admin_tabs")
+ else
+ target.stat_panel.send_message("update_split_admin_tabs", target.get_preference_value("SPLIT_TABS") == GLOB.PREF_YES)
+
+ if(!("MC" in target.panel_tabs))
+ target.stat_panel.send_message("add_admin_tabs")
+
+ if(target.stat_tab == "MC" && ((num_fires % mc_wait == 0) || target.get_preference_value("FAST_REFRESH") == GLOB.PREF_YES))
+ set_MC_tab(target)
+
+ if(target.mob)
+ var/mob/target_mob = target.mob
+
+ // Handle the action panels of the stat panel
+
+ var/update_actions = FALSE
+
+ if(target.stat_tab in target.spell_tabs)
+ update_actions = TRUE
+
+ if(!length(target.spell_tabs) && (length(target_mob?.ability_master?.ability_objects) || istype(target_mob?.back, /obj/item/rig)))
+ update_actions = TRUE
+
+ if(update_actions && num_fires % default_wait == 0)
+ set_action_tabs(target, target_mob)
+
+ // Handle the examined turf of the stat panel, if it's been long enough, or if we've generated new images for it
+ var/turf/listed_turf = target_mob?.listed_turf
+ if(listed_turf && num_fires % default_wait == 0)
+ if(target.stat_tab == listed_turf.name || !(listed_turf.name in target.panel_tabs))
+ set_turf_examine_tab(target, target_mob)
+
+ if(MC_TICK_CHECK)
+ return
+
+/datum/controller/subsystem/statpanels/proc/set_status_tab(client/target)
+ if(!global_data)//statbrowser hasnt fired yet and we were called from immediate_send_stat_data()
+ return
+
+ target.stat_panel.send_message("update_stat", list(
+ "global_data" = global_data,
+ "other_str" = target.mob?.get_status_tab_items(),
+ ))
+
+/datum/controller/subsystem/statpanels/proc/set_MC_tab(client/target)
+ var/turf/eye_turf = get_turf(target.eye)
+ var/coord_entry = isnull(eye_turf) ? "unknown location" : "([eye_turf.x], [eye_turf.y], [eye_turf.z]) [eye_turf]"
+ if(!mc_data)
+ generate_mc_data()
+ target.stat_panel.send_message("update_mc", list("mc_data" = mc_data, "coord_entry" = coord_entry))
+
+/// Set up the various action tabs.
+/datum/controller/subsystem/statpanels/proc/set_action_tabs(client/target, mob/target_mob)
+ var/list/actions = target_mob.get_actions_for_statpanel()
+ target.spell_tabs.Cut()
+
+ for(var/action_data in actions)
+ target.spell_tabs |= action_data[1]
+
+ target.stat_panel.send_message("update_spells", list(spell_tabs = target.spell_tabs, actions = actions))
+
+/datum/controller/subsystem/statpanels/proc/set_turf_examine_tab(client/target, mob/target_mob)
+ var/list/overrides = list()
+ for(var/image/target_image as anything in target.images)
+ if(!target_image.loc || target_image.loc.loc != target_mob.listed_turf || !target_image.override)
+ continue
+
+ overrides += target_image.loc
+
+ var/list/atoms_to_display = list(target_mob.listed_turf)
+ for(var/atom/movable/turf_content as anything in target_mob.listed_turf)
+ if(!turf_content.mouse_opacity)
+ continue
+
+ if(turf_content.invisibility > target_mob.see_invisible)
+ continue
+
+ if(turf_content in overrides)
+ continue
+
+ atoms_to_display += turf_content
+
+ /// Set the atoms we're meant to display
+ var/datum/object_window_info/obj_window = target.obj_window
+ obj_window.atoms_to_show = atoms_to_display
+ START_PROCESSING(SSobj_tab_items, obj_window)
+ refresh_client_obj_view(target)
+
+/datum/controller/subsystem/statpanels/proc/refresh_client_obj_view(client/refresh)
+ var/list/turf_items = return_object_images(refresh)
+ if(!length(turf_items) || isnull(refresh.mob?.listed_turf))
+ return
+
+ refresh.stat_panel.send_message("update_listedturf", turf_items)
+
+#define OBJ_IMAGE_LOADING "statpanels obj loading temporary"
+
+/**
+ * Returns a list of generated images in format `list(list(object_name, object_ref, loaded_image), ...)`,
+ * handles queueing generation to `/object_window_info`.
+ */
+/datum/controller/subsystem/statpanels/proc/return_object_images(client/load_from)
+ // You might be inclined to think that this is a waste of cpu time, since we
+ // A: Double iterate over atoms in the build case, or
+ // B: Generate these lists over and over in the refresh case
+ // It's really not very hot. The hot portion of this code is genuinely mostly in the image generation
+ // So it's ok to pay a performance cost for cleanliness here
+
+ // No turf? go away
+ if(!load_from.mob?.listed_turf)
+ return list()
+
+ var/datum/object_window_info/obj_window = load_from.obj_window
+ var/list/already_seen = obj_window.atoms_to_images
+ var/list/to_make = obj_window.atoms_to_imagify
+ var/list/turf_items = list()
+ for(var/atom/turf_item as anything in obj_window.atoms_to_show)
+ // First, we fill up the list of refs to display
+ // If we already have one, just use that
+ var/existing_image = already_seen[turf_item]
+ if(existing_image == OBJ_IMAGE_LOADING)
+ continue
+
+ // We already have it. Success!
+ if(existing_image)
+ turf_items[++turf_items.len] = list("[turf_item.name]", ref(turf_item), existing_image)
+ continue
+
+ // Now, we're gonna queue image generation out of those refs
+ to_make += turf_item
+ already_seen[turf_item] = OBJ_IMAGE_LOADING
+ obj_window.register_signal(turf_item, SIGNAL_QDELETING, nameof(/datum/object_window_info.proc/viewing_atom_deleted)) // we reset cache if anything in it gets deleted
+
+ return turf_items
+
+#undef OBJ_IMAGE_LOADING
+
+/datum/controller/subsystem/statpanels/proc/generate_mc_data()
+ mc_data = list(
+ list("CPU:", world.cpu),
+ list("Instances:", "[num2text(world.contents.len, 10)]"),
+ list("World Time:", "[world.time]"),
+ list("Globals:", GLOB.stat_entry(), ref(GLOB)),
+ list("Byond:", "(FPS:[world.fps]) (TickCount:[world.time/world.tick_lag]) (TickDrift:[round(Master.tickdrift,1)]([round((Master.tickdrift/(world.time/world.tick_lag))*100,0.1)]%))"),
+ list("Master Controller:", Master?.stat_entry() || "ERROR", ref(Master)),
+ list("Failsafe Controller:", Failsafe?.stat_entry() || "ERROR", ref(Failsafe)),
+ list("","")
+ )
+ for(var/datum/controller/subsystem/sub_system as anything in Master.subsystems)
+ mc_data[++mc_data.len] = list("\[[sub_system.state_letter()]][sub_system.name]", sub_system.stat_entry(), ref(sub_system))
+
+/// Immediately updates the active statpanel tab of the target client.
+/datum/controller/subsystem/statpanels/proc/immediate_send_stat_data(client/target)
+ if(!target.stat_panel.is_ready())
+ return FALSE
+
+ if(target.stat_tab == "Status")
+ set_status_tab(target)
+ return TRUE
+
+ var/mob/target_mob = target.mob
+
+ // Handle actions
+
+ var/update_actions = FALSE
+ if(target.stat_tab in target.spell_tabs)
+ update_actions = TRUE
+
+ if(!length(target.spell_tabs) && (length(target_mob?.ability_master?.ability_objects) || istype(target_mob?.back, /obj/item/rig)))
+ update_actions = TRUE
+
+ if(update_actions)
+ set_action_tabs(target, target_mob)
+ return TRUE
+
+ // Handle turfs
+
+ if(target_mob?.listed_turf)
+ if(!target_mob.TurfAdjacent(target_mob.listed_turf))
+ target_mob.set_listed_turf(null)
+
+ else if(target.stat_tab == target_mob?.listed_turf.name || !(target_mob?.listed_turf.name in target.panel_tabs))
+ set_turf_examine_tab(target, target_mob)
+ return TRUE
+
+ if(!target.holder)
+ return FALSE
+
+ if(target.stat_tab == "MC")
+ set_MC_tab(target)
+ return TRUE
diff --git a/code/controllers/subsystems/sun.dm b/code/controllers/subsystems/sun.dm
index 181b8ad1964..0d3e6651870 100644
--- a/code/controllers/subsystems/sun.dm
+++ b/code/controllers/subsystems/sun.dm
@@ -7,5 +7,6 @@ SUBSYSTEM_DEF(sun)
/datum/controller/subsystem/sun/fire()
GLOB.sun.calc_position()
-/datum/controller/subsystem/sun/stat_entry()
- ..("Angle:[GLOB.sun.angle]")
+/datum/controller/subsystem/sun/stat_entry(msg)
+ msg = "Angle:[GLOB.sun.angle]"
+ return ..()
diff --git a/code/controllers/subsystems/supply.dm b/code/controllers/subsystems/supply.dm
index 6ab338d4695..c9f89ad5492 100644
--- a/code/controllers/subsystems/supply.dm
+++ b/code/controllers/subsystems/supply.dm
@@ -56,8 +56,9 @@ SUBSYSTEM_DEF(supply)
/datum/controller/subsystem/supply/fire()
add_points_from_source(points_per_process, "time")
-/datum/controller/subsystem/supply/stat_entry()
- ..("Points: [points]")
+/datum/controller/subsystem/supply/stat_entry(msg)
+ msg = "Points: [points]"
+ return ..()
//Supply-related helper procs.
diff --git a/code/controllers/subsystems/ticker.dm b/code/controllers/subsystems/ticker.dm
index 0c97fcb7222..6d128b34137 100644
--- a/code/controllers/subsystems/ticker.dm
+++ b/code/controllers/subsystems/ticker.dm
@@ -27,6 +27,11 @@ SUBSYSTEM_DEF(ticker)
var/list/antag_pool = list()
var/looking_for_antags = 0
+ /// Amount of new players in lobby during roundstart, used in stat panel.
+ var/total_players
+ /// Amount of ready new players in lobby during roundstart, used in stat panel.
+ var/total_players_ready
+
var/pregame_timeleft
var/restart_timeout
@@ -50,8 +55,18 @@ SUBSYSTEM_DEF(ticker)
post_game_tick()
/datum/controller/subsystem/ticker/proc/pregame_tick()
+ total_players = 0
+ total_players_ready = 0
+
+ for(var/mob/new_player/player in GLOB.player_list)
+ total_players++
+
+ if(player.ready)
+ total_players_ready++
+
if(round_progressing && last_fire)
pregame_timeleft -= world.time - last_fire
+
if(pregame_timeleft <= 0 || auto_start)
pregame_timeleft = 0
Master.SetRunLevel(RUNLEVEL_SETUP)
@@ -173,30 +188,32 @@ SUBSYSTEM_DEF(ticker)
log_error("Ticker arrived at round end in an unexpected endgame state.")
-/datum/controller/subsystem/ticker/stat_entry()
+/datum/controller/subsystem/ticker/stat_entry(msg)
switch(GAME_STATE)
if(RUNLEVEL_LOBBY)
- ..("[round_progressing ? "START:[round(pregame_timeleft/10)]s" : "(PAUSED)"]")
+ msg = "[round_progressing ? "START:[round(pregame_timeleft/10)]s" : "(PAUSED)"]"
if(RUNLEVEL_SETUP)
- ..("SETUP")
+ msg = "SETUP"
if(RUNLEVEL_GAME)
- ..("GAME")
+ msg = "GAME"
if(RUNLEVEL_POSTGAME)
switch(end_game_state)
if(END_GAME_NOT_OVER)
- ..("ENDGAME ERROR")
+ msg = "ENDGAME ERROR"
if(END_GAME_AWAITING_MAP)
- ..("MAP VOTE")
+ msg = "MAP VOTE"
if(END_GAME_MODE_FINISH_DONE)
- ..("MODE OVER, WAITING")
+ msg = "MODE OVER, WAITING"
if(END_GAME_READY_TO_END)
- ..("ENDGAME PROCESSING")
+ msg = "ENDGAME PROCESSING"
if(END_GAME_DELAYED)
- ..("PAUSED")
+ msg = "PAUSED"
if(END_GAME_AWAITING_TICKETS)
- ..("AWAITING TICKETS")
+ msg = "AWAITING TICKETS"
if(END_GAME_ENDING)
- ..("END IN [round(restart_timeout/10)]s")
+ msg = "END IN [round(restart_timeout/10)]s"
+
+ return ..()
/datum/controller/subsystem/ticker/Recover()
pregame_timeleft = SSticker.pregame_timeleft
diff --git a/code/controllers/subsystems/timer.dm b/code/controllers/subsystems/timer.dm
deleted file mode 100644
index df94d879763..00000000000
--- a/code/controllers/subsystems/timer.dm
+++ /dev/null
@@ -1,662 +0,0 @@
-#define SHORT_REAL_LIMIT 16777216
-/// Controls how many buckets should be kept, each representing a tick. (1 minutes worth)
-#define BUCKET_LEN (world.fps*1*60)
-/// Helper for getting the correct bucket for a given timer
-#define BUCKET_POS(timer) (((round((timer.timeToRun - timer.timer_subsystem.head_offset) / world.tick_lag)+1) % BUCKET_LEN)||BUCKET_LEN)
-/// Gets the maximum time at which timers will be invoked from buckets, used for deferring to secondary queue
-#define TIMER_MAX(timer_ss) (timer_ss.head_offset + TICKS2DS(BUCKET_LEN + timer_ss.practical_offset - 1))
-/// Max float with integer precision
-#define TIMER_ID_MAX (2**24)
-
-/**
- * # Timer Subsystem
- *
- * Handles creation, callbacks, and destruction of timed events.
- *
- * It is important to understand the buckets used in the timer subsystem are just a series of doubly-linked
- * lists. The object at a given index in bucket_list is a /datum/timedevent, the head of a list, which has prev
- * and next references for the respective elements in that bucket's list.
- */
-SUBSYSTEM_DEF(timer)
- name = "Timer"
- wait = 1 //SS_TICKER subsystem, so wait is in ticks
- init_order = 1
-
- flags = SS_TICKER|SS_NO_INIT
-
- /// Queue used for storing timers that do not fit into the current buckets
- var/list/datum/timedevent/second_queue = list()
- /// A hashlist dictionary used for storing unique timers
- var/list/hashes = list()
- /// world.time of the first entry in the bucket list, effectively the 'start time' of the current buckets
- var/head_offset = 0
- /// Index of the wrap around pivot for buckets. buckets before this are later running buckets wrapped around from the end of the bucket list.
- var/practical_offset = 1
- /// world.tick_lag the bucket was designed for
- var/bucket_resolution = 0
- /// How many timers are in the buckets
- var/bucket_count = 0
- /// List of buckets, each bucket holds every timer that has to run that byond tick
- var/list/bucket_list = list()
- /// List of all active timers associated to their timer ID (for easy lookup)
- var/list/timer_id_dict = list()
- /// Special timers that run in real-time, not BYOND time; these are more expensive to run and maintain
- var/list/clienttime_timers = list()
- /// Contains the last time that a timer's callback was invoked, or the last tick the SS fired if no timers are being processed
- var/last_invoke_tick = 0
- /// Keeps track of the next index to work on for client timers
- var/next_clienttime_timer_index = 0
- /// Contains the last time that a warning was issued for not invoking callbacks
- var/static/last_invoke_warning = 0
- /// Boolean operator controlling if the timer SS will automatically reset buckets if it fails to invoke callbacks for an extended period of time
- var/static/bucket_auto_reset = TRUE
- /// How many times bucket was reset
- var/bucket_reset_count = 0
-
-/datum/controller/subsystem/timer/PreInit()
- bucket_list.len = BUCKET_LEN
- head_offset = world.time
- bucket_resolution = world.tick_lag
-
-/datum/controller/subsystem/timer/stat_entry(msg)
- msg = "B:[bucket_count] P:[length(second_queue)] H:[length(hashes)] C:[length(clienttime_timers)] S:[length(timer_id_dict)] RST:[bucket_reset_count]"
- return ..()
-
-/datum/controller/subsystem/timer/proc/dump_timer_buckets(full = TRUE)
- var/list/to_log = list("Timer bucket reset. world.time: [world.time], head_offset: [head_offset], practical_offset: [practical_offset]")
- if (full)
- for (var/i in 1 to length(bucket_list))
- var/datum/timedevent/bucket_head = bucket_list[i]
- if (!bucket_head)
- continue
-
- to_log += "Active timers at index [i]:"
- var/datum/timedevent/bucket_node = bucket_head
- var/anti_loop_check = 1
- do
- to_log += get_timer_debug_string(bucket_node)
- bucket_node = bucket_node.next
- anti_loop_check--
- while(bucket_node && bucket_node != bucket_head && anti_loop_check)
-
- to_log += "Active timers in the second_queue queue:"
- for(var/I in second_queue)
- to_log += get_timer_debug_string(I)
-
- // Dump all the logged data to the world log
- log_to_dd(to_log.Join("\n"))
-
-/datum/controller/subsystem/timer/fire(resumed = FALSE)
- // Store local references to datum vars as it is faster to access them
- var/lit = last_invoke_tick
- var/list/bucket_list = src.bucket_list
- var/last_check = world.time - TICKS2DS(BUCKET_LEN * 1.5)
-
- // If there are no timers being tracked, then consider now to be the last invoked time
- if(!bucket_count)
- last_invoke_tick = world.time
-
- // Check that we have invoked a callback in the last 1.5 minutes of BYOND time,
- // and throw a warning and reset buckets if this is true
- if(lit && lit < last_check && head_offset < last_check && last_invoke_warning < last_check)
- last_invoke_warning = world.time
- var/msg = "No regular timers processed in the last [BUCKET_LEN * 1.5] ticks[bucket_auto_reset ? ", resetting buckets" : ""]!"
- message_admins(msg)
- WARNING(msg)
- if(bucket_auto_reset)
- bucket_resolution = 0
- dump_timer_buckets(TRUE)
-
- // Process client-time timers
- if (next_clienttime_timer_index)
- clienttime_timers.Cut(1, next_clienttime_timer_index+1)
- next_clienttime_timer_index = 0
- for (next_clienttime_timer_index in 1 to length(clienttime_timers))
- if (MC_TICK_CHECK)
- next_clienttime_timer_index--
- break
- var/datum/timedevent/ctime_timer = clienttime_timers[next_clienttime_timer_index]
- if (ctime_timer.timeToRun > REALTIMEOFDAY)
- next_clienttime_timer_index--
- break
-
- var/datum/callback/callBack = ctime_timer.callBack
- if (!callBack)
- CRASH("Invalid timer: [get_timer_debug_string(ctime_timer)] world.time: [world.time], \
- head_offset: [head_offset], practical_offset: [practical_offset], REALTIMEOFDAY: [REALTIMEOFDAY]")
-
- ctime_timer.spent = REALTIMEOFDAY
- callBack.InvokeAsync()
-
- if(ctime_timer.flags & TIMER_LOOP)
- ctime_timer.spent = 0
- ctime_timer.timeToRun = REALTIMEOFDAY + ctime_timer.wait
- BINARY_INSERT(ctime_timer, clienttime_timers, /datum/timedevent, ctime_timer, timeToRun, COMPARE_KEY)
- else
- qdel(ctime_timer)
-
- // Remove invoked client-time timers
- if (next_clienttime_timer_index)
- clienttime_timers.Cut(1, next_clienttime_timer_index+1)
- next_clienttime_timer_index = 0
-
- // Check for when we need to loop the buckets, this occurs when
- // the head_offset is approaching BUCKET_LEN ticks in the past
- if (practical_offset > BUCKET_LEN)
- head_offset += TICKS2DS(BUCKET_LEN)
- practical_offset = 1
- resumed = FALSE
-
- // Check for when we have to reset buckets, typically from auto-reset
- if ((length(bucket_list) != BUCKET_LEN) || (world.tick_lag != bucket_resolution))
- reset_buckets()
- bucket_list = src.bucket_list
- resumed = FALSE
-
-
- // Iterate through each bucket starting from the practical offset
- while (practical_offset <= BUCKET_LEN && head_offset + ((practical_offset - 1) * world.tick_lag) <= world.time)
- var/datum/timedevent/timer
- while ((timer = bucket_list[practical_offset]))
- var/datum/callback/callBack = timer.callBack
- if (!callBack)
- util_crash_with("Invalid timer: [get_timer_debug_string(timer)] world.time: [world.time], \
- head_offset: [head_offset], practical_offset: [practical_offset], bucket_joined: [timer.bucket_joined]")
- if (!timer.spent)
- bucket_resolution = null // force bucket recreation
- return
-
- timer.bucketEject() //pop the timer off of the bucket list.
-
- // Invoke callback if possible
- if (!timer.spent)
- timer.spent = world.time
- callBack.InvokeAsync()
- last_invoke_tick = world.time
-
- if (timer.flags & TIMER_LOOP) // Prepare looping timers to re-enter the queue
- timer.spent = 0
- timer.timeToRun = world.time + timer.wait
- timer.bucketJoin()
- else
- qdel(timer)
-
- if (MC_TICK_CHECK)
- break
-
- if (!bucket_list[practical_offset])
- // Empty the bucket, check if anything in the secondary queue should be shifted to this bucket
- bucket_list[practical_offset] = null // Just in case
- practical_offset++
- var/i = 0
- for (i in 1 to length(second_queue))
- timer = second_queue[i]
- if (timer.timeToRun >= TIMER_MAX(src))
- i--
- break
-
- // Check for timers that are scheduled to run in the past
- if (timer.timeToRun < head_offset)
- bucket_resolution = null // force bucket recreation
- util_crash_with("[i] Invalid timer state: Timer in long run queue with a time to run less then head_offset. \
- [get_timer_debug_string(timer)] world.time: [world.time], head_offset: [head_offset], practical_offset: [practical_offset]")
- break
-
- // Check for timers that are not capable of being scheduled to run without rebuilding buckets
- if (timer.timeToRun < head_offset + TICKS2DS(practical_offset - 1))
- bucket_resolution = null // force bucket recreation
- util_crash_with("[i] Invalid timer state: Timer in long run queue that would require a backtrack to transfer to \
- short run queue. [get_timer_debug_string(timer)] world.time: [world.time], head_offset: [head_offset], practical_offset: [practical_offset]")
- break
-
- timer.bucketJoin()
- if (i)
- second_queue.Cut(1, i+1)
- if (MC_TICK_CHECK)
- break
-
-/**
- * Generates a string with details about the timed event for debugging purposes
- */
-/datum/controller/subsystem/timer/proc/get_timer_debug_string(datum/timedevent/TE)
- . = "Timer: [TE]"
- . += "Prev: [TE.prev ? TE.prev : "NULL"], Next: [TE.next ? TE.next : "NULL"]"
- if(TE.spent)
- . += ", SPENT([TE.spent])"
- if(QDELETED(TE))
- . += ", QDELETED"
- if(!TE.callBack)
- . += ", NO CALLBACK"
-
-/**
- * Destroys the existing buckets and creates new buckets from the existing timed events
- */
-/datum/controller/subsystem/timer/proc/reset_buckets()
- WARNING("Timer buckets has been reset, this may cause timer to lag")
- bucket_reset_count++
-
- var/list/bucket_list = src.bucket_list // Store local reference to datum var, this is faster
- var/list/alltimers = list()
-
- // Get all timers currently in the buckets
- for (var/bucket_head in bucket_list)
- if (!bucket_head) // if bucket is empty for this tick
- continue
- var/datum/timedevent/bucket_node = bucket_head
- do
- alltimers += bucket_node
- bucket_node = bucket_node.next
- while(bucket_node && bucket_node != bucket_head)
-
- // Empty the list by zeroing and re-assigning the length
- bucket_list.len = 0
- bucket_list.len = BUCKET_LEN
-
- // Reset values for the subsystem to their initial values
- practical_offset = 1
- bucket_count = 0
- head_offset = world.time
- bucket_resolution = world.tick_lag
-
- // Add all timed events from the secondary queue as well
- alltimers += second_queue
-
- for (var/datum/timedevent/t as anything in alltimers)
- t.timer_subsystem = src // Recovered timers need to be reparented
- t.bucket_joined = FALSE
- t.bucket_pos = -1
- t.prev = null
- t.next = null
-
- // If there are no timers being tracked by the subsystem,
- // there is no need to do any further rebuilding
- if (!length(alltimers))
- return
-
- // Sort all timers by time to run
- sortTim(alltimers, /proc/cmp_timer)
-
- // Get the earliest timer, and if the TTR is earlier than the current world.time,
- // then set the head offset appropriately to be the earliest time tracked by the
- // current set of buckets
- var/datum/timedevent/head = alltimers[1]
- if (head.timeToRun < head_offset)
- head_offset = head.timeToRun
-
- // Iterate through each timed event and insert it into an appropriate bucket,
- // up unto the point that we can no longer insert into buckets as the TTR
- // is outside the range we are tracking, then insert the remainder into the
- // secondary queue
- var/new_bucket_count
- var/i = 1
- for (i in 1 to length(alltimers))
- var/datum/timedevent/timer = alltimers[i]
- if (!timer)
- continue
-
- // Check that the TTR is within the range covered by buckets, when exceeded we've finished
- if (timer.timeToRun >= TIMER_MAX(src))
- i--
- break
-
- // Check that timer has a valid callback and hasn't been invoked
- if (!timer.callBack || timer.spent)
- WARNING("Invalid timer: [get_timer_debug_string(timer)] world.time: [world.time], \
- head_offset: [head_offset], practical_offset: [practical_offset]")
- if (timer.callBack)
- qdel(timer)
- continue
-
- // Insert the timer into the bucket, and perform necessary doubly-linked list operations
- new_bucket_count++
- var/bucket_pos = BUCKET_POS(timer)
- timer.bucket_pos = bucket_pos
- timer.bucket_joined = TRUE
-
- var/datum/timedevent/bucket_head = bucket_list[bucket_pos]
- if (!bucket_head)
- bucket_list[bucket_pos] = timer
- timer.next = null
- timer.prev = null
- continue
-
- bucket_head.prev = timer
- timer.next = bucket_head
- timer.prev = null
- bucket_list[bucket_pos] = timer
-
- // Cut the timers that are tracked by the buckets from the secondary queue
- if (i)
- alltimers.Cut(1, i + 1)
- second_queue = alltimers
- bucket_count = new_bucket_count
-
-
-/datum/controller/subsystem/timer/Recover()
- // Find the current timer sub-subsystem in global and recover its buckets etc
- var/datum/controller/subsystem/timer/timerSS = null
- for(var/global_var in global.vars)
- if (istype(global.vars[global_var],src.type))
- timerSS = global.vars[global_var]
-
- hashes = timerSS.hashes
- timer_id_dict = timerSS.timer_id_dict
-
- bucket_list = timerSS.bucket_list
- second_queue = timerSS.second_queue
-
- // The buckets are FUBAR
- reset_buckets()
-
-/**
- * # Timed Event
- *
- * This is the actual timer, it contains the callback and necessary data to maintain
- * the timer.
- *
- * See the documentation for the timer subsystem for an explanation of the buckets referenced
- * below in next and prev
- */
-/datum/timedevent
- /// ID used for timers when the TIMER_STOPPABLE flag is present
- var/id
- /// The callback to invoke after the timer completes
- var/datum/callback/callBack
- /// The time at which the callback should be invoked at
- var/timeToRun
- /// The length of the timer
- var/wait
- /// Unique hash generated when TIMER_UNIQUE flag is present
- var/hash
- /// The source of the timedevent, whatever called addtimer
- var/source
- /// Flags associated with the timer, see _DEFINES/subsystems.dm
- var/list/flags
- /// Time at which the timer was invoked or destroyed
- var/spent = 0
- /// An informative name generated for the timer as its representation in strings, useful for debugging
- var/name
- /// Next timed event in the bucket
- var/datum/timedevent/next
- /// Previous timed event in the bucket
- var/datum/timedevent/prev
- /// The timer subsystem this event is associated with
- var/datum/controller/subsystem/timer/timer_subsystem
- /// Boolean indicating if timer joined into bucket
- var/bucket_joined = FALSE
- /// Initial bucket position
- var/bucket_pos = -1
-
-/datum/timedevent/New(datum/callback/callBack, wait, flags, datum/controller/subsystem/timer/timer_subsystem, hash, source)
- var/static/nextid = 1
- id = TIMER_ID_NULL
- src.callBack = callBack
- src.wait = wait
- src.flags = flags
- src.hash = hash
- src.source = source
- src.timer_subsystem = timer_subsystem || SStimer
-
- // Determine time at which the timer's callback should be invoked
- timeToRun = (flags & TIMER_CLIENT_TIME ? REALTIMEOFDAY : world.time) + wait
-
- // Include the timer in the hash table if the timer is unique
- if (flags & TIMER_UNIQUE)
- timer_subsystem.hashes[hash] = src
-
- // Generate ID for the timer if the timer is stoppable, include in the timer id dictionary
- if (flags & TIMER_STOPPABLE)
- id = num2text(nextid, 100)
- if (nextid >= SHORT_REAL_LIMIT)
- nextid += min(1, 2 ** round(nextid / SHORT_REAL_LIMIT))
- else
- nextid++
- timer_subsystem.timer_id_dict[id] = src
-
- if ((timeToRun < world.time || timeToRun < timer_subsystem.head_offset) && !(flags & TIMER_CLIENT_TIME))
- CRASH("Invalid timer state: Timer created that would require a backtrack to run (addtimer would never let this happen): [SStimer.get_timer_debug_string(src)]")
-
- if (callBack.object != GLOBAL_PROC && !QDESTROYING(callBack.object))
- LAZYADD(callBack.object.active_timers, src)
-
- bucketJoin()
-
-/datum/timedevent/Destroy()
- ..()
- if (flags & TIMER_UNIQUE && hash)
- timer_subsystem.hashes -= hash
-
- if (callBack && callBack.object && callBack.object != GLOBAL_PROC && callBack.object.active_timers)
- callBack.object.active_timers -= src
- UNSETEMPTY(callBack.object.active_timers)
-
- callBack = null
-
- if (flags & TIMER_STOPPABLE)
- timer_subsystem.timer_id_dict -= id
-
- if (flags & TIMER_CLIENT_TIME)
- if (!spent)
- spent = world.time
- timer_subsystem.clienttime_timers -= src
- return QDEL_HINT_IWILLGC
-
- if (!spent)
- spent = world.time
- bucketEject()
- else
- if (prev && prev.next == src)
- prev.next = next
- if (next && next.prev == src)
- next.prev = prev
- next = null
- prev = null
- return QDEL_HINT_IWILLGC
-
-/**
- * Removes this timed event from any relevant buckets, or the secondary queue
- */
-/datum/timedevent/proc/bucketEject()
- // Store local references for the bucket list and secondary queue
- // This is faster than referencing them from the datum itself
- var/list/bucket_list = timer_subsystem.bucket_list
- var/list/second_queue = timer_subsystem.second_queue
-
- // Attempt to get the head of the bucket
- var/datum/timedevent/buckethead
- if(bucket_pos > 0)
- buckethead = bucket_list[bucket_pos]
-
- // Decrement the number of timers in buckets if the timed event is
- // the head of the bucket, or has a TTR less than TIMER_MAX implying it fits
- // into an existing bucket, or is otherwise not present in the secondary queue
- if(buckethead == src)
- bucket_list[bucket_pos] = next
- timer_subsystem.bucket_count--
- else if(bucket_joined)
- timer_subsystem.bucket_count--
- else
- var/l = length(second_queue)
- second_queue -= src
- if(l == length(second_queue))
- timer_subsystem.bucket_count--
-
- // Remove the timed event from the bucket, ensuring to maintain
- // the integrity of the bucket's list if relevant
- if (prev && prev.next == src)
- prev.next = next
- if (next && next.prev == src)
- next.prev = prev
- prev = next = null
- bucket_pos = -1
- bucket_joined = FALSE
-
-/**
- * Attempts to add this timed event to a bucket, will enter the secondary queue
- * if there are no appropriate buckets at this time.
- *
- * Secondary queueing of timed events will occur when the timespan covered by the existing
- * buckets is exceeded by the time at which this timed event is scheduled to be invoked.
- * If the timed event is tracking client time, it will be added to a special bucket.
- */
-/datum/timedevent/proc/bucketJoin()
- // Generate debug-friendly name for timer
- var/static/list/bitfield_flags = list("TIMER_UNIQUE", "TIMER_OVERRIDE", "TIMER_CLIENT_TIME", "TIMER_STOPPABLE", "TIMER_NO_HASH_WAIT", "TIMER_LOOP")
- name = "Timer: [id] (\ref[src]), TTR: [timeToRun], wait:[wait] Flags: [jointext(bitfield2list(flags, bitfield_flags), ", ")], \
- callBack: \ref[callBack], callBack.object: [callBack.object]\ref[callBack.object]([getcallingtype()]), \
- callBack.delegate:[callBack.delegate]([callBack.arguments ? callBack.arguments.Join(", ") : ""]), source: [source]"
-
- if (bucket_joined)
- util_crash_with("Bucket already joined! [name]")
-
- // Check if this timed event should be diverted to the client time bucket, or the secondary queue
- var/list/L
- if (flags & TIMER_CLIENT_TIME)
- L = timer_subsystem.clienttime_timers
- else if (timeToRun >= TIMER_MAX(timer_subsystem))
- L = timer_subsystem.second_queue
- if(L)
- BINARY_INSERT(src, L, /datum/timedevent, src, timeToRun, COMPARE_KEY)
- return
-
- // Get a local reference to the bucket list, this is faster than referencing the datum
- var/list/bucket_list = timer_subsystem.bucket_list
-
- // Find the correct bucket for this timed event
- bucket_pos = BUCKET_POS(src)
-
- if (bucket_pos < timer_subsystem.practical_offset && timeToRun < (timer_subsystem.head_offset + TICKS2DS(BUCKET_LEN)))
- WARNING("Bucket pos in past: bucket_pos = [bucket_pos] < practical_offset = [timer_subsystem.practical_offset] \
- && timeToRun = [timeToRun] < [timer_subsystem.head_offset + TICKS2DS(BUCKET_LEN)], Timer: [name]")
- bucket_pos = timer_subsystem.practical_offset // Recover bucket_pos to avoid timer blocking queue
-
- var/datum/timedevent/bucket_head = bucket_list[bucket_pos]
- timer_subsystem.bucket_count++
-
- // If there is no timed event at this position, then the bucket is 'empty'
- // and we can just set this event to that position
- if (!bucket_head)
- bucket_joined = TRUE
- bucket_list[bucket_pos] = src
- return
-
- // Otherwise, we merely add this timed event into the bucket, which is a
- // doubly-linked list
- bucket_joined = TRUE
- bucket_head.prev = src
- next = bucket_head
- prev = null
- bucket_list[bucket_pos] = src
-
-/**
- * Returns a string of the type of the callback for this timer
- */
-/datum/timedevent/proc/getcallingtype()
- . = "ERROR"
- if (callBack.object == GLOBAL_PROC)
- . = "GLOBAL_PROC"
- else
- . = "[callBack.object.type]"
-
-/**
- * Create a new timer and insert it in the queue.
- * You should not call this directly, and should instead use the addtimer macro, which includes source information.
- *
- * Arguments:
- * * callback the callback to call on timer finish
- * * wait deciseconds to run the timer for
- * * flags flags for this timer, see: code\__DEFINES\subsystems.dm
- */
-/proc/_addtimer(datum/callback/callback, wait = 0, flags = 0, datum/controller/subsystem/timer/timer_subsystem, file, line)
- if (!callback)
- CRASH("addtimer called without a callback")
-
- if (wait < 0)
- util_crash_with("addtimer called with a negative wait. Converting to [world.tick_lag]")
-
- if (callback.object != GLOBAL_PROC && QDELETED(callback.object) && !QDESTROYING(callback.object))
- util_crash_with("addtimer called with a callback assigned to a qdeleted object. In the future such timers will not \
- be supported and may refuse to run or run with a 0 wait")
-
- wait = max(CEILING(wait, world.tick_lag), world.tick_lag)
-
- if(wait >= INFINITY)
- CRASH("Attempted to create timer with INFINITY delay")
-
- timer_subsystem = timer_subsystem || SStimer
-
- // Generate hash if relevant for timed events with the TIMER_UNIQUE flag
- var/hash
- if (flags & TIMER_UNIQUE)
- var/list/hashlist = list(callback.object, "(\ref[callback.object])", callback.delegate, flags & TIMER_CLIENT_TIME)
- if(!(flags & TIMER_NO_HASH_WAIT))
- hashlist += wait
- hashlist += callback.arguments
- hash = hashlist.Join("|||||||")
-
- var/datum/timedevent/hash_timer = timer_subsystem.hashes[hash]
- if(hash_timer)
- if (hash_timer.spent) // it's pending deletion, pretend it doesn't exist.
- hash_timer.hash = null // but keep it from accidentally deleting us
- else
- if (flags & TIMER_OVERRIDE)
- hash_timer.hash = null // no need having it delete it's hash if we are going to replace it
- qdel(hash_timer)
- else
- if (hash_timer.flags & TIMER_STOPPABLE)
- . = hash_timer.id
- return
- else if(flags & TIMER_OVERRIDE)
- util_crash_with("TIMER_OVERRIDE used without TIMER_UNIQUE")
-
- var/datum/timedevent/timer = new(callback, wait, flags, timer_subsystem, hash, file && "[file]:[line]")
- return timer.id
-
-/**
- * Delete a timer
- *
- * Arguments:
- * * id a timerid or a /datum/timedevent
- */
-/proc/deltimer(id, datum/controller/subsystem/timer/timer_subsystem)
- if (!id)
- return FALSE
- if (id == TIMER_ID_NULL)
- CRASH("Tried to delete a null timerid. Use TIMER_STOPPABLE flag")
- if (istype(id, /datum/timedevent))
- qdel(id)
- return TRUE
- timer_subsystem = timer_subsystem || SStimer
- //id is string
- var/datum/timedevent/timer = timer_subsystem.timer_id_dict[id]
- if (timer && (!timer.spent || timer.flags & TIMER_DELETE_ME))
- qdel(timer)
- return TRUE
- return FALSE
-
-/**
- * Get the remaining deciseconds on a timer
- *
- * Arguments:
- * * id a timerid or a /datum/timedevent
- */
-/proc/timeleft(id, datum/controller/subsystem/timer/timer_subsystem)
- if (!id)
- return null
- if (id == TIMER_ID_NULL)
- CRASH("Tried to get timeleft of a null timerid. Use TIMER_STOPPABLE flag")
- if (istype(id, /datum/timedevent))
- var/datum/timedevent/timer = id
- return timer.timeToRun - world.time
- timer_subsystem = timer_subsystem || SStimer
- //id is string
- var/datum/timedevent/timer = timer_subsystem.timer_id_dict[id]
- if(!timer || timer.spent)
- return null
- return timer.timeToRun - (timer.flags & TIMER_CLIENT_TIME ? REALTIMEOFDAY : world.time)
-
-#undef BUCKET_LEN
-#undef BUCKET_POS
-#undef TIMER_MAX
-#undef TIMER_ID_MAX
-#undef SHORT_REAL_LIMIT
diff --git a/code/controllers/subsystems/trade.dm b/code/controllers/subsystems/trade.dm
index 76111399284..80c45e212ee 100644
--- a/code/controllers/subsystems/trade.dm
+++ b/code/controllers/subsystems/trade.dm
@@ -29,8 +29,9 @@ SUBSYSTEM_DEF(trade)
if(prob(100-traders.len*10))
generate_trader()
-/datum/controller/subsystem/trade/stat_entry()
- ..("Traders: [traders.len]")
+/datum/controller/subsystem/trade/stat_entry(msg)
+ msg = "Traders: [traders.len]"
+ return ..()
/datum/controller/subsystem/trade/proc/generate_trader(stations = 0)
var/list/possible = list()
diff --git a/code/controllers/subsystems/virus.dm b/code/controllers/subsystems/virus.dm
index d5bcb974d47..08b1647271d 100644
--- a/code/controllers/subsystems/virus.dm
+++ b/code/controllers/subsystems/virus.dm
@@ -7,8 +7,9 @@ SUBSYSTEM_DEF(virus)
var/list/viruses_life = list() // Queue of viruses to life
var/position = 1 // Helper index to order newly activated viruses properly
-/datum/controller/subsystem/virus/stat_entry()
- ..("C:[viruses_life.len]")
+/datum/controller/subsystem/virus/stat_entry(msg)
+ msg = "C:[viruses_life.len]"
+ return ..()
/datum/controller/subsystem/virus/fire(resumed = FALSE)
if(paused_ticks >= 10) // The likeliest fail mode, due to the fast tick rate, is that it can never clear the full queue, running resumed every tick and accumulating a backlog.
diff --git a/code/controllers/subsystems/wireless.dm b/code/controllers/subsystems/wireless.dm
index 05a97bcbcdc..b715c7d3cbb 100644
--- a/code/controllers/subsystems/wireless.dm
+++ b/code/controllers/subsystems/wireless.dm
@@ -31,8 +31,9 @@ SUBSYSTEM_DEF(wireless)
/datum/controller/subsystem/wireless/proc/add_request(datum/connection_request/C)
pending_connections += C
-/datum/controller/subsystem/wireless/stat_entry()
- ..("RL:[receiver_list.len]|PC:[pending_connections.len]|RC:[retry_connections.len]|FC:[failed_connections.len]")
+/datum/controller/subsystem/wireless/stat_entry(msg)
+ msg = "RL:[receiver_list.len]|PC:[pending_connections.len]|RC:[retry_connections.len]|FC:[failed_connections.len]"
+ return ..()
/datum/controller/subsystem/wireless/Recover()
if (istype(SSwireless.receiver_list))
diff --git a/code/datums/ai/ai_holo.dm b/code/datums/ai/ai_holo.dm
index 1c144272f53..772f7dec1c8 100644
--- a/code/datums/ai/ai_holo.dm
+++ b/code/datums/ai/ai_holo.dm
@@ -38,7 +38,7 @@ GLOBAL_LIST_INIT(AI_holos, init_subtypes(/datum/ai_holo))
icon_state = "Face"
/datum/ai_holo/carp
- icon_state = "Carp"
+ icon_state = "carp"
/datum/ai_holo/solgov
icon_state = "SolGov"
diff --git a/code/datums/appearances/automatic/cardborg.dm b/code/datums/appearances/automatic/cardborg.dm
index 7c552c448f0..b95ef531baa 100644
--- a/code/datums/appearances/automatic/cardborg.dm
+++ b/code/datums/appearances/automatic/cardborg.dm
@@ -17,7 +17,7 @@
var/image/I = get_image_from_backpack(H)
AddAltAppearance(H, I, GLOB.silicon_mob_list+H) //you look like a robot to robots! (including yourself because you're totally a robot)
- register_global_signal(SIGNAL_LOGGED_IN, /decl/appearance_handler/cardborg/proc/mob_joined) // Duplicate registration request are handled for us
+ register_global_signal(SIGNAL_LOGGED_IN, nameof(/decl/appearance_handler/cardborg.proc/mob_joined)) // Duplicate registration request are handled for us
/decl/appearance_handler/cardborg/proc/item_removed(obj/item/item, mob/user)
if((istype(item, /obj/item/clothing/suit/cardborg) || istype(item, /obj/item/clothing/head/cardborg)) || istype(item, /obj/item/storage/backpack))
diff --git a/code/datums/components/connect_mob_behalf.dm b/code/datums/components/connect_mob_behalf.dm
new file mode 100644
index 00000000000..c39e3da045c
--- /dev/null
+++ b/code/datums/components/connect_mob_behalf.dm
@@ -0,0 +1,62 @@
+/**
+ * This component hooks into a signal on a tracked client's mob and allows to make
+ * batch signal subscriptions.
+ * Works simmilar to `connect_loc`.
+ */
+/datum/component/connect_mob_behalf
+ dupe_mode = COMPONENT_DUPE_UNIQUE
+
+ /// An assoc list of signal -> procpath to register to the mob the client "owns".
+ var/list/connections
+ /// Reference to the master client.
+ var/client/tracked
+ /// Currently tracked mob.
+ var/mob/tracked_mob
+
+/datum/component/connect_mob_behalf/Initialize(client/tracked, list/connections)
+ . = ..()
+ if(!istype(tracked))
+ return COMPONENT_INCOMPATIBLE
+
+ src.connections = connections
+ src.tracked = tracked
+
+/datum/component/connect_mob_behalf/register_with_parent()
+ register_signal(tracked, SIGNAL_QDELETING, nameof(.proc/on_tracked_qdel))
+ update_signals()
+
+/datum/component/connect_mob_behalf/unregister_from_parent()
+ unregister_signals()
+ unregister_signal(tracked, SIGNAL_QDELETING)
+
+ tracked = null
+ tracked_mob = null
+
+/datum/component/connect_mob_behalf/proc/on_tracked_qdel()
+ // This is signal handler, so it should have `SIGNAL_HANDLER`, but some fucker sleeps in `Entered.
+ qdel(src)
+
+/datum/component/connect_mob_behalf/proc/update_signals()
+ unregister_signals()
+
+ if(QDELETED(tracked?.mob))
+ return
+
+ tracked_mob = tracked.mob
+
+ register_signal(tracked_mob, SIGNAL_LOGGED_OUT, nameof(.proc/on_logout))
+ for(var/signal in connections)
+ parent.register_signal(tracked_mob, signal, connections[signal])
+
+/datum/component/connect_mob_behalf/proc/unregister_signals()
+ if(isnull(tracked_mob))
+ return
+
+ parent.unregister_signal(tracked_mob, connections)
+ unregister_signal(tracked_mob, SIGNAL_LOGGED_OUT)
+
+ tracked_mob = null
+
+/datum/component/connect_mob_behalf/proc/on_logout(mob/source)
+ SIGNAL_HANDLER
+ update_signals()
diff --git a/code/datums/components/label.dm b/code/datums/components/label.dm
index e52ff018479..7a70b33c5ba 100644
--- a/code/datums/components/label.dm
+++ b/code/datums/components/label.dm
@@ -13,7 +13,7 @@
/datum/component/label/proc/apply_label()
var/atom/owner = parent
owner.name += " ([label_name])"
- owner.verbs += /atom/proc/RemoveLabel
+ owner.add_verb(owner.loc, /atom/proc/RemoveLabel)
owner.post_attach_label(src)
/// Removes the label from the parent's name.
@@ -44,4 +44,4 @@
label.remove_label()
if(!length(get_components(/datum/component/label)))
- verbs -= /atom/proc/RemoveLabel
+ remove_verb(loc, /atom/proc/RemoveLabel)
diff --git a/code/datums/components/mind_linker.dm b/code/datums/components/mind_linker.dm
index b9e94b8b02f..55b8d531535 100644
--- a/code/datums/components/mind_linker.dm
+++ b/code/datums/components/mind_linker.dm
@@ -161,7 +161,6 @@
/datum/action/innate/linked_speech
name = "Mind Link Speech"
- //desc = "Send a psychic message to everyone connected to your Link."
button_icon_state = "link_speech"
button_icon = 'icons/hud/actions.dmi'
background_icon_state = "bg_alien"
@@ -175,7 +174,6 @@
var/datum/component/mind_linker/linker = Target
name = "[linker.network_name] Speech"
- //desc = "Send a psychic message to everyone connected to your [linker.network_name]."
button_icon = linker.speech_action_icon
button_icon_state = linker.speech_action_icon_state
background_icon_state = linker.speech_action_background_icon_state
@@ -208,7 +206,6 @@
/datum/action/innate/project_thought
name = "Send Thought"
- //desc = "Send a private psychic message to someone you can see."
button_icon_state = "send_mind"
button_icon = 'icons/hud/actions.dmi'
background_icon_state = "bg_alien"
@@ -258,7 +255,6 @@
/datum/action/innate/link_minds
name = "Link Minds"
- //desc = "Link someone's mind to your Slime Link, allowing them to communicate telepathically with other linked minds."
button_icon_state = "mindlink"
button_icon = 'icons/hud/actions.dmi'
background_icon_state = "bg_alien"
diff --git a/code/datums/configuration/general_section.dm b/code/datums/configuration/general_section.dm
index 585b614ddb9..348bcf54644 100644
--- a/code/datums/configuration/general_section.dm
+++ b/code/datums/configuration/general_section.dm
@@ -3,7 +3,7 @@
var/server_name = null
var/subserver_name = null
- var/server_id = null
+ var/server_id = "onyxbay"
var/server_suffix = FALSE
var/server_port = null
var/hosted_by = null
@@ -22,6 +22,7 @@
var/client_min_minor_version = 1609
var/client_recommended_minor_version = 1630
var/list/client_blacklisted_minor_versions = list(1631, 1632)
+ var/prometheus_port = null
/datum/configuration_section/general/load_data(list/data)
CONFIG_LOAD_STR(server_name, data["server_name"])
@@ -52,3 +53,4 @@
CONFIG_LOAD_NUM(minute_topic_limit, data["minute_topic_limit"])
CONFIG_LOAD_NUM(second_topic_limit, data["second_topic_limit"])
CONFIG_LOAD_BOOL(wait_for_sigusr1, data["wait_for_sigusr1"])
+ CONFIG_LOAD_STR(prometheus_port, data["prometheus_port"])
diff --git a/code/datums/datum.dm b/code/datums/datum.dm
index fedced57c18..f74780c1ccd 100644
--- a/code/datums/datum.dm
+++ b/code/datums/datum.dm
@@ -37,23 +37,14 @@
tag = null
SSnano && SSnano.close_uis(src)
- var/list/timers = active_timers
- active_timers = null
- for(var/thing in timers)
- var/datum/timedevent/timer = thing
- if (timer.spent)
- continue
- qdel(timer)
var/list/dc = datum_components
if(dc)
var/all_components = dc[/datum/component]
if(length(all_components))
- for(var/datum/component/component as anything in all_components)
- qdel(component, FALSE, TRUE)
+ QDEL_NULL_LIST(all_components)
else
- var/datum/component/C = all_components
- qdel(C, FALSE, TRUE)
+ QDEL_NULL(all_components)
dc.Cut()
if(extensions)
@@ -105,19 +96,21 @@
/// Schedules the next call of the `/datum/proc/think`.
///
/// * `time` - when to call the "think" proc. Falsy value stops from thinking.
-/datum/proc/set_next_think(time)
+/// * `...` - arguments to be passed to the "think" function.
+/datum/proc/set_next_think(time, ...)
if(!time)
_main_think_ctx?.stop()
return
if(QDELETED(_main_think_ctx))
- _main_think_ctx = new(time, CALLBACK(src, nameof(.proc/think)))
+ _main_think_ctx = new(time, CALLBACK(src, nameof(.proc/think)), length(args) > 1 ? args.Copy(2) : null)
SSthink.contexts_groups[_main_think_ctx.group] += _main_think_ctx
CALC_NEXT_GROUP_RUN(_main_think_ctx)
return
_main_think_ctx.next_think = time
+ _main_think_ctx.arguments = args.Copy(2)
if(!_main_think_ctx.group)
ASSIGN_THINK_GROUP(_main_think_ctx.group, time)
@@ -138,13 +131,14 @@
/// * `name` - name of the context.
/// * `clbk` - a proc which should be called.
/// * `time` - when to call the context.
-/datum/proc/add_think_ctx(name, datum/callback/clbk, time)
+/// * `...` - arguments to be passed to the "think" function.
+/datum/proc/add_think_ctx(name, datum/callback/clbk, time, ...)
LAZYINITLIST(_think_ctxs)
if(!QDELETED(_think_ctxs[name]))
CRASH("Thinking context [name] is exists")
- _think_ctxs[name] = new /datum/think_context(time, clbk)
+ _think_ctxs[name] = new /datum/think_context(time, clbk, length(args) > 3 ? args.Copy(4) : null)
var/datum/think_context/ctx = _think_ctxs[name]
if(time > 0)
@@ -155,7 +149,8 @@
///
/// * `name` - name of the context.
/// * `time` - when to call the context. Falsy value removes the context.
-/datum/proc/set_next_think_ctx(name, time)
+/// * `...` - arguments to be passed to the "think" function.
+/datum/proc/set_next_think_ctx(name, time, ...)
if(!time)
_think_ctxs[name].stop()
@@ -163,6 +158,7 @@
var/datum/think_context/ctx = _think_ctxs[name]
ctx.next_think = time
+ ctx.arguments = length(args) > 2 ? args.Copy(3) : null
if(!ctx.group)
ASSIGN_THINK_GROUP(ctx.group, time)
diff --git a/code/datums/elements/simple_rotation.dm b/code/datums/elements/simple_rotation.dm
new file mode 100644
index 00000000000..fb993d98aad
--- /dev/null
+++ b/code/datums/elements/simple_rotation.dm
@@ -0,0 +1,71 @@
+/datum/element/simple_rotation
+ element_flags = ELEMENT_DETACH
+
+/datum/element/simple_rotation/attach(datum/target)
+ . = ..()
+
+ var/atom/target_atom = target
+ if(!istype(target_atom))
+ return ELEMENT_INCOMPATIBLE
+
+ register_signal(target_atom, SIGNAL_ALT_CLICKED, nameof(.proc/on_alt_click))
+ register_signal(target_atom, SIGNAL_CTRL_ALT_CLICKED, nameof(.proc/on_ctrl_alt_click))
+
+ target_atom.verbs |= /atom/proc/rotate
+ target_atom.verbs |= /atom/proc/rotate_counter
+
+/datum/element/simple_rotation/detach(datum/source, ...)
+ unregister_signal(source, SIGNAL_ALT_CLICKED)
+ unregister_signal(source, SIGNAL_CTRL_ALT_CLICKED)
+
+ var/atom/target_atom = source
+
+ target_atom.verbs -= /atom/proc/rotate
+ target_atom.verbs -= /atom/proc/rotate_counter
+
+ return ..()
+
+/datum/element/simple_rotation/proc/on_alt_click(atom/clicked, mob/user)
+ clicked.rotate(user)
+ return TRUE
+
+/datum/element/simple_rotation/proc/on_ctrl_alt_click(atom/clicked, mob/user)
+ clicked.rotate_counter(user)
+ return TRUE
+
+/atom/proc/can_rotate(mob/user)
+ return !(!user || user.incapacitated() || !Adjacent(user))
+
+/atom/proc/is_rotatable()
+ return
+
+/obj/is_rotatable()
+ return !(anchored && (obj_flags & OBJ_FLAG_ANCHOR_BLOCKS_ROTATION))
+
+/atom/proc/rotate(mob/user)
+ set name = "Rotate Clockwise"
+ set category = "Object"
+ set src in oview(1)
+
+ if(!is_rotatable())
+ show_splash_text(user, "unfasten it first!", "\The [src] is fastened to the floor and can't be rotated!")
+ return
+
+ if(!can_rotate(user))
+ return
+
+ set_dir(turn(dir, -90))
+
+/atom/proc/rotate_counter(mob/user)
+ set name = "Rotate Counterclockwise"
+ set category = "Object"
+ set src in oview(1)
+
+ if(!is_rotatable())
+ show_splash_text(user, "unfasten it first!", "\The [src] is fastened to the floor and can't be rotated!")
+ return
+
+ if(!can_rotate(user))
+ return
+
+ set_dir(turn(dir, 90))
diff --git a/code/datums/events/ion_storm.dm b/code/datums/events/ion_storm.dm
index 5358825c2ee..2857c2669ae 100644
--- a/code/datums/events/ion_storm.dm
+++ b/code/datums/events/ion_storm.dm
@@ -155,7 +155,7 @@
languages -= L
// Also removing any languages that won't work well over radio.
// A synth is unlikely to have any besides Binary, but we're playing it safe
- else if(L.flags & (HIVEMIND|NONVERBAL|SIGNLANG))
+ else if(L.language_flags & (HIVEMIND|NONVERBAL|SIGNLANG))
languages -= L
if(languages.len)
diff --git a/code/datums/events/money_hacker.dm b/code/datums/events/money_hacker.dm
index 4126f8bb26c..9e4eae51fd9 100644
--- a/code/datums/events/money_hacker.dm
+++ b/code/datums/events/money_hacker.dm
@@ -29,9 +29,9 @@
without intervention this attack will succeed in approximately 10 minutes. Possible solutions: suspension of accounts, disabling NTnet server, \
increase account security level. Notifications will be sent as updates occur.")
- addtimer(CALLBACK(src, nameof(.proc/end)), 10 MINUTES)
+ set_next_think(world.time + 10 MINUTES)
-/datum/event/money_hacker/proc/end()
+/datum/event/money_hacker/think()
SSevents.evars["money_hacker_running"] = FALSE
var/list/datum/money_account/affected_accounts = list()
diff --git a/code/datums/language_menu.dm b/code/datums/language_menu.dm
new file mode 100644
index 00000000000..a1be101508e
--- /dev/null
+++ b/code/datums/language_menu.dm
@@ -0,0 +1,109 @@
+/datum/language_menu
+ var/mob/living/owner
+
+/datum/language_menu/New(mob/owner)
+ if(!istype(owner))
+ qdel_self()
+
+ src.owner = owner
+
+/datum/language_menu/Destroy(force)
+ owner = null
+ return ..()
+
+/datum/language_menu/tgui_state(mob/user)
+ return GLOB.language_menu_state
+
+/datum/language_menu/tgui_interact(mob/user, datum/tgui/ui)
+ ui = SStgui.try_update_ui(user, src, ui)
+ if(!ui)
+ ui = new(user, src, "LanguageMenu")
+ ui.open()
+
+/datum/language_menu/tgui_data(mob/user)
+ var/list/data = list()
+
+ var/admin = check_rights(R_ADMIN, FALSE, user)
+
+ data["isAdmin"] = admin
+ data["isSilicon"] = issilicon(owner)
+
+ data["languagePrefix"] = owner.get_language_prefix()
+ data["currentLanguage"] = owner.default_language?.name
+
+ data["languages"] = list()
+ for(var/language_key in all_languages)
+ var/datum/language/language_entry = all_languages[language_key]
+
+ if(language_entry.language_flags & NONGLOBAL) // This one shouldn't be seen...
+ continue
+
+ var/avaliable = (language_entry in owner.languages)
+ if(!avaliable && !admin)
+ continue
+
+ var/list/language_data = list(
+ "key" = language_entry.key,
+ "name" = language_entry.name,
+ "desc" = language_entry.desc,
+ "index" = language_key,
+ "shorthand" = language_entry.shorthand,
+ "canSpeak" = owner.can_speak(language_entry),
+ "isKnown" = avaliable,
+ )
+
+ if(issilicon(owner))
+ var/mob/living/silicon/silicon = owner
+ language_data["isSynthesized"] = (language_entry in silicon.speech_synthesizer_langs)
+
+ data["languages"] += list(language_data)
+
+ return data
+
+/datum/language_menu/tgui_act(action, params)
+ . = ..()
+
+ if(.)
+ return
+
+ switch(action)
+ if("choose_language")
+ var/language_key = params["value"]
+ if(isnull(language_key))
+ return
+
+ var/datum/language/chosen_language = all_languages[language_key]
+ if(isnull(chosen_language))
+ return
+
+ if(chosen_language.language_flags & NONGLOBAL)
+ return
+
+ if(owner.default_language == chosen_language)
+ owner.set_default_language(null) // Resetting language
+ else
+ owner.set_default_language(chosen_language)
+
+ return TRUE
+
+ if("remove_language")
+ if(!check_rights(R_ADMIN, FALSE, usr?.client))
+ return
+
+ var/language_key = params["value"]
+ if(isnull(language_key))
+ return
+
+ owner.remove_language(language_key)
+ return TRUE
+
+ if("add_language")
+ if(!check_rights(R_ADMIN, FALSE, usr?.client))
+ return
+
+ var/language_key = params["value"]
+ if(isnull(language_key))
+ return
+
+ owner.add_language(language_key)
+ return TRUE
diff --git a/code/datums/mind.dm b/code/datums/mind.dm
index cc713cd124c..882c229fd36 100644
--- a/code/datums/mind.dm
+++ b/code/datums/mind.dm
@@ -124,6 +124,8 @@
if(active)
new_character.key = key //now transfer the key to link the client to our new body
+ new_character.client?.init_verbs()
+
return TRUE
/datum/mind/proc/store_memory(new_text)
diff --git a/code/datums/object_window_info.dm b/code/datums/object_window_info.dm
new file mode 100644
index 00000000000..65da692a3c3
--- /dev/null
+++ b/code/datums/object_window_info.dm
@@ -0,0 +1,112 @@
+/**
+ * Datum that holds and tracks info about a client's object. Mainly used for controlled
+ * icon generation thus removing limitations present in previous stat panel version.
+ */
+/datum/object_window_info
+ /// List of atoms to show to a client via the object tab.
+ var/list/atoms_to_show = list()
+ /// List of atom -> image string for objects we have had in the right click tab.
+ var/list/atoms_to_images = list()
+ /// List of atoms to turn into images for the object tab.
+ var/list/atoms_to_imagify = list()
+ /// Reference to a window owner.
+ var/client/parent
+ /// Whether window is currently tracking a turf.
+ var/actively_tracking = FALSE
+
+/datum/object_window_info/New(client/parent)
+ . = ..()
+
+ src.parent = parent
+
+/datum/object_window_info/Destroy(force)
+ atoms_to_show = null
+ atoms_to_images = null
+ atoms_to_imagify = null
+ parent.obj_window = null
+ parent = null
+ STOP_PROCESSING(SSobj_tab_items, src)
+ return ..()
+
+/**
+ * Takes an objects list, attempts to generate images and and notify client. Processes
+ * until all entries were handled.
+ */
+/datum/object_window_info/Process()
+ // Cache the datum access for sonic speed
+ var/list/to_make = atoms_to_imagify
+ var/list/newly_seen = atoms_to_images
+
+ var/index = 0
+ for(index in 1 to length(to_make))
+ var/atom/thing = to_make[index]
+
+ var/generated_string
+ if(ismob(thing) || length(thing.overlays) > 2)
+ generated_string = costly_icon2html(thing, parent, sourceonly = TRUE)
+ else
+ generated_string = icon2html(thing, parent, sourceonly = TRUE)
+
+ newly_seen[thing] = generated_string
+
+ if(TICK_CHECK)
+ to_make.Cut(1, index + 1)
+ index = 0
+ break
+
+ // If we've not cut yet, do it now
+ if(index)
+ to_make.Cut(1, index + 1)
+
+ // Following line of code causes stat panel flickering. Possibly due to slow icon baking, uncomment after SSassets port.
+ // SSstatpanels.refresh_client_obj_view(parent)
+
+ if(!length(to_make))
+ return PROCESS_KILL
+
+/datum/object_window_info/proc/start_turf_tracking()
+ if(actively_tracking)
+ stop_turf_tracking()
+
+ var/static/list/connections = list(
+ SIGNAL_MOVED = nameof(.proc/on_mob_move),
+ SIGNAL_LOGGED_OUT = nameof(.proc/on_mob_logout),
+ )
+
+ AddComponent(/datum/component/connect_mob_behalf, parent, connections)
+ actively_tracking = TRUE
+
+/datum/object_window_info/proc/stop_turf_tracking()
+ qdel(get_component(/datum/component/connect_mob_behalf))
+ actively_tracking = FALSE
+
+/datum/object_window_info/proc/on_mob_move(mob/source)
+ // Some fucker sleeps in `Entered`, so it's impossible to use `SIGNAL_HANDLER` inhere.
+ var/turf/listed = source.listed_turf
+ if(isnull(listed) || !source.TurfAdjacent(listed))
+ source.set_listed_turf(null)
+
+/datum/object_window_info/proc/on_mob_logout(mob/source)
+ // Sleepy in `Entered`, so no `SIGNAL_HANDLER`, bozo.
+ on_mob_move(parent.mob)
+
+/datum/object_window_info/proc/viewing_atom_deleted(atom/deleted)
+ SIGNAL_HANDLER
+ atoms_to_show -= deleted
+ atoms_to_imagify -= deleted
+ atoms_to_images -= deleted
+
+/mob/proc/set_listed_turf(turf/new_turf)
+ listed_turf = new_turf
+ if(!client)
+ return
+
+ if(!client.obj_window)
+ client.obj_window = new(client)
+
+ if(listed_turf)
+ client.stat_panel.send_message("create_listedturf", listed_turf.name)
+ client.obj_window.start_turf_tracking()
+ else
+ client.stat_panel.send_message("remove_listedturf")
+ client.obj_window.stop_turf_tracking()
diff --git a/code/datums/outfits/wizardry.dm b/code/datums/outfits/wizardry.dm
index 7f02c01f662..fdd4ef3fd53 100644
--- a/code/datums/outfits/wizardry.dm
+++ b/code/datums/outfits/wizardry.dm
@@ -31,3 +31,13 @@
head = /obj/item/clothing/head/wizard/violetwizard
suit = /obj/item/clothing/suit/wizrobe/violetwizard
shoes = /obj/item/clothing/shoes/sandal/marisa
+
+/decl/hierarchy/outfit/musclemancer
+ name = "Musclemancer"
+ head = null
+ suit = /obj/item/clothing/suit/musclemancer
+ shoes = /obj/item/clothing/shoes/laceup
+ uniform = /obj/item/clothing/under/suit_jacket/navy/scholar
+ r_pocket = /obj/item/teleportation_scroll
+ l_ear = /obj/item/device/radio/headset
+ flags = OUTFIT_RESET_EQUIPMENT|OUTFIT_NO_SURVIVAL
diff --git a/code/datums/progressbar.dm b/code/datums/progressbar.dm
index cb99498cea7..f0605609d67 100644
--- a/code/datums/progressbar.dm
+++ b/code/datums/progressbar.dm
@@ -1,7 +1,6 @@
#define PROGRESSBAR_ICON_HEIGHT 7
-/client
- var/list/progressbars = list()
+/client/var/list/progressbars = list()
/datum/progressbar
var/goal = 1
diff --git a/code/datums/sound_player.dm b/code/datums/sound_player.dm
index 44c3f04083a..844006fb964 100644
--- a/code/datums/sound_player.dm
+++ b/code/datums/sound_player.dm
@@ -214,14 +214,16 @@ GLOBAL_DATUM_INIT(sound_player, /decl/sound_player, new)
null_sound = null_sound || new(channel = sound.channel)
sound_to(listener, null_sound)
unregister_signal(listener, SIGNAL_MOVED)
- unregister_signal(listener, SIGNAL_QDELETING, /datum/sound_token/proc/PrivRemoveListener)
+ unregister_signal(listener, SIGNAL_QDELETING, nameof(/datum/sound_token.proc/PrivRemoveListener))
listeners -= listener
/datum/sound_token/proc/PrivUpdateListenerLoc(atom/listener, update_sound = TRUE)
var/turf/source_turf = get_turf(source)
var/turf/listener_turf = get_turf(listener)
- ASSERT(istype(source_turf) && istype(listener_turf))
+ if(!istype(source_turf) || !istype(listener_turf)) // Oh look somebody's got nullspace'd
+ PrivRemoveListener(listener)
+ return
var/distance = get_dist(source_turf, listener_turf)
if(!listener_turf || (distance > range) || !(listener_turf in can_be_heard_from))
diff --git a/code/datums/supplypacks/security.dm b/code/datums/supplypacks/security.dm
index c2c790073a3..7905c01b251 100644
--- a/code/datums/supplypacks/security.dm
+++ b/code/datums/supplypacks/security.dm
@@ -409,12 +409,12 @@
access = access_security
/decl/hierarchy/supply_pack/security/surplusfirearms
- name = "Misc - Surplus firearms"
+ name = "Weapons - Surplus firearms"
contains = list(/obj/item/gun/projectile/bolt_action = 2,
/obj/item/gun/projectile/bolt_action/mauser = 2,
/obj/item/ammo_magazine/c792 = 4
)
- cost = 20
+ cost = 40
containertype = /obj/structure/closet/crate/secure
containername = "\improper Surplus Firearms"
access = access_security
diff --git a/code/datums/surgery/steps/generic.dm b/code/datums/surgery/steps/generic.dm
index 9d5c478bc0e..4f7c7f64432 100644
--- a/code/datums/surgery/steps/generic.dm
+++ b/code/datums/surgery/steps/generic.dm
@@ -51,7 +51,7 @@
return .
if(!parent_organ.get_incision(TRUE))
- target.show_splash_text(user, "no incisions that can be closed cleanly!")
+ target.show_splash_text(user, "no incisions that can be closed cleanly!", "There are no incisions that can be closed cleanly!")
return SURGERY_FAILURE
if(parent_organ.is_stump())
diff --git a/code/datums/surgery/steps/implant.dm b/code/datums/surgery/steps/implant.dm
index 0e22ec8cbba..1b1696fc52d 100644
--- a/code/datums/surgery/steps/implant.dm
+++ b/code/datums/surgery/steps/implant.dm
@@ -136,7 +136,7 @@
max_volume -= O.get_storage_cost()
if(tool.get_storage_cost() > max_volume || parent_organ.cavity_max_w_class < tool.w_class)
- target.show_splash_text(user, "tool is too big!")
+ target.show_splash_text(user, "tool is too big!", "\The [tool] is too big to fit inside!")
return SURGERY_FAILURE
var/total_volume = tool.get_storage_cost()
@@ -147,7 +147,7 @@
total_volume += I.get_storage_cost()
if(total_volume > max_volume)
- target.show_splash_text(user, "not enough space!")
+ target.show_splash_text(user, "not enough space!", "There's not enough space!")
return FALSE
return TRUE
diff --git a/code/datums/surgery/steps/internal.dm b/code/datums/surgery/steps/internal.dm
index 7db7afba31d..f5b6f48da10 100644
--- a/code/datums/surgery/steps/internal.dm
+++ b/code/datums/surgery/steps/internal.dm
@@ -239,27 +239,27 @@
return FALSE
if(BP_IS_ROBOTIC(parent_organ) && !BP_IS_ROBOTIC(target_organ))
- target.show_splash_text(user, "organic organ can't be connected to a robotic body!")
+ target.show_splash_text(user, "organic organ can't be connected to a robotic body!", "An organic organ can't be connected to a robotic body!")
return SURGERY_FAILURE
if(!target.species)
CRASH("Target ([target]) of surgery [type] has no species!")
if(target_organ.organ_tag == BP_POSIBRAIN && !target.species.has_organ[BP_POSIBRAIN])
- target.show_splash_text(user, "this type of body isn't supported!")
+ target.show_splash_text(user, "this type of body isn't supported!", "This type of body isn't supported!")
return SURGERY_FAILURE
if(target_organ.damage > (target_organ.max_damage * 0.75))
- target.show_splash_text(user, "organ is too damaged!")
+ target.show_splash_text(user, "organ is too damaged!", "The organ is too damaged!")
return SURGERY_FAILURE
if(target_organ.w_class > parent_organ.cavity_max_w_class)
- target.show_splash_text(user, "organ won't fit inside!")
+ target.show_splash_text(user, "organ won't fit inside!", "The organ won't fit inside!")
return SURGERY_FAILURE
var/obj/item/organ/internal/O = target.internal_organs_by_name[target_organ.organ_tag]
if(O && (O.parent_organ == parent_organ.organ_tag || istype(target_organ, /obj/item/organ/internal/stack)))
- target.show_splash_text(user, "stack is already present!")
+ target.show_splash_text(user, "stack is already present!", "There's already a stack present!")
return SURGERY_FAILURE
var/used_volume = 0
@@ -271,7 +271,7 @@
for(var/obj/item/I in parent_organ.internal_organs)
used_volume += I.get_storage_cost()
if((base_storage_capacity(parent_organ.cavity_max_w_class) + parent_organ.internal_organs_size) < used_volume + target_organ.get_storage_cost())
- target.show_splash_text(user, "not enough space!")
+ target.show_splash_text(user, "not enough space!", "There's not enough space!")
return SURGERY_FAILURE
return TRUE
@@ -369,7 +369,7 @@
return FALSE
if(!target_organ.can_recover())
- target.show_splash_text(user, "organ is damaged beyond recover!")
+ target.show_splash_text(user, "organ is damaged beyond recover!", "The organ is damaged beyond recover!")
return SURGERY_FAILURE
return !!target_organ.damage
@@ -394,11 +394,11 @@
return FALSE
if(!. && !organ_fixer.emagged)
- target.show_splash_text(user, "organ doesn't require any healing!")
+ target.show_splash_text(user, "organ doesn't require any healing!", "The organ doesn't require any healing!!")
return SURGERY_FAILURE
if(organ_fixer.gel_amt == 0)
- target.show_splash_text(user, "not enough gel!")
+ target.show_splash_text(user, "not enough gel!", "There's not enough somatic gel!")
return SURGERY_FAILURE
return TRUE
@@ -491,7 +491,7 @@
var/obj/item/stack/medical/M = tool
if(M.amount < 1)
- target.show_splash_text(user, "not enough medicine to complete this step!")
+ target.show_splash_text(user, "not enough medicine to complete this step!", "There's not enough medicine to complete this step!")
return SURGERY_FAILURE
return TRUE
@@ -574,7 +574,7 @@
return FALSE
if(organ_fixer.gel_amt == 0)
- target.show_splash_text(user, "not enough gel!")
+ target.show_splash_text(user, "not enough gel!", "There's not enough somatic gel!")
return SURGERY_FAILURE
for(var/obj/item/organ/internal/I in parent_organ.internal_organs)
@@ -720,7 +720,7 @@
return FALSE
if(!target_organ.can_recover() && istype(target_organ, /obj/item/organ/internal/cerebrum/brain))
- target.show_splash_text(user, "organ is damaged beyond recover!")
+ target.show_splash_text(user, "organ is damaged beyond recover!", "The organ is damaged beyond recover!")
return SURGERY_FAILURE
return TRUE
diff --git a/code/datums/surgery/steps/limb.dm b/code/datums/surgery/steps/limb.dm
index 85b18bb9892..c1543f95786 100644
--- a/code/datums/surgery/steps/limb.dm
+++ b/code/datums/surgery/steps/limb.dm
@@ -35,11 +35,11 @@
var/obj/item/organ/external/P = target.get_organ(E.parent_organ)
if(isnull(P) || P.is_stump())
- target.show_splash_text(user, "limb is already present!")
+ target.show_splash_text(user, "limb is already present!", "There's already a limb present!")
return SURGERY_FAILURE
if(BP_IS_ROBOTIC(P) && !BP_IS_ROBOTIC(E))
- target.show_splash_text(user, "organic limb can't be connected to a robotic body!")
+ target.show_splash_text(user, "organic limb can't be connected to a robotic body!", "An organic limb can't be connected to a robotic body!")
return SURGERY_FAILURE
return !isnull(target.species.has_limbs["[E.organ_tag]"])
@@ -216,7 +216,7 @@
return
if(parent_organ.open())
- target.show_splash_text(user, "can't get a clean cut due to present incisions!")
+ target.show_splash_text(user, "can't get a clean cut due to present incisions!", "You can't get a clean cut due to present incisions!")
return SURGERY_FAILURE
return parent_organ.limb_flags & ORGAN_FLAG_CAN_AMPUTATE
diff --git a/code/datums/surgery/steps/misc.dm b/code/datums/surgery/steps/misc.dm
index 7307a286e47..4e8ebbe78f8 100644
--- a/code/datums/surgery/steps/misc.dm
+++ b/code/datums/surgery/steps/misc.dm
@@ -32,8 +32,8 @@
return FALSE
if(isWelder(tool))
- var/obj/item/weldingtool/W = tool
- if(!W.isOn() || !W.remove_fuel(1, user))
+ var/obj/item/weldingtool/WT = tool
+ if(!WT.use_tool(target, user, amount = 1))
return FALSE
return !(target.back.canremove)
diff --git a/code/datums/surgery/steps/robotic.dm b/code/datums/surgery/steps/robotic.dm
index 66eee76f5e0..8e6ef30ef7d 100644
--- a/code/datums/surgery/steps/robotic.dm
+++ b/code/datums/surgery/steps/robotic.dm
@@ -172,8 +172,8 @@
return
if(isWelder(tool))
- var/obj/item/weldingtool/W = tool
- if(!W.isOn() || !W.remove_fuel(1, user))
+ var/obj/item/weldingtool/WT = tool
+ if(!WT.use_tool(target, user, amount = 1))
return FALSE
if(parent_organ.hatch_state != HATCH_OPENED)
@@ -229,7 +229,7 @@
return FALSE
if(!C.use(3))
- target.show_splash_text(user, "not enough coil length!")
+ target.show_splash_text(user, "not enough coil length!", "Not enought coil length to repair!")
return SURGERY_FAILURE
return TRUE
diff --git a/code/datums/think_context.dm b/code/datums/think_context.dm
index 3fbf380c7b9..b6648dffcbc 100644
--- a/code/datums/think_context.dm
+++ b/code/datums/think_context.dm
@@ -3,13 +3,19 @@
var/next_think
var/datum/callback/callback
var/group
+ var/list/arguments
-/datum/think_context/New(time, clbk)
+/datum/think_context/New(time, clbk, ...)
last_think = 0
next_think = time
callback = clbk
ASSIGN_THINK_GROUP(group, time)
+ if(length(args) > 2)
+ arguments = args.Copy(3)
+ else
+ arguments = list()
+
/datum/think_context/proc/stop()
if(group)
SSthink.contexts_groups[group] -= src
@@ -17,8 +23,11 @@
last_think = 0
next_think = 0
group = null
+ arguments?.Cut()
/datum/think_context/Destroy()
stop()
QDEL_NULL(callback)
+ arguments = null
+
return ..()
diff --git a/code/datums/uplink/categories/job.dm b/code/datums/uplink/categories/job.dm
index 75c1c48d59b..a20723ab0fd 100644
--- a/code/datums/uplink/categories/job.dm
+++ b/code/datums/uplink/categories/job.dm
@@ -10,3 +10,10 @@
item_cost = 5
job_specific = list("Chef")
path = /obj/item/material/knife/butch/kitchen/syndie
+
+/datum/uplink_item/item/job/meathook
+ name = "Meat Hook"
+ desc = "A high-tech version of an ancient assassin weapon, disguised as a meat hook. It can be thrown with an incredible accuracy, and will snag the first target it encounters, dragging it back to you. However, all the witnesses will know for sure that you're up for something."
+ item_cost = 5
+ job_specific = list("Chef")
+ path = /obj/item/gun/meathook
diff --git a/code/datums/uplink/categories/services.dm b/code/datums/uplink/categories/services.dm
index cb0dfa98501..a9708ebfd08 100644
--- a/code/datums/uplink/categories/services.dm
+++ b/code/datums/uplink/categories/services.dm
@@ -62,10 +62,12 @@
deactivate()
. = ..()
-/obj/item/device/uplink_service/_examine_text(user)
+/obj/item/device/uplink_service/examine(mob/user, infix)
. = ..()
+
if(get_dist(src, user) > 1)
return
+
var/msg
switch(state)
if(AWAITING_ACTIVATION)
@@ -74,7 +76,8 @@
msg = "It is labeled '[service_label]' and appears to be active."
if(HAS_BEEN_ACTIVATED)
msg = "It is labeled '[service_label]' and appears to be permanently disabled."
- . += "\n[msg]"
+
+ . += "[msg]"
/obj/item/device/uplink_service/attack_self(mob/user)
if(state != AWAITING_ACTIVATION)
@@ -88,10 +91,13 @@
log_and_message_admins("has activated the service '[service_label]'", user)
if(service_duration)
- addtimer(CALLBACK(src, nameof(.proc/deactivate)), service_duration)
+ set_next_think(world.time + service_duration)
else
deactivate()
+/obj/item/device/uplink_service/think()
+ deactivate()
+
/obj/item/device/uplink_service/proc/deactivate()
if(state != CURRENTLY_ACTIVE)
return
diff --git a/code/game/antagonist/antagonist_add.dm b/code/game/antagonist/antagonist_add.dm
index ba3503e9255..820c11d9c19 100644
--- a/code/game/antagonist/antagonist_add.dm
+++ b/code/game/antagonist/antagonist_add.dm
@@ -33,10 +33,10 @@
current_antagonists |= player
if(faction_verb)
- player.current.verbs |= faction_verb
+ grant_verb(player.current, faction_verb)
if(config.gamemode.disable_objectives == CONFIG_OBJECTIVE_VERB)
- player.current.verbs += /mob/proc/add_objectives
+ grant_verb(player.current, /mob/proc/add_objectives)
if(player.current.client)
player.current.client.verbs += /client/proc/aooc
@@ -45,7 +45,7 @@
to_chat(player.current, SPAN("notice", "Once you decide on a goal to pursue, you can optionally display it to \
everyone at the end of the shift with the Set Ambition verb, located in the IC tab. You can change this at any time, \
and it otherwise has no bearing on your round."))
- player.current.verbs += /mob/living/proc/write_ambition
+ grant_verb(player.current, /mob/living/proc/write_ambition)
if(player.assigned_role == "Clown")
to_chat(player.current, SPAN("notice", "Your diligent training has helped you overcome your clownish nature."))
@@ -67,7 +67,7 @@
if(!istype(player))
return 0
if(player.current && faction_verb)
- player.current.verbs -= faction_verb
+ revoke_verb(player.current, faction_verb)
if(player in current_antagonists)
to_chat(player.current, "You are no longer a [role_text]!")
current_antagonists -= player
@@ -80,9 +80,9 @@
if(!is_special_character(player))
if(player.current)
- player.current.verbs -= /mob/living/proc/write_ambition
+ revoke_verb(player.current, /mob/living/proc/write_ambition)
if(player.current.client)
- player.current.client.verbs -= /client/proc/aooc
+ revoke_verb(player.current.client, /client/proc/aooc)
player.ambitions = ""
return 1
return 0
diff --git a/code/game/antagonist/antagonist_objectives.dm b/code/game/antagonist/antagonist_objectives.dm
index 8bc66254d54..1193bc5a6ba 100644
--- a/code/game/antagonist/antagonist_objectives.dm
+++ b/code/game/antagonist/antagonist_objectives.dm
@@ -38,7 +38,7 @@
set desc = "Recieve optional objectives."
set category = "OOC"
- src.verbs -= /mob/proc/add_objectives
+ revoke_verb(src, /mob/proc/add_objectives)
if(!src.mind)
return
diff --git a/code/game/antagonist/station/cultist.dm b/code/game/antagonist/station/cultist.dm
index 0432ff86aad..76022dc4d3f 100644
--- a/code/game/antagonist/station/cultist.dm
+++ b/code/game/antagonist/station/cultist.dm
@@ -165,19 +165,21 @@ GLOBAL_DATUM_INIT(cult, /datum/antagonist/cultist, new)
cult_rating = max(0, cult_rating - amount)
/datum/antagonist/cultist/proc/add_cult_magic(mob/M)
- M.verbs += Tier1Runes
+ grant_verb(M, Tier1Runes)
if(max_cult_rating >= CULT_RUNES_1)
- M.verbs += Tier2Runes
+ grant_verb(M, Tier2Runes)
- if(max_cult_rating >= CULT_RUNES_2)
- M.verbs += Tier3Runes
+ if(max_cult_rating >= CULT_RUNES_2)
+ grant_verb(M, Tier3Runes)
- if(max_cult_rating >= CULT_RUNES_3)
- M.verbs += Tier4Runes
+ if(max_cult_rating >= CULT_RUNES_3)
+ grant_verb(M, Tier4Runes)
/datum/antagonist/cultist/proc/remove_cult_magic(mob/M)
- M.verbs -= Tier1Runes
- M.verbs -= Tier2Runes
- M.verbs -= Tier3Runes
- M.verbs -= Tier4Runes
+ revoke_verb(M, list(
+ Tier1Runes,
+ Tier2Runes,
+ Tier3Runes,
+ Tier4Runes,
+ ))
diff --git a/code/game/atoms.dm b/code/game/atoms.dm
index 3f56072a75d..8a5ebfc6d24 100644
--- a/code/game/atoms.dm
+++ b/code/game/atoms.dm
@@ -15,6 +15,13 @@
var/simulated = 1 //filter for actions - used by lighting overlays
var/fluorescent // Shows up under a UV light.
+ /// Helpful blue text, can be used to describe usage caveats and etc.
+ var/description_info
+ /// Green text containing the atom's fluff, if any exists.
+ var/description_fluff
+ /// Malicious red text, can be viewed by antags.
+ var/description_antag
+
///Value used to increment ex_act() if reactionary_explosions is on
var/explosion_block = 0
@@ -28,7 +35,7 @@
// replaced by OPENCONTAINER flags and atom/proc/is_open_container()
///Chemistry.
- var/list/climbers = list()
+ var/list/climbers
var/tf_scale_x // The atom's base transform scale for width.
var/tf_scale_y // The atom's base transform scale for height.
@@ -58,6 +65,38 @@
/// pass_flags that we are. If any of this matches a pass_flag on a moving thing, by default, we let them through.
var/pass_flags_self = NONE
+/// Passes Stat Browser Panel clicks to the game and calls client click on an atom.
+/atom/Topic(href, list/href_list)
+ . = ..()
+
+ if(!usr?.client)
+ return
+
+ var/client/usr_client = usr.client
+ var/list/paramslist = list()
+
+ if(href_list["statpanel_item_click"])
+ switch(href_list["statpanel_item_click"])
+ if("left")
+ paramslist["left"] = "1"
+ if("right")
+ paramslist["right"] = "1"
+ if("middle")
+ paramslist["middle"] = "1"
+ else
+ return
+
+ if(href_list["statpanel_item_shiftclick"])
+ paramslist["shift"] = "1"
+ if(href_list["statpanel_item_ctrlclick"])
+ paramslist["ctrl"] = "1"
+ if(href_list["statpanel_item_altclick"])
+ paramslist["alt"] = "1"
+
+ var/mouseparams = list2params(paramslist)
+ usr_client.Click(src, loc, null, mouseparams)
+ return TRUE
+
/atom/New(loc, ...)
CAN_BE_REDEFINED(TRUE)
//atom creation method that preloads variables at creation
@@ -112,7 +151,7 @@
//called if Initialize returns INITIALIZE_HINT_LATELOAD
/atom/proc/LateInitialize()
- return
+ set waitfor = FALSE
/atom/proc/drop_location()
var/atom/L = loc
@@ -326,35 +365,6 @@ its easier to just keep the beam vertical.
//I've found that 3 ticks provided a nice balance for my use.
for(var/obj/effect/overlay/beam/O in orange(10,src)) if(O.BeamSource==src) qdel(O)
-
-/atom/proc/_examine_text(mob/user, infix = "", suffix = "")
- // This reformat names to get a/an properly working on item descriptions when they are bloody
- var/f_name = "\a [SPAN("info", "[src][infix]")]."
- if(is_bloodied && !istype(src, /obj/effect/decal))
- if(gender == PLURAL)
- f_name = "some "
- else
- f_name = "a "
- if(blood_color != SYNTH_BLOOD_COLOUR)
- f_name += "blood-stained [SPAN("info", "[name][infix]")]!"
- else
- f_name += "oil-stained [name][infix]."
-
- . = "\icon[src] That's [f_name] [suffix]"
- . += "\n[desc]"
-
- return
-
-/atom/proc/examine(...)
- SHOULD_NOT_OVERRIDE(TRUE)
-
- var/content = "
\n5-DIGIT PASSCODE NOT SET.
ENTER NEW PASSCODE.")
- if(emagged)
- dat += text("
\nLOCKING SYSTEM ERROR - 1701") - if(l_setshort) - dat += text("
\nALERT: MEMORY SYSTEM ERROR - 6040 201") - message = text("[]", src.code) - if(!locked) - message = "*****" - dat += text("
\n5-DIGIT PASSCODE NOT SET.
ENTER NEW PASSCODE.")
- if(emagged)
- dat += text("
\nLOCKING SYSTEM ERROR - 1701") - if(l_setshort) - dat += text("
\nALERT: MEMORY SYSTEM ERROR - 6040 201") - message = text("[]", src.code) - if(!locked) - message = "*****" - dat += text("
\n Be careful! Once you chose your weapon and unlock the gun case, you won't be able to change it.") - dat += text("
\nM1911", src) - dat += text("
\nS&W Legacy", src) - dat += text("
\nS&W 620", src) - dat += text("
\nM2019 Detective Special", src) - dat += text("
\nT9 Patrol", src) - dat += text("
\n A cheap Martian knock-off of a Colt M1911. Uses .45 rounds. Extremely popular among space detectives nowadays.") - if(!gunspawned) - dat += text("
\n Comes with two .45 seven round magazines and two .45 rubber seven round magazines.") - else if(guntype == "S&W Legacy") - dat += text("
\n A cheap Martian knock-off of a Smith & Wesson Model 10. Uses .38-Special rounds. Used to be NanoTrasen's service weapon for detectives.") - if(!gunspawned) - dat += text("
\n Comes with two .38 six round speedloaders and two .38 rubber six round speedloaders.") - else if(guntype == "S&W 620") - dat += text("
\n A cheap Martian knock-off of a Smith & Wesson Model 620. Uses .38-Special rounds. Quite popular among professionals.") - if(!gunspawned) - dat += text("
\n Comes with two .38 six round speedloaders and two .38 rubber six round speedloaders.") - else if(guntype == "M2019") - dat += text("
\n Quite a controversial weapon. Combining both pros and cons of revolvers and railguns, it's extremely versatile, yet requires a lot of care.") - if(!gunspawned) - dat += text("
\n Comes with three .38 SPEC five round speedloaders, two .38 CHEM five round speedloaders, and two replaceable power cells.") - dat += text("
\n Brief instructions:
\n - M2019 Detective Special can be loaded with any type .38 rounds, yet works best with .38 CHEM and .38 SPEC.") - dat += text("
\n - With a powercell installed, M2019 can be used in two modes: non-lethal and lethal.") - dat += text("
\n - .38 SPEC no cell - works like a rubber bullet.
\n - .38 SPEC non-lethal - stuns the target.
\n - .38 SPEC lethal - accelerates the bullet, deals great damage and pierces medium armor.") - dat += text("
\n - .38 CHEM no cell - works like a flash bullet.
\n - .38 CHEM non-lethal - emmits a weak electromagnetic impulse.
\n - .38 CHEM lethal - not supposed to be used like this. The cartride reaches extremely high temperature and melts.") - else if(guntype == "T9 Patrol") - dat += text("
\n A relatively cheap and reliable knock-off of a Beretta M9. Uses 9mm rounds. Used to be a standart-issue gun in almost every security company.") - if(!gunspawned) - dat += text("
\n Comes with three ten round 9mm magazines and two 9mm flash ten round magazines.")
-
- if(!lock_menu || lock_menu.user != user)
- lock_menu = new /datum/browser(user, "mob[name]", "[src]", 300, 280)
- lock_menu.set_content(dat)
- else
- lock_menu.set_content(dat)
- lock_menu.update()
- return
-
-/obj/item/storage/secure/guncase/detective/Topic(href, href_list)
- if((usr.stat || usr.restrained()) || (get_dist(src, usr) > 1))
- return
- if(href_list["type"])
- if (href_list["type"] == "m1911")
- guntype = "M1911"
- else if(href_list["type"] == "legacy")
- guntype = "S&W Legacy"
- else if(href_list["type"] == "saw620")
- guntype = "S&W 620"
- else if(href_list["type"] == "m2019")
- guntype = "M2019"
- else if(href_list["type"] == "det_m9")
- guntype = "T9 Patrol"
- else if(href_list["type"] == "E")
- if((l_set == 0) && (length(code) == 5) && (!l_setshort) && (code != "ERROR"))
- l_code = src.code
- l_set = 1
- else if((code == l_code) && !emagged && (l_set == 1))
- locked = 0
- update_icon()
- code = null
- if(!gunspawned)
- spawn_set(guntype)
- else
- code = "ERROR"
- else
- if((href_list["type"] == "R") && !emagged && (!l_setshort))
- locked = 1
- ClearOverlays()
- code = null
- close(usr)
- else
- code += text("[]", href_list["type"])
- if(length(code) > 5)
- code = "ERROR"
- for(var/mob/M in viewers(1, src.loc))
- if((M.client && M.machine == src))
- show_lock_menu(M)
- return
- return
-
-/obj/item/storage/secure/guncase/detective/spawn_set(set_name)
- if(gunspawned)
- return
- switch(set_name)
- if("M1911")
- new /obj/item/gun/projectile/pistol/colt/detective(src)
- new /obj/item/ammo_magazine/c45m/rubber(src)
- new /obj/item/ammo_magazine/c45m/rubber(src)
- new /obj/item/ammo_magazine/c45m/stun(src)
- new /obj/item/ammo_magazine/c45m/stun(src)
- new /obj/item/ammo_magazine/c45m(src)
- new /obj/item/ammo_magazine/c45m(src)
- if("S&W Legacy")
- new /obj/item/gun/projectile/revolver/detective(src)
- new /obj/item/ammo_magazine/c38/rubber(src)
- new /obj/item/ammo_magazine/c38/rubber(src)
- new /obj/item/ammo_magazine/c38(src)
- new /obj/item/ammo_magazine/c38(src)
- if("S&W 620")
- new /obj/item/gun/projectile/revolver/detective/saw620(src)
- new /obj/item/ammo_magazine/c38/rubber(src)
- new /obj/item/ammo_magazine/c38/rubber(src)
- new /obj/item/ammo_magazine/c38(src)
- new /obj/item/ammo_magazine/c38(src)
- if("M2019")
- new /obj/item/gun/projectile/revolver/m2019/detective(src)
- new /obj/item/ammo_magazine/c38/spec(src)
- new /obj/item/ammo_magazine/c38/spec(src)
- new /obj/item/ammo_magazine/c38/spec(src)
- new /obj/item/ammo_magazine/c38/chem(src)
- new /obj/item/ammo_magazine/c38/chem(src)
- new /obj/item/cell/device/high(src)
- if("T9 Patrol")
- new /obj/item/gun/projectile/pistol/det_m9(src)
- new /obj/item/ammo_magazine/mc9mm(src)
- new /obj/item/ammo_magazine/mc9mm(src)
- new /obj/item/ammo_magazine/mc9mm(src)
- new /obj/item/ammo_magazine/mc9mm/flash(src)
- new /obj/item/ammo_magazine/mc9mm/flash(src)
- else
- return
- gunspawned = TRUE
-
-
-/obj/item/storage/secure/guncase/security
- name = "security hardcase"
- icon_state = "guncasesec"
- item_state = "guncase"
- desc = "A heavy-duty container with an ID-based locking system. This one is painted in NT Security colors."
- override_w_class = list(/obj/item/gun/energy/security)
- max_storage_space = null
- storage_slots = 7
-
-/obj/item/storage/secure/guncase/security/attackby(obj/item/W, mob/user)
- var/obj/item/card/id/I = W.get_id_card()
- if(I) // For IDs and PDAs and wallets with IDs
- if(!(access_security in I.GetAccess()))
- to_chat(user, SPAN("warning", "Access denied!"))
- return
- if(!guntype)
- to_chat(user, SPAN("warning", "\The [src] blinks red. You need to make a choice first."))
- return
- if(!gunspawned)
- spawn_set(guntype)
- lock_menu.close(user)
- for(var/thing in contents)
- if(istype(thing, /obj/item/gun/energy/security))
- var/obj/item/gun/energy/security/gun = thing
- gun.owner = I.registered_name
- to_chat(user, SPAN("notice", "You [locked ? "un" : ""]lock \the [src]."))
- locked = !locked
- ClearOverlays()
- update_icon()
- return
- return ..()
-
-/obj/item/storage/secure/guncase/security/attack_self(mob/user)
- if(locked && !gunspawned)
- return ..()
- return attack_hand(user)
-
-/obj/item/storage/secure/guncase/security/spawn_set(set_name)
- if(gunspawned)
- return
- var/obj/item/gun/energy/security/gun = null
- switch(set_name)
- if("Pistol")
- gun = new /obj/item/gun/energy/security(src)
- gun.subtype = decls_repository.get_decl(/decl/taser_types/pistol)
- gun.update_subtype()
- new /obj/item/shield/barrier(src)
- if("SMG")
- gun = new /obj/item/gun/energy/security(src)
- gun.subtype = decls_repository.get_decl(/decl/taser_types/smg)
- gun.update_subtype()
- new /obj/item/shield/barrier(src)
- if("Rifle")
- gun = new /obj/item/gun/energy/security(src)
- gun.subtype = decls_repository.get_decl(/decl/taser_types/rifle)
- gun.update_subtype()
- new /obj/item/shield/barrier(src)
- if("Classic")
- new /obj/item/gun/energy/classictaser(src)
- if(prob(70))
- new /obj/item/reagent_containers/vessel/bottle/small/darkbeer(src)
- else
- new /obj/item/reagent_containers/vessel/bottle/whiskey(src)
- else
- return
- new /obj/item/melee/baton/loaded(src)
- new /obj/item/handcuffs(src)
- new /obj/item/handcuffs(src)
- new /obj/item/reagent_containers/food/donut/normal(src)
- new /obj/item/reagent_containers/food/donut/normal(src)
- gunspawned = TRUE
-
-/obj/item/storage/secure/guncase/security/show_lock_menu(mob/user)
- if(user.incapacitated() || !user.Adjacent(src) || !user.client)
- return
- user.set_machine(src)
- var/dat = text("It can be locked and unlocked by swiping your ID card across the lock.
")
-
- dat += text("
\n Be careful! Once you chose your weapon and unlock the gun case, you won't be able to change it.") - dat += text("
\nTaser Pistol", src) - dat += text("
\nTaser SMG", src) - dat += text("
\nTaser Rifle", src) - dat += text("
\nRusty Classic", src) - dat += text("
\n A taser pistol. The smallest of all the tasers. It only has a single fire mode, but each shot wields power.") - dat += text("
\n Comes with a baton, a handheld barrier, a couple of handcuffs, and a pair of donuts.") - if("SMG") - dat += text("
\n A taser SMG. This model is not as powerful as pistols, but is capable of launching electrodes left and right with its remarkable rate of fire.") - dat += text("
\n Comes with a baton, a handheld barrier, a couple of handcuffs, and a pair of donuts.") - if("Rifle") - dat += text("
\n A taser rifle. Bulky and heavy, it must be wielded with both hands. Although its rate of fire is way below average, it is capable of shooting stun beams.") - dat += text("
\n Comes with a baton, a handheld barrier, a couple of handcuffs, and a pair of donuts.") - if("Classic") - dat += text("
\n A rusty-and-trusty taser. It's overall worse than the modern baseline tasers, but it still does its job. Useful for those who want to assert their robust dominance. Or, maybe, for old farts.") - dat += text("
\n Comes with a baton, a couple of handcuffs, a pair of donuts, and a drink to stay cool.")
-
- if(!lock_menu || lock_menu.user != user)
- lock_menu = new /datum/browser(user, "mob[name]", "[src]", 300, 280)
- lock_menu.set_content(dat)
- else
- lock_menu.set_content(dat)
- lock_menu.update()
- return
-
-/obj/item/storage/secure/guncase/security/Topic(href, href_list)
- if((usr.stat || usr.restrained()) || (get_dist(src, usr) > 1))
- return
- if(href_list["type"])
- guntype = href_list["type"]
- for(var/mob/M in viewers(1, loc))
- if((M.client && M.machine == src))
- show_lock_menu(M)
- return
- return
-
-/obj/item/storage/secure/guncase/security/hos
- name = "high command security hardcase"
- desc = "A heavy-duty container with an ID-based locking system. This one is painted in NT High Command Security colors."
- icon_state = "guncasehos"
- override_w_class = list(/obj/item/gun/projectile/lawgiver)
-
-/obj/item/storage/secure/guncase/security/hos/attackby(obj/item/W, mob/user)
- var/obj/item/card/id/I = W.get_id_card()
- if(I) // For IDs and PDAs and wallets with IDs
- if(!(access_hos in I.GetAccess()))
- to_chat(user, SPAN("warning", "Access denied!"))
- return
- if(!guntype)
- to_chat(user, SPAN("warning", "\The [src] blinks red. You need to make a choice first."))
- return
- if(!gunspawned)
- spawn_set(guntype)
- lock_menu.close(user)
- to_chat(user, SPAN("notice", "You [locked ? "un" : ""]lock \the [src]."))
- locked = !locked
- ClearOverlays()
- update_icon()
- return
- return ..()
-
-/obj/item/storage/secure/guncase/security/hos/spawn_set(set_name)
- if(gunspawned)
- return
- switch(set_name)
- if("lawgiver")
- new /obj/item/gun/projectile/lawgiver(src)
- new /obj/item/ammo_magazine/lawgiver(src)
- if("Razor")
- new /obj/item/gun/energy/rifle/cheap(src)
- // Delete lawgiver steal contract, we can't get lawgiver legally.
- GLOB.contracts_steal_items.Remove("the head of security's lawgiver gun")
- for(var/datum/antag_contract/item/steal/C in GLOB.all_contracts)
- if(C.target_type == /obj/item/gun/projectile/lawgiver)
- C.remove()
- else
- return
- gunspawned = TRUE
-
-/obj/item/storage/secure/guncase/security/hos/show_lock_menu(mob/user)
- if(user.incapacitated() || !user.Adjacent(src) || !user.client)
- return
- user.set_machine(src)
- var/dat = text("It can be locked and unlocked by swiping your ID card across the lock.
")
-
- dat += text("
\n Be careful! Once you chose your weapon and unlock the gun case, you won't be able to change it.") - dat += text("
\n\"Razor\" energy rifle", src) - dat += text("
\nLawgiver multitask pistol", src) - dat += text("
\n Hephaestus Industries G50SE \"Razor\", a cheaper version of G50XS \"Raijin\".") - dat += text("
\n It has lethal and stun settings.") - // cool type - if("lawgiver") - dat += text("
\n The Lawgiver II. A twenty-five round sidearm with mission-variable voice-programmed ammunition.") - dat += text("
\n You must use the words STUN, LASER, RAPID, FLASH and AP to change modes.")
-
- if(!lock_menu || lock_menu.user != user)
- lock_menu = new /datum/browser(user, "mob[name]", "[src]", 300, 280)
- lock_menu.set_content(dat)
- else
- lock_menu.set_content(dat)
- lock_menu.update()
- return
-
-/obj/item/storage/secure/guncase/security/hos/Topic(href, href_list)
- if((usr.stat || usr.restrained()) || (get_dist(src, usr) > 1))
- return
- if(href_list["type"])
- guntype = href_list["type"]
- for(var/mob/M in viewers(1, loc))
- if((M.client && M.machine == src))
- show_lock_menu(M)
- return
- return
diff --git a/code/game/objects/items/storage/secure/_secure.dm b/code/game/objects/items/storage/secure/_secure.dm
new file mode 100644
index 00000000000..adb56afbe47
--- /dev/null
+++ b/code/game/objects/items/storage/secure/_secure.dm
@@ -0,0 +1,204 @@
+/obj/item/storage/secure
+ name = "secstorage"
+
+ w_class = ITEM_SIZE_NORMAL
+ max_w_class = ITEM_SIZE_SMALL
+ max_storage_space = DEFAULT_BOX_STORAGE
+
+ var/icon_locking = "secureb"
+ var/icon_sparking = "securespark"
+ var/icon_opened = "secure0"
+
+ /// Holds lock overlay of this storage.
+ var/image/lock_overlay
+
+ var/locked = TRUE
+ /// The number currently sitting in the briefcase's panel.
+ var/numeric_input
+ /// The code that will open this safe, set by usually players.
+ /// Importantly, can be null if there's no password.
+ var/lock_code
+
+ var/lock_setshort = FALSE
+ var/hacking = FALSE
+ var/emagged = FALSE
+ var/open = FALSE
+
+/obj/item/storage/secure/Destroy()
+ QDEL_NULL(lock_overlay)
+ return ..()
+
+/obj/item/storage/secure/on_update_icon()
+ CutOverlays(lock_overlay)
+
+ if(being_inspected && istext(inspect_state))
+ icon_state = inspect_state
+ return
+
+ icon_state = base_icon_state ? base_icon_state : initial(icon_state)
+ if(emagged)
+ lock_overlay = image(icon, icon_locking)
+ else if(!locked)
+ lock_overlay = image(icon, icon_opened)
+
+ AddOverlays(lock_overlay)
+
+/obj/item/storage/secure/examine(mob/user, infix)
+ . = ..()
+ . += "The service panel is [open ? "open" : "closed"]."
+
+/obj/item/storage/secure/attackby(obj/item/W, mob/user)
+ if(locked)
+ if(istype(W, /obj/item/melee/energy))
+ emag_act(INFINITY, user, W, "You slice through the lock of \the [src]")
+ var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread()
+ spark_system.set_up(5, 0, loc)
+ spark_system.start()
+ playsound(loc, 'sound/weapons/blade1.ogg', 50, 1)
+ playsound(loc, SFX_SPARK, 50, 1)
+ return
+
+ if(isScrewdriver(W))
+ if(!do_after(user, 20, src))
+ return
+
+ if(QDELETED(src))
+ return
+
+ open = !open
+ show_splash_text(user, "service panel [open ? "opened" : "closed"]", "You [open ? "open" : "close"] \the [src] service panel.")
+ return
+
+ if(isMultitool(W) && open && !hacking)
+ show_splash_text(user, "resetting internal memory...", "You begin resetting \the [src] internal memory...")
+ hacking = TRUE
+ if(!do_after(usr, 100, src))
+ return
+
+ if(QDELETED(src))
+ return
+
+ if(prob(40))
+ lock_setshort = TRUE
+ show_splash_text(user, "internal memory reset!", SPAN("notice", "You reset \the [src] internal memory!"))
+ sleep(80)
+ lock_setshort = FALSE
+ hacking = FALSE
+ lock_code = null
+ else
+ show_splash_text(user, "unable to reset internal memory!", SPAN("warning", "You have failed to reset \the [src] internal memory!"))
+ hacking = FALSE
+ hacking = FALSE
+
+ return
+ //At this point you have exhausted all the special things to do when locked
+ // ... but it's still locked.
+ return
+
+ // -> storage/attackby() what with handle insertion, etc
+ return ..()
+
+/obj/item/storage/secure/MouseDrop(over_object, src_location, over_location)
+ if(locked)
+ add_fingerprint(usr)
+ return
+
+ return ..()
+
+/obj/item/storage/secure/AltClick(mob/usr)
+ if(locked)
+ add_fingerprint(usr)
+ return
+
+ return ..()
+
+/obj/item/storage/secure/attack_self(mob/user)
+ tgui_interact(user)
+
+/obj/item/storage/secure/tgui_interact(mob/user, datum/tgui/ui)
+ ui = SStgui.try_update_ui(user, src, ui)
+ if(!ui)
+ ui = new(user, src, "LockedSafe", name)
+ ui.open()
+
+/obj/item/storage/secure/tgui_act(action, list/params, datum/tgui/ui, datum/ui_state/state)
+ . = ..()
+
+ if(.)
+ return TRUE
+
+ if(action != "keypad")
+ return
+
+ if(emagged || lock_setshort)
+ return TRUE
+
+ var/digit = params["digit"]
+ switch(digit)
+ if("C") // locking it back up
+ if(locked || isnull(lock_code))
+ numeric_input = ""
+ return TRUE
+
+ locked = TRUE
+ numeric_input = ""
+ close(usr)
+ update_icon()
+ return TRUE
+
+ if("E") //inputting a new code if there isn't one set.
+ if(!lock_code)
+ if(length(numeric_input) != 5)
+ return TRUE
+
+ lock_code = numeric_input
+ numeric_input = ""
+ return TRUE
+
+ //unlocking the current code.
+ if(numeric_input != lock_code)
+ numeric_input = ""
+ return TRUE
+
+ locked = FALSE
+ open(usr)
+ numeric_input = ""
+ update_icon()
+ return TRUE
+
+ //putting digits in.
+ if("0", "1", "2", "3", "4", "5", "6", "7", "8", "9")
+ if(length(numeric_input) == 5)
+ return TRUE
+
+ numeric_input += digit
+ return TRUE
+
+/obj/item/storage/secure/tgui_data(mob/user)
+ var/list/data = list(
+ "input_code" = numeric_input || "*****",
+ "locked" = locked,
+ "lock_code" = !!lock_code,
+ "emagged" = emagged,
+ "lock_setshort" = lock_setshort
+ )
+ return data
+
+/obj/item/storage/secure/emag_act(remaining_charges, mob/user, emag_source, visual_feedback = "", audible_feedback = "")
+ var/obj/item/melee/energy/WS = emag_source
+ if(WS.active)
+ on_hack_behavior(WS, user)
+ return TRUE
+
+/obj/item/storage/secure/proc/on_hack_behavior()
+ var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread()
+ spark_system.set_up(5, 0, src.loc)
+ spark_system.start()
+ playsound(loc, 'sound/weapons/blade1.ogg', 50, 1)
+ playsound(loc, "spark", 50, 1)
+ if(!emagged)
+ emagged = TRUE
+ AddOverlays(image(icon, icon_sparking))
+ sleep(6)
+ locked = FALSE
+ update_icon()
diff --git a/code/game/objects/items/storage/secure/briefcase.dm b/code/game/objects/items/storage/secure/briefcase.dm
new file mode 100644
index 00000000000..7a28faf0755
--- /dev/null
+++ b/code/game/objects/items/storage/secure/briefcase.dm
@@ -0,0 +1,29 @@
+/obj/item/storage/secure/briefcase
+ name = "secure briefcase"
+ icon_state = "secure"
+ item_state = "sec-case"
+ inspect_state = "secure-open"
+ desc = "A large briefcase with a digital locking system."
+ force = 8.0
+ throw_range = 4
+ w_class = ITEM_SIZE_HUGE
+ mod_weight = 1.5
+ mod_reach = 0.75
+ mod_handy = 1.0
+ max_w_class = ITEM_SIZE_NORMAL
+ max_storage_space = DEFAULT_BACKPACK_STORAGE
+
+/obj/item/storage/secure/briefcase/attack_hand(mob/user)
+ if(loc == user && locked)
+ show_splash_text(user, "locked!", SPAN("warning", "\The [src] is locked!"))
+
+ else if(loc == user && !locked)
+ open(user)
+
+ else
+ ..()
+ for(var/mob/M in range(1))
+ if(M.s_active == src)
+ close(M)
+
+ add_fingerprint(user)
diff --git a/code/game/objects/items/storage/secure/guncases.dm b/code/game/objects/items/storage/secure/guncases.dm
new file mode 100644
index 00000000000..4e5b1ebe14f
--- /dev/null
+++ b/code/game/objects/items/storage/secure/guncases.dm
@@ -0,0 +1,285 @@
+/obj/item/storage/secure/guncase
+ name = "guncase"
+ desc = "A heavy-duty container with a digital locking system. Has a thick layer of foam inside."
+ icon_state = "guncase"
+ item_state = "guncase"
+ icon_opened = "guncase0"
+ inspect_state = FALSE
+ force = 8.0
+ throw_range = 4
+ w_class = ITEM_SIZE_LARGE
+ mod_weight = 1.4
+ mod_reach = 0.7
+ mod_handy = 1.0
+ max_w_class = ITEM_SIZE_NORMAL
+ max_storage_space = DEFAULT_BACKPACK_STORAGE
+
+ var/guntype = null
+ var/gunspawned = FALSE
+
+ /// An associative list of possible guns. 'gun name' = 'gun description'
+ var/list/possible_guns = list()
+
+ /// An associative list of gun - contents.
+ var/list/gun_spawn = list()
+
+/obj/item/storage/secure/guncase/attack_hand(mob/user)
+ if(loc == user && locked == 1)
+ show_splash_text(user, "locked!", SPAN("warning", "\The [src] is locked!"))
+
+ else if(loc == user && !locked)
+ open(usr)
+
+ else
+ ..()
+ for(var/mob/M in range(1))
+ if(M.s_active == src)
+ close(M)
+
+ add_fingerprint(user)
+
+/obj/item/storage/secure/guncase/open(mob/user)
+ tgui_update()
+ return ..()
+
+/obj/item/storage/secure/guncase/close(mob/user)
+ tgui_update()
+ return ..()
+
+/obj/item/storage/secure/guncase/attack_self(mob/user)
+ return tgui_interact(user)
+
+/obj/item/storage/secure/guncase/proc/spawn_set(set_name)
+ if(gunspawned)
+ return
+
+ if(!length(gun_spawn[set_name]))
+ return
+
+ for(var/path in gun_spawn[set_name])
+ new path (src)
+
+ gunspawned = TRUE
+
+/obj/item/storage/secure/guncase/tgui_data(mob/user)
+ var/list/data = list(
+ "chosenGun" = guntype,
+ "gunSpawned" = gunspawned,
+ "possibleGuns",
+ )
+
+ for(var/gun_name in possible_guns)
+ var/list/gun_data = list(
+ "gunName" = gun_name,
+ "gunDesc" = possible_guns[gun_name]
+ )
+ data["possibleGuns"] += list(gun_data)
+
+ if(!isnull(guntype))
+ data["chosenGunDesc"] = possible_guns[guntype]
+
+ data += ..()
+
+ return data
+
+/obj/item/storage/secure/guncase/tgui_act(action, list/params, datum/tgui/ui, datum/ui_state/state)
+ . = ..()
+
+ if(.)
+ return TRUE
+
+ if(action != "chooseGun")
+ return
+
+ switch(action)
+ if("chooseGun")
+ guntype = params["gunName"]
+ return TRUE
+
+/obj/item/storage/secure/guncase/detective
+ name = "detective's gun case"
+ icon_state = "guncasedet"
+ item_state = "guncasedet"
+ desc = "A heavy-duty container with a digital locking system. This one has a wooden coating and its locks are the color of brass."
+ guntype = "M1911"
+
+ possible_guns = list(
+ "M1911" = "A cheap Martian knock-off of a Colt M1911. Uses .45 rounds. Extremely popular among space detectives nowadays. Comes with two .45 seven round magazines and two .45 rubber seven round magazines.",
+ "S&W Legacy" = "A cheap Martian knock-off of a Smith & Wesson Model 10. Uses .38-Special rounds. Used to be NanoTrasen's service weapon for detectives. Comes with two .38 six round speedloaders and two .38 rubber six round speedloaders.",
+ "S&W 620" = "A cheap Martian knock-off of a Smith & Wesson Model 620. Uses .38-Special rounds. Quite popular among professionals.Comes with two .38 six round speedloaders and two .38 rubber six round speedloaders.",
+ "M2019" = "Quite a controversial weapon. Combining both pros and cons of revolvers and railguns, it's extremely versatile, yet requires a lot of care. Comes with three .38 SPEC five round speedloaders, two .38 CHEM five round speedloaders, and two replaceable power cells.",
+ "T9 Patrol" = "A relatively cheap and reliable knock-off of a Beretta M9. Uses 9mm rounds. Used to be a standart-issue gun in almost every security company. Comes with three ten round 9mm magazines and two 9mm flash ten round magazines."
+ )
+
+ gun_spawn = list(
+ "M1911" = list(
+ /obj/item/gun/projectile/pistol/colt/detective,
+ /obj/item/ammo_magazine/c45m/rubber,
+ /obj/item/ammo_magazine/c45m/rubber,
+ /obj/item/ammo_magazine/c45m/stun,
+ /obj/item/ammo_magazine/c45m/stun,
+ /obj/item/ammo_magazine/c45m,
+ /obj/item/ammo_magazine/c45m
+ ),
+ "S&W Legacy" = list(
+ /obj/item/gun/projectile/revolver/detective,
+ /obj/item/ammo_magazine/c38/rubber,
+ /obj/item/ammo_magazine/c38/rubber,
+ /obj/item/ammo_magazine/c38,
+ /obj/item/ammo_magazine/c38
+ ),
+ "S&W 620" = list(
+ /obj/item/gun/projectile/revolver/detective/saw620,
+ /obj/item/ammo_magazine/c38/rubber,
+ /obj/item/ammo_magazine/c38/rubber,
+ /obj/item/ammo_magazine/c38,
+ /obj/item/ammo_magazine/c38
+ ),
+ "M2019" = list(
+ /obj/item/gun/projectile/revolver/m2019/detective,
+ /obj/item/ammo_magazine/c38/spec,
+ /obj/item/ammo_magazine/c38/spec,
+ /obj/item/ammo_magazine/c38/spec,
+ /obj/item/ammo_magazine/c38/chem,
+ /obj/item/ammo_magazine/c38/chem,
+ /obj/item/cell/device/high
+ ),
+ "T9 Patrol" = list(
+ /obj/item/gun/projectile/pistol/det_m9,
+ /obj/item/ammo_magazine/mc9mm,
+ /obj/item/ammo_magazine/mc9mm,
+ /obj/item/ammo_magazine/mc9mm,
+ /obj/item/ammo_magazine/mc9mm/flash,
+ /obj/item/ammo_magazine/mc9mm/flash
+ )
+ )
+
+/obj/item/storage/secure/guncase/detective/tgui_interact(mob/user, datum/tgui/ui)
+ ui = SStgui.try_update_ui(user, src, ui)
+ if(!ui)
+ ui = new(user, src, "DetectiveGuncase", name)
+ ui.open()
+
+/obj/item/storage/secure/guncase/detective/open(mob/user)
+ if(!guntype)
+ show_splash_text(user, "no gun selected!", SPAN("warning", "You must select a gun first!"))
+ return
+
+ if(!gunspawned)
+ tgui_update()
+ spawn_set(guntype)
+
+ return ..()
+
+/obj/item/storage/secure/guncase/security
+ name = "security hardcase"
+ icon_state = "guncasesec"
+ item_state = "guncase"
+ desc = "A heavy-duty container with an ID-based locking system. This one is painted in NT Security colors."
+ override_w_class = list(/obj/item/gun/energy/security)
+ max_storage_space = null
+ storage_slots = 7
+
+ possible_guns = list(
+ "Pistol" = "A taser pistol. The smallest of all the tasers. It only has a single fire mode, but each shot wields power. Comes with a baton, a handheld barrier, a couple of handcuffs, and a pair of donuts.",
+ "SMG" = "A taser SMG. This model is not as powerful as pistols, but is capable of launching electrodes left and right with its remarkable rate of fire. Comes with a baton, a handheld barrier, a couple of handcuffs, and a pair of donuts.",
+ "Rifle" = "A taser rifle. Bulky and heavy, it must be wielded with both hands. Although its rate of fire is way below average, it is capable of shooting stun beams. Comes with a baton, a handheld barrier, a couple of handcuffs, and a pair of donuts.",
+ "Classic" = "A rusty-and-trusty taser. It's overall worse than the modern baseline tasers, but it still does its job. Useful for those who want to assert their robust dominance. Or, maybe, for old farts. Comes with a baton, a couple of handcuffs, a pair of donuts, and a drink to stay cool."
+ )
+
+ gun_spawn = list(
+ "Pistol" = list(
+ /obj/item/gun/energy/security/pistol,
+ /obj/item/shield/barrier
+ ),
+ "SMG" = list(
+ /obj/item/gun/energy/security/smg,
+ /obj/item/shield/barrier
+ ),
+ "Rifle" = list(
+ /obj/item/gun/energy/security/rifle,
+ /obj/item/shield/barrier
+ ),
+ "Classic" = list(
+ /obj/item/gun/energy/classictaser
+ )
+ )
+
+ req_access = list(access_security )
+
+/obj/item/storage/secure/guncase/security/attackby(obj/item/W, mob/user)
+ var/obj/item/card/id/I = W.get_id_card()
+ if(istype(I))
+ if(!allowed(user))
+ show_splash_text(user, "access denied!", SPAN("warning", "\icon[src] Access Denied!"))
+ return
+
+ if(!guntype)
+ show_splash_text(user, "no gun selected!", SPAN("warning", "You must select a gun first!"))
+ return
+
+ if(!gunspawned)
+ tgui_update()
+ spawn_set(guntype)
+ for(var/obj/item/gun/energy/security/gun in contents)
+ gun.owner = I.registered_name
+
+ show_splash_text(user, "[locked ? "un" : ""]locked", SPAN("notice", "You [locked ? "un" : ""]lock \the [src]."))
+ locked = !locked
+ update_icon()
+ return
+
+ else return ..()
+
+/obj/item/storage/secure/guncase/security/spawn_set(set_name)
+ new /obj/item/melee/baton/loaded(src)
+ new /obj/item/handcuffs(src)
+ new /obj/item/handcuffs(src)
+ new /obj/item/reagent_containers/food/donut/normal(src)
+ new /obj/item/reagent_containers/food/donut/normal(src)
+
+ if(set_name == "Classic")
+ if(prob(70))
+ new /obj/item/reagent_containers/vessel/bottle/small/darkbeer(src)
+ else
+ new /obj/item/reagent_containers/vessel/bottle/whiskey(src)
+
+ ..()
+
+/obj/item/storage/secure/guncase/security/tgui_interact(mob/user, datum/tgui/ui)
+ ui = SStgui.try_update_ui(user, src, ui)
+ if(!ui)
+ ui = new(user, src, "Guncase", name)
+ ui.open()
+
+/obj/item/storage/secure/guncase/security/hos
+ name = "high command security hardcase"
+ desc = "A heavy-duty container with an ID-based locking system. This one is painted in NT High Command Security colors."
+ icon_state = "guncasehos"
+ override_w_class = list(/obj/item/gun/projectile/lawgiver)
+
+ possible_guns = list(
+ "Razor" = "Hephaestus Industries G50SE \"Razor\", a cheaper version of G50XS \"Raijin\". It has lethal and stun settings.",
+ "Lawgiver" = "The Lawgiver II. A twenty-five round sidearm with mission-variable voice-programmed ammunition. You must use the words STUN, LASER, RAPID, FLASH and AP to change modes."
+ )
+
+ gun_spawn = list(
+ "Lawgiver" = list(
+ /obj/item/gun/projectile/lawgiver,
+ /obj/item/ammo_magazine/lawgiver
+ ),
+ "Razor" = list(
+ /obj/item/gun/energy/rifle/cheap
+ )
+ )
+
+ req_access = list(access_hos)
+
+/obj/item/storage/secure/guncase/security/hos/spawn_set(set_name)
+ if(set_name != "Lawgiver") // Delete lawgiver steal contract, we can't get lawgiver legally.
+ GLOB.contracts_steal_items.Remove("the head of security's lawgiver gun")
+ for(var/datum/antag_contract/item/steal/C in GLOB.all_contracts)
+ if(C.target_type == /obj/item/gun/projectile/lawgiver)
+ C.remove()
+
+ ..()
diff --git a/code/game/objects/items/storage/secure/safe.dm b/code/game/objects/items/storage/secure/safe.dm
new file mode 100644
index 00000000000..4cd0731d7c3
--- /dev/null
+++ b/code/game/objects/items/storage/secure/safe.dm
@@ -0,0 +1,22 @@
+/obj/item/storage/secure/safe
+ name = "secure safe"
+ icon_state = "safe"
+ icon_opened = "safe0"
+ icon_locking = "safeb"
+ icon_sparking = "safespark"
+ inspect_state = "safe-open"
+ force = 0
+ w_class = ITEM_SIZE_NO_CONTAINER
+ max_w_class = ITEM_SIZE_HUGE
+ max_storage_space = 56
+ anchored = 1.0
+ density = 0
+ cant_hold = list(/obj/item/storage/secure/briefcase)
+
+/obj/item/storage/secure/safe/Initialize()
+ . = ..()
+ new /obj/item/paper(src)
+ new /obj/item/pen(src)
+
+/obj/item/storage/secure/safe/attack_hand(mob/user)
+ return attack_self(user)
diff --git a/code/game/objects/items/storage/storage_ui/default.dm b/code/game/objects/items/storage/storage_ui/default.dm
index f90031291f5..234550bbc94 100644
--- a/code/game/objects/items/storage/storage_ui/default.dm
+++ b/code/game/objects/items/storage/storage_ui/default.dm
@@ -192,9 +192,12 @@
//This proc determins the size of the inventory to be displayed. Please touch it only if you know what you're doing.
/datum/storage_ui/default/proc/slot_orient_objs()
+ click_border_start.Cut()
+ click_border_end.Cut()
+
var/adjusted_contents = storage.contents.len
var/row_num = 0
- var/col_count = min(7,storage.storage_slots) -1
+ var/col_count = min(7, storage.storage_slots) - 1
if (adjusted_contents > 7)
row_num = round((adjusted_contents-1) / 7) // 7 is the maximum allowed width.
arrange_item_slots(row_num, col_count)
@@ -209,12 +212,15 @@
O.screen_loc = "[cx]:16,[cy]:16"
O.maptext = ""
O.hud_layerise()
+ click_border_start += (cx - 4) * 32
+ click_border_end += (cx - 4) * 32 + 32
+
cx++
if (cx > (4+cols))
cx = 4
cy--
- closer.screen_loc = "[4+cols+1]:16,2:16"
+ closer.screen_loc = "[4 + cols + 1]:16,2:16"
/datum/storage_ui/default/proc/space_orient_objs()
@@ -223,6 +229,8 @@
var/stored_cap_width = 4 //length of sprite for start and end of the box representing the stored item
var/storage_width = min( round( 224 * storage.max_storage_space/baseline_max_storage_space ,1) ,284) //length of sprite for the box representing total storage space
+ click_border_start.Cut()
+ click_border_end.Cut()
storage_start.ClearOverlays()
storage_continue.SetTransform(scale_x = (storage_width - storage_cap_width * 2 + 3) / 32)
@@ -238,6 +246,9 @@
startpoint = endpoint + 1
endpoint += storage_width * O.get_storage_cost()/storage.max_storage_space
+ click_border_start.Add(startpoint)
+ click_border_end.Add(endpoint)
+
stored_start.SetTransform(offset_x = startpoint)
stored_end.SetTransform(offset_x = endpoint - stored_cap_width)
stored_continue.SetTransform(
diff --git a/code/game/objects/items/storage/storage_ui/storage_ui.dm b/code/game/objects/items/storage/storage_ui/storage_ui.dm
index 5a39a34a196..1cafeb98dbb 100644
--- a/code/game/objects/items/storage/storage_ui/storage_ui.dm
+++ b/code/game/objects/items/storage/storage_ui/storage_ui.dm
@@ -1,5 +1,8 @@
/datum/storage_ui
var/obj/item/storage/storage
+ var/list/click_border_start = list()
+ var/list/click_border_end = list()
+
/datum/storage_ui/New(storage)
src.storage = storage
diff --git a/code/game/objects/items/storage/wallets.dm b/code/game/objects/items/storage/wallets.dm
index b9f4ca840f9..f939587b07d 100644
--- a/code/game/objects/items/storage/wallets.dm
+++ b/code/game/objects/items/storage/wallets.dm
@@ -125,7 +125,7 @@
if(usr.incapacitated())
return
- var/new_color = input(usr, "Pick a new color", "Wallet Color", color) as color|null
+ var/new_color = tgui_color_picker(usr, "Pick a new color", "Wallet Color", color)
if(!new_color || new_color == color || usr.incapacitated())
return
color = new_color
diff --git a/code/game/objects/items/tanks/jetpack.dm b/code/game/objects/items/tanks/jetpack.dm
index 4a8dc7c2d33..a8a6091962d 100644
--- a/code/game/objects/items/tanks/jetpack.dm
+++ b/code/game/objects/items/tanks/jetpack.dm
@@ -27,10 +27,11 @@
QDEL_NULL(ion_trail)
return ..()
-/obj/item/tank/jetpack/_examine_text(mob/living/user)
+/obj/item/tank/jetpack/examine(mob/user, infix)
. = ..()
+
if(air_contents.total_moles < 5)
- . += "\nThe meter on \the [src] indicates you are almost out of gas!"
+ . += SPAN_DANGER("The meter on \the [src] indicates you are almost out of gas!")
/obj/item/tank/jetpack/verb/toggle_rockets()
set name = "Toggle Jetpack Stabilization"
@@ -105,10 +106,9 @@
name = "jetpack"
var/obj/item/rig/holder
-/obj/item/tank/jetpack/rig/_examine_text(mob/user)
+/obj/item/tank/jetpack/rig/examine(mob/user, infix)
. = ..()
- . += "\nIt's a jetpack. If you can see this, report it on the bug tracker."
- return 0
+ . += "It's a jetpack. If you can see this, report it on the bug tracker."
/obj/item/tank/jetpack/rig/allow_thrust(num, mob/living/user as mob)
diff --git a/code/game/objects/items/tanks/tanks.dm b/code/game/objects/items/tanks/tanks.dm
index 62099541bef..9e09d0668c6 100644
--- a/code/game/objects/items/tanks/tanks.dm
+++ b/code/game/objects/items/tanks/tanks.dm
@@ -83,36 +83,38 @@ var/list/global/tank_gauge_cache = list()
. = ..()
-/obj/item/tank/_examine_text(mob/user)
+/obj/item/tank/examine(mob/user, infix)
. = ..()
- if(get_dist(src, user) <= 0)
- var/descriptive
- if(air_contents.total_moles == 0)
- descriptive = "empty"
- else
- var/celsius_temperature = CONV_KELVIN_CELSIUS(air_contents.temperature)
- switch(celsius_temperature)
- if(300 to INFINITY)
- descriptive = "furiously hot"
- if(100 to 300)
- descriptive = "hot"
- if(80 to 100)
- descriptive = "warm"
- if(40 to 80)
- descriptive = "lukewarm"
- if(20 to 40)
- descriptive = "room temperature"
- if(-20 to 20)
- descriptive = "cold"
- else
- descriptive = "bitterly cold"
- . += "\n\The [src] feels [descriptive]."
+
+ if(get_dist(src, user) > 0)
+ return
+
+ var/descriptive
+ if(air_contents.total_moles == 0)
+ descriptive = "empty"
+ else
+ var/celsius_temperature = CONV_KELVIN_CELSIUS(air_contents.temperature)
+ switch(celsius_temperature)
+ if(300 to INFINITY)
+ descriptive = "furiously hot"
+ if(100 to 300)
+ descriptive = "hot"
+ if(80 to 100)
+ descriptive = "warm"
+ if(40 to 80)
+ descriptive = "lukewarm"
+ if(20 to 40)
+ descriptive = "room temperature"
+ if(-20 to 20)
+ descriptive = "cold"
+ else
+ descriptive = "bitterly cold"
+ . += SPAN_NOTICE("\The [src] feels [descriptive].")
if(proxyassembly.assembly || wired)
- . += "\nIt seems to have [wired? "some wires ": ""][wired && proxyassembly.assembly? "and ":""][proxyassembly.assembly ? "some sort of assembly ":""]attached to it."
+ . += SPAN_WARNING("It seems to have [wired? "some wires ": ""][wired && proxyassembly.assembly? "and ":""][proxyassembly.assembly ? "some sort of assembly ":""]attached to it.")
if(valve_welded)
- . += "\n\The [src] emergency relief valve has been welded shut!"
-
+ . += SPAN_WARNING("\The [src] emergency relief valve has been welded shut!")
/obj/item/tank/attackby(obj/item/W as obj, mob/user as mob)
..()
@@ -185,37 +187,41 @@ var/list/global/tank_gauge_cache = list()
if(isWelder(W))
var/obj/item/weldingtool/WT = W
- if(WT.remove_fuel(1,user))
- if(!valve_welded)
- to_chat(user, "You begin welding the \the [src] emergency pressure relief valve.")
- if(do_after(user, 40,src))
- to_chat(user, "You carefully weld \the [src] emergency pressure relief valve shut. \The [src] may now rupture under pressure!")
- valve_welded = 1
- leaking = 0
- else
- GLOB.bombers += "[key_name(user)] attempted to weld a [src]. [CONV_KELVIN_CELSIUS(air_contents.temperature)]"
- message_admins("[key_name_admin(user)] attempted to weld a [src]. [CONV_KELVIN_CELSIUS(air_contents.temperature)]")
- if(WT.welding)
- to_chat(user, "You accidentally rake \the [W] across \the [src]!")
- maxintegrity -= rand(2,6)
- integrity = min(integrity,maxintegrity)
- WT.eyecheck(user)
- else
- to_chat(user, "The emergency pressure relief valve has already been welded.")
- if (src.air_contents)
- var/const/welder_temperature = 1893.15
- var/const/welder_mean_energy = 26000
- var/const/welder_heat_capacity = welder_mean_energy / welder_temperature
+ if(valve_welded)
+ to_chat(user, SPAN_NOTICE("The emergency pressure relief valve has already been welded."))
+
+ to_chat(user, SPAN_NOTICE("You begin welding the \the [src] emergency pressure relief valve."))
+
+ if(!WT.use_tool(src, user, delay = 4 SECONDS, amount = 5))
+ GLOB.bombers += "[key_name(user)] attempted to weld a [src]. [CONV_KELVIN_CELSIUS(air_contents.temperature)]"
+ message_admins("[key_name_admin(user)] attempted to weld a [src]. [CONV_KELVIN_CELSIUS(air_contents.temperature)]")
+ if(WT.welding)
+ to_chat(user, SPAN_DANGER("You accidentally rake \the [W] across \the [src]!"))
+ maxintegrity -= rand(2,6)
+ integrity = min(integrity,maxintegrity)
+
+ if(QDELETED(src) || !user)
+ return
+
+ to_chat(user, SPAN_NOTICE("You carefully weld \the [src] emergency pressure relief valve shut."))
+ to_chat(user, SPAN_WARNING("\The [src] may now rupture under pressure!"))
+ valve_welded = 1
+ leaking = 0
+
+ if(air_contents)
+ var/const/welder_temperature = 1893.15
+ var/const/welder_mean_energy = 26000
+ var/const/welder_heat_capacity = welder_mean_energy / welder_temperature
- var/current_energy = src.air_contents.heat_capacity() * src.air_contents.temperature
- var/total_capacity = src.air_contents.heat_capacity() + welder_heat_capacity
- var/total_energy = current_energy + welder_mean_energy
+ var/current_energy = src.air_contents.heat_capacity() * src.air_contents.temperature
+ var/total_capacity = src.air_contents.heat_capacity() + welder_heat_capacity
+ var/total_energy = current_energy + welder_mean_energy
- var/new_temperature = total_energy / total_capacity
+ var/new_temperature = total_energy / total_capacity
- src.air_contents.temperature = new_temperature
- set_next_think(world.time)
+ src.air_contents.temperature = new_temperature
+ set_next_think(world.time)
add_fingerprint(user)
diff --git a/code/game/objects/items/tools/crowbar.dm b/code/game/objects/items/tools/crowbar.dm
index 824bebee047..8332439f364 100644
--- a/code/game/objects/items/tools/crowbar.dm
+++ b/code/game/objects/items/tools/crowbar.dm
@@ -84,6 +84,7 @@
name = "maintenance jack"
desc = "A special crowbar that can be used to safely remove airlock braces from airlocks."
icon_state = "maintenance_jack"
+ item_state = "maintenance_jack"
force = 13
mod_weight = 1.25
armor_penetration = 30 // A poor man's lucerne
diff --git a/code/game/objects/items/tools/surgery.dm b/code/game/objects/items/tools/surgery.dm
index 627c176a1d5..3b329116afd 100644
--- a/code/game/objects/items/tools/surgery.dm
+++ b/code/game/objects/items/tools/surgery.dm
@@ -244,17 +244,18 @@
if(CHANISAW_WELDING_CASE)
if(!isWelder(W))
return ..()
- var/obj/item/weldingtool/weldtool = W
- if(weldtool.remove_fuel(5, user))
- playsound(user, 'sound/effects/flare.ogg', 50, 5, 7)
- visible_message(SPAN("notice", "[usr] welded a case of \the [src]!"))
- var/inhandy = (loc == user) && ishuman(user)
- var/obj/item/material/twohanded/chainsaw/C = new /obj/item/material/twohanded/chainsaw(user.loc)
- if(inhandy)
- user.drop(src)
- user.put_in_hands(C)
- C.add_fingerprint(user)
- qdel(src)
+ var/obj/item/weldingtool/WT = W
+ if(!WT.use_tool(src, user, amount = 5))
+ return
+
+ visible_message(SPAN("notice", "[usr] welded a case of \the [src]!"))
+ var/inhandy = (loc == user) && ishuman(user)
+ var/obj/item/material/twohanded/chainsaw/C = new /obj/item/material/twohanded/chainsaw(user.loc)
+ if(inhandy)
+ user.drop(src)
+ user.put_in_hands(C)
+ C.add_fingerprint(user)
+ qdel(src)
..()
@@ -399,14 +400,17 @@
else
..()
-/obj/item/organfixer/_examine_text(mob/user)
+/obj/item/organfixer/examine(mob/user, infix)
. = ..()
- if(. && user.Adjacent(src))
- if(gel_amt_max > 0)
- if(gel_amt == 0)
- to_chat(user, "It's empty.")
- else
- to_chat(user, "It has [gel_amt] doses of gel left.")
+
+ if(!user.Adjacent(src))
+ return
+
+ if(gel_amt_max > 0)
+ if(gel_amt == 0)
+ . += "It's empty."
+ else
+ . += "It has [gel_amt] doses of gel left."
/obj/item/organfixer/emag_act(remaining_charges, mob/user)
if(emagged)
diff --git a/code/game/objects/items/tools/tools.dm b/code/game/objects/items/tools/tools.dm
new file mode 100644
index 00000000000..3e1cbdd7495
--- /dev/null
+++ b/code/game/objects/items/tools/tools.dm
@@ -0,0 +1,58 @@
+/obj/item/proc/use_tool(atom/target, mob/living/user, delay = 0, amount = 0, volume = 0, quality = null, can_move = FALSE, datum/callback/extra_checks)
+ // No delay means there is no start message, and no reason to call tool_start_check before use_tool.
+ // Run the start check here so we wouldn't have to call it manually.
+ if(!tool_use_check(amount))
+ return
+
+ delay *= toolspeed
+
+ // Play tool sound at the beginning of tool usage.
+ play_tool_sound(target, volume)
+
+ if(delay)
+ var/datum/callback/tool_check = CALLBACK(src, nameof(.proc/tool_check_callback), user, amount, extra_checks, target)
+ if(ismob(target))
+ if(!do_mob(user, target, delay, extra_checks = tool_check) || !is_tool_on())
+ return
+
+ else
+ if(!do_after(user, delay, target=target, can_move = can_move, extra_checks = tool_check) || !is_tool_on())
+ return
+
+ // Use tool's fuel, stack sheets or charges if amount is set.
+ if(amount && !use_tool_resources(amount, user))
+ return
+
+ // Play tool sound at the end of tool usage,
+ // but only if the delay between the beginning and the end is not too small
+ if(delay >= MIN_TOOL_SOUND_DELAY)
+ play_tool_sound(target, volume)
+
+ return TRUE
+
+/// Plays tools's usesound.
+/obj/item/proc/play_tool_sound(atom/target, volume = null)
+ if(target && tool_sound && volume)
+ var/played_sound = tool_sound
+
+ if(islist(tool_sound))
+ played_sound = pick(tool_sound)
+
+ playsound(target, played_sound, 100, volume)
+
+/// Depending on the item checks whether it has enough resources (e.g. fuel)
+/obj/item/proc/tool_use_check(used, mob/M = null)
+ return TRUE
+
+/// Depending on the item, it uses up fuel, charges, sheets, etc.
+/obj/item/proc/use_tool_resources(used, mob/M = null)
+ return !used
+
+/// Returns whether or not the tool is currently on.
+/obj/item/proc/is_tool_on()
+ return
+
+/// Callback to check during doafter. Do not override. Do not call it.
+/obj/item/proc/tool_check_callback(mob/living/user, amount, datum/callback/extra_checks, target)
+ SHOULD_NOT_OVERRIDE(TRUE)
+ return tool_use_check(user, amount, target) && (!extra_checks || extra_checks.Invoke())
diff --git a/code/game/objects/items/tools/welding.dm b/code/game/objects/items/tools/welding.dm
index 21115e6c71b..15b01c839c2 100644
--- a/code/game/objects/items/tools/welding.dm
+++ b/code/game/objects/items/tools/welding.dm
@@ -32,7 +32,10 @@
origin_tech = list(TECH_ENGINEERING = 1)
//Welding tool specific stuff
- var/welding = 0 //Whether or not the welding tool is off(0), on(1) or currently welding(2)
+ /// Whether or not the welding tool is off(FALSE) or on (TRUE)
+ var/welding = FALSE
+ /// Whether or not the welding tool is currently welding
+ VAR_PRIVATE/currently_welding = FALSE
var/status = 1 //Whether the welder is secured or unsecured (able to attach rods to it to make a flamethrower)
var/obj/item/welder_tank/tank = /obj/item/welder_tank // where the fuel is stored
@@ -40,6 +43,10 @@
drop_sound = SFX_DROP_WELDINGTOOL
pickup_sound = SFX_PICKUP_WELDINGTOOL
+ tool_sound = SFX_WELDING
+ var/toggle_on_sound = SFX_WELDER_ACTIVATE
+ var/toggle_off_sound = SFX_WELDER_DEACTIVATE
+
/obj/item/weldingtool/Initialize()
if(ispath(tank))
tank = new tank
@@ -53,13 +60,14 @@
return ..()
-/obj/item/weldingtool/_examine_text(mob/user)
+/obj/item/weldingtool/examine(mob/user, infix)
. = ..()
+
if(get_dist(src, user) <= 0)
if(tank)
- . += "\n\icon[tank] \The [tank] contains [get_fuel()]/[tank.max_fuel] units of fuel!"
+ . += "\icon[tank] \The [tank] contains [get_fuel()]/[tank.max_fuel] units of fuel!"
else
- . += "\nThere is no tank attached."
+ . += "There is no tank attached."
/obj/item/weldingtool/attack(mob/living/M, mob/living/user, target_zone)
if(ishuman(M))
@@ -189,16 +197,15 @@
/obj/item/weldingtool/proc/get_fuel()
return tank ? tank.reagents.get_reagent_amount(/datum/reagent/fuel) : 0
-
//Removes fuel from the welding tool. If a mob is passed, it will perform an eyecheck on the mob. This should probably be renamed to use()
-/obj/item/weldingtool/proc/remove_fuel(amount = 1, mob/M = null)
+/obj/item/weldingtool/proc/remove_fuel(amount = 1, mob/M)
if(!welding)
return 0
if(get_fuel() >= amount)
burn_fuel(amount)
- if(M)
+ if(ismob(M))
eyecheck(M)
- playsound(M.loc, 'sound/items/Welder.ogg', 20, 1)
+ playsound(get_turf(M), 'sound/items/Welder.ogg', 20, 1)
return 1
else
if(M)
@@ -229,11 +236,11 @@
location.hotspot_expose(700, 5)
//Returns whether or not the welding tool is currently on.
-/obj/item/weldingtool/proc/isOn()
- return src.welding
+/obj/item/weldingtool/is_tool_on()
+ return welding
/obj/item/weldingtool/get_storage_cost()
- if(isOn())
+ if(is_tool_on())
return ITEM_SIZE_NO_CONTAINER
return ..()
@@ -270,6 +277,8 @@
to_chat(M, "You switch the [src] on.")
else if(T)
T.visible_message("\The [src] turns on.")
+
+ playsound(get_turf(src), GET_SFX(toggle_on_sound), 100, TRUE)
force = 15
damtype = "fire"
hitsound = 'sound/effects/flare.ogg' // Surprisingly it sounds just perfect
@@ -288,6 +297,7 @@
to_chat(M, "You switch \the [src] off.")
else if(T)
T.visible_message("\The [src] turns off.")
+ playsound(get_turf(src), GET_SFX(toggle_off_sound), 100, TRUE)
force = 3
damtype = "brute"
hitsound = initial(hitsound)
@@ -336,8 +346,69 @@
spawn(100)
H.disabilities &= ~NEARSIGHTED
+/obj/item/weldingtool/use_tool(atom/target, mob/living/user, delay = 0, amount = 0, volume = 0, can_move = FALSE, datum/callback/extra_checks)
+ if(!is_tool_on())
+ show_splash_text(user, "Welder must be turned on!", "\The [src] must be turned on!")
+ return
+
+ if(amount > get_fuel())
+ show_splash_text(user, "Not enough fuel!", "\icon[src] Not enough fuel!")
+ return
+
+ eyecheck(user)
+ playsound(loc, 'sound/items/Welder.ogg', 100, 1)
+ var/atom/movable/fake_overlay/welding_overlay/effect = new(get_turf(target))
+ var/datum/callback/checks = CALLBACK(src, nameof(.proc/check_active_and_extra), extra_checks)
+ INVOKE_ASYNC(src, nameof(.proc/start_welding), target)
+ . = ..(target, user, delay, amount, volume, extra_checks = checks)
+ stop_welding()
+ qdel(effect)
+
+/obj/item/weldingtool/use_tool_resources(amount, mob)
+ . = remove_fuel(amount, mob)
+ if(!.)
+ show_splash_text(mob, "Not enough fuel!", "\icon[src] Not enough fuel!")
+
+/obj/item/weldingtool/proc/start_welding(atom/target) // Process of welding something
+ var/datum/effect/effect/system/spark_spread/spark = new /datum/effect/effect/system/spark_spread(volume = 10)
+ spark.set_up(1, 1, target)
+ currently_welding = TRUE
+ while(currently_welding)
+ sleep(10)
+ spark.start()
+
+/obj/item/weldingtool/proc/check_active_and_extra(datum/callback/extra_checks)
+ if(!is_tool_on() || !get_fuel())
+ return FALSE
+
+ if(!extra_checks)
+ return TRUE
+
+ return extra_checks.Invoke()
+
+/obj/item/weldingtool/proc/stop_welding()
+ currently_welding = FALSE
+
+/atom/movable/fake_overlay/welding_overlay
+ density = FALSE
+ anchored = TRUE
+ layer = ABOVE_PROJECTILE_LAYER
+ plane = DEFAULT_PLANE
+ mouse_opacity = MOUSE_OPACITY_TRANSPARENT
+
+ icon = 'icons/effects/effects.dmi'
+ icon_state = "welding_sparks"
+
+/atom/movable/fake_overlay/welding_overlay/Initialize(mapload)
+ . = ..()
+ set_light(0.6, 0.5, 1.5, 2, "#e38f46")
+ AddOverlays(emissive_appearance(icon, "[icon_state]-ea"))
+
+/obj/item/weldingtool/tool_use_check(mob/living/user, amount)
+ return get_fuel() >= amount
+
/obj/item/weldingtool/get_temperature_as_from_ignitor()
- if(isOn())
+ if(is_tool_on())
return 3800
return 0
diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm
index 8aa8894d8f7..623f7f8c471 100644
--- a/code/game/objects/items/toys.dm
+++ b/code/game/objects/items/toys.dm
@@ -146,7 +146,7 @@
desc = "Blink. Blink. Blink. Ages 8 and up."
icon = 'icons/obj/device.dmi'
icon_state = "beacon"
- item_state = "signaler"
+ item_state = "beacon"
/*
* Fake singularity
@@ -175,9 +175,11 @@
attack_verb = list("attacked", "struck", "hit")
var/bullets = 5
- _examine_text(mob/user)
- if(..(user, 2) && bullets)
- to_chat(user, "It is loaded with [bullets] foam darts!")
+ examine(mob/user)
+ . = ..()
+
+ if(bullets)
+ . += SPAN_NOTICE("It is loaded with [bullets] foam darts!")
attackby(obj/item/I, mob/user)
if(istype(I, /obj/item/toy/ammo/crossbow))
@@ -804,6 +806,7 @@
name = "snail plush"
desc = "A plushie of a snail. Still can't figure out where I've seen this before."
icon_state = "snailplushie"
+ slot_flags = SLOT_HEAD
//Toy cult sword
/obj/item/toy/cultsword
@@ -904,8 +907,9 @@
pixel_x = 0
pixel_y = 0
-/obj/item/toy/chubbyskeleton/_examine_text(mob/user)
- return "*---------* Бригада рабочих-таяр установила отсутствующий пожарный шлюз на входе в шахтерку Исхода. У администраторов появилось действие "Change Lobby Art" во вкладке "Server", позволяющее изменить рисунок в лобби на любой другой из доступных. Добавлен эффект холодного дыхания. Патч первого дня для Entrepot-17. Исправлены неработающие мусорки, отсутствие камер и невозможность запарить баньку без танцев с надувными стенами. Синтетики снова могут участвовать в лотерее релейшнов. Исправлено недоразумение в результате которого космонавтов нельзя было окунуть в ведро. Добавлен кулдаун крышке унитаза. Да, теперь нельзя гибнуть голову космонавту закликав туалет. Исправлен баг, уводивший статус панель в БСОД при снятии кусков РИГа. Исправлено действие для снятия нижнего белья во вкладке "Objects". Исправлены некликабельные подсистемы силиконов, вылезающие во вкладке "Status". Если вам потребуется воспользоваться какой-либо подсистемой - воспользуйтесь действием "Subsystems" во вкладке "Silicon Commands". Предположительно исправлено отображение объектов во вкладке "Turf". У педалей теперь появился доступ к глобальному "Check Languages" и "Check Mob Languages" на мобе, позволяющим добавлять и убирать языки любому игроку и / или мобу. Улитка на голове. Добавлена новая карта - NTS "Entrepot-17", маленькая пересадочная станция, лежащая на пути от "Полумесяца" к "Исходу". Здесь будущий экипаж "Исхода" ждёт, пока последний готовят к началу смены. Карта предназначена исключительно для ночных раундов, когда хочется посидеть в уютных декорациях без необходимости следить за полноразмерной станцией - даже двигатель настраивать не придётся. Для любителей строительства, впрочем, есть большой запас ресурсов и пара RCD. Сборка/разборка кофемашины и сауны теперь работает. Сауну теперь можно откручивать. Платы кофемашины и сауны добавлены в РнД. Исправлен дюп электроники солнечных панелей. Разборка турелей и их панелей снова должна работать. Стены снова умеют в ambient occlusion (aka затеняют пол). Серия фиксов кофемашины. /🆑 Исправлено недоразумение со сваркой и болтами шлюза. Болты шлюза больше нельзя обрезать выключенным энергомечом. Возвращено быстрое раздевание через граб. Госты снова могут осматривать атомы. Стекло в сауне Исхода снова имеет правильное направление. Трубы, эмиттеры и прочие вертящиеся предметы теперь крутятся на альтклик Двойной клик по атому теперь позволяет увидеть расширенное описание атома, содержащее флафф, лорную заметку и опциональную информацию для антагонистов. Теперь информацию о защите брони и робустность оружия можно посмотреть в обычном чате, нажав по гиперссылки, появляющейся в конце описания. Продолжается добавление и обновление иконок предметов в руках. Двойные есворды теперь можно держать в одной руке, а плазменные пилы не меняют цвет. И ещё всякое по мелочи. Обновление иконок получили дыхательные маски, медицинские маски и банданы. Последние теперь не так сильно похожи на трусы. Многим маскам (банданы, шарфы, дыхательные маски и не только) теперь можно переключать слой командой "Switch Mask Layer". В альтернативном режиме маска перекрывается волосами. В результате ракетно-бомбового удара были уничтожены макросы класса "Бросок" Добавлен эффект ряби при высокой температуре газовой смеси. Фикс различных багов ксенобио. Вкладка МС теперь значительно меньше загружает клиент. Портирована стат панель на основе браузера с TG. Продолжается добавление и обновление предметов в руках. Ведро снова выглядит как ведро, фонарики стали иммерсивнее, мыло и гранаты не невидимые, и ещё огромная куча всего. (!) Пожалуйста, репортите предметы, у которых нет спрайтов в руках, либо эти спрайты сломаны (например, полностью отсутствует спрайт для "задней" руки). Их ещё очень много, но всплывают они в самых неожиданных местах. Исправлена ошибка, из-за которой у погибших растений иногда не обновлялся спрайт. Скорее всего. Исправлена ошибка, из-за которой у некоторых растений-мутантов неправильно окрашивались плоды. Исправлены иконки ice pepper. Исправлена иконка mini hoe - на них дополнительно накладывался цвет, из-за чего спрайт был слишком тёмным. Куча исправлений предметов в руках. Добавлены иконки для кучи предметов (стаки материалов, плитка, обувь, перчатки, етц), у которых их не было, добавлены отсутствующие у некоторых иконок направления (в основном - "задняя" рука при виде сбоку), перерисованы некоторые старые (тулбоксы, коробки, болоны, етц). Исправлена ошибка, из-за которой некоторые предметы в руках (например, провода) не красились в нужный цвет. Порталы больше не убивают сервер рекурсией. Исправлена ошибка, из-за которой эмоуты выделялись курсивом. Переработано отображение предметов в руках. Теперь в боковой проекции предмет в "задней" руке не "просвечивает" через одежду (или пузо). Раньше предметы в правой руке всегда отображались поверх предметов в левой, даже когда персонаж стоял левым боком к экрану. Ушла эпоха. В руках у тонких бодибилдов предметы теперь смещаются: большинство предметов теперь не летает в воздухе перед персонажем. Эклипс: Приведение карты к обнове голодека; Эклипс: Обновление баз антагов на ЦК улучшениями Крипера; Эклипс: Фикс рантаймов; Эклипс: Прочие улучшения декора. Обновлены спрайты некоторой обуви, магбутсов и белых/латексных перчаток. Изменена логика работы префа "Show Splashes (Runechat-Like-Popups)", поскольку многие сообщения переделываются в сплеши, которые не на каждом экране можно разглядеть. Теперь имеются три опции - выводить сплеш только на экране, выводить его только в чате, либо выводить и туда, и сюда. Настоятельно рекомендуется обновить преф вручную, ибо он мог сбиться. Награда за убийство по контракту увеличена с 2/4 до 4/6 ТК. Гуантанамо апдейт. Теперь космонавтов можно купать в туалете и ведрах с водой и другими жидкостями. Мыши привели проводку станции в совершенно негодное состояние. Теперь свет включается не мгновенно. Иногда со светом происходит что-то странное при хлопках. Постарайтесь не хлопать в ладоши. Браузерный интерфейс выбора языков заменен на современный TGUI. Крафт выключенной сваркой более недоступен. Добавлена крышка для блюспейсшейкера. Добавлена возможность играть со старой позицией чата. По стандарту у всех игроков стоит "совремнная" версия. Кнопки и инпутбокс теперь плоские, глаза больше не вытекают при их виде. Порт кофемашины с ТГ. Варим кофе со стилем. Вернулась старая логика лестниц. Обновлены спрайты лабораторных халатов и некоторой обуви. Резиновую уточку теперь можно носить на голове. Настройки зума и апскейлинга перенесены из верхнего меню в меню настроек. Окно игры стало еще больше: удалена нижняя позиция чата. Ввод перенесен под чат, добавлены эстетичные отступы от краев и между элементами. Добавлено больше опций в настройку апскейлинга, на выбор предлагаются следующие варианты: нормальный, ближайший сосед, размытие. Добавлена настройка для отключения статус-окошка, теперь билд точно переместился в двадцать первый век. Обновлены спрайты униформ: СМО, медиков, химиков, вирусологов, учёных, инженеров, атмосферников, КМа и обычная (серая + цветные варианты). Улучшение видимости людей в вотчлисте - теперь они отдельно помечаются в педальном who. Shield diffuser снова разбирается. Граната с голосовым активатором должна начать работать корректно. Исправлено недоразумение сломавшее разбор укрепленных стенок. Госты снова могут рассматривать ID-карты издалека. Исправлен баг в результате которого нельзя было разварить камеру сваркой. При разборе гирдера ломом больше не наносится удар после завершения do_after(). Стак-машина шахтеров должна перестать выдавать стаки с нулем листов. Пиксельхантинг отменяется. Теперь можно доставать предметы из инвентаря просто кликая по их оверлею, а не только по самим предметам. Слегка поднял цену картриджей для РЦД. Дюп материи через листы стали в РЦД исправлен. Исправлено некорректное отображение некоторых структур в интерфейсе РЦД. Исправлен неправильный тип machine frame в РЦД. Шпионские жучки снова должны корректно работать. Порт крутого TGUI с /TG/ для защищенных кодом ящиков. Исправлено недоразумение не позволявшее игрокам приваривать броню при сборке мехов. APC снова можно разварить. Удален старый статус бар, занимавший нижнюю часть окна. Добавлен новый статус бар, занимающий немного места в левом нижнем углу окна с картой. Добавлена поддержка темной темы в статус бар. Театральные костюмы больше невозможно вынести из голодека. Театрельные костюмы пропадают при смене программы. Сообщение о емаге консоли голодека заменено на сплеш. Добавлена возможность разбирать консоль голодека, настройки безопасности и взлома сохраняются. Яна нашли и вернули на "Исход". Исправлено отображение инфракрасных лучей. Исправлены некоторые проблемы с кабелями на "Исходе". Исправлена анимация движения у серых мышей при движении влево. Теперь заживём. Исправлены стены у "Гитары" рядом со спутником. Обновлено описание завёрнутых в бумагу предметов, теперь оно правильно описывает их размер. Исправлено отображение галстуков на бодибилдах кроме Normal. Ксенолобби победило. Теперь таяры и унатхи могут надевать боксерские перчатки (воксов снова обидели). В фитнес-вендоматах можно купить нормальные боксерские перчатки, использующие актуальный код боевки. Боксерские перчатки на голодеке все так же позволяют проникнуться духом старой боевки. Засовывание включенной дубинки в раковину начало проигрывать корректный звук. Сваривание осколков стекла снова должно корректно работать. Исправлена ошибка, не дававшая игрокам вырезать по дереву. Полностью переписан код голодека: нвая реализация позволяет создавать более интересные и наполненные декором карты без редактирования центком уровня на всех имеющихся картах. Интерфейс голодека переведен на TGUI. Обновлен список программ голодека и соответсвующие им карты. Новые звуки включения/выключения сварки. Новый визуальный эффект при использовании сварки. Исправлена ошибка, из-за которой все оставляли одинаковые отпечатки пальцев. Добавлен новый класс мага - Musclemancer. На базу визарда добавлена несдвигаемая волшебная палочка. Голодный вампир больше не становится зелёным. В аплинк повара добавлен Meat Hook. Тип урона: чистый, урон: 36.0, перезарядка: 4 секунды. Исправлено недоразумение в результате которого проигрывался убогий звук при реджуве/гибе. Исправлен некорректный слой баррикад на некоторых картах, что приводило к смешным результатам - например как в гетто-казино Фронтира. Внутренние органы не показываются в point to и прочих вещей с view
This is [src], a Skeleton!
He is wearing some black shorts.
He is wearing a blue hoodie.
He is wearing some slippers on his feet.
*---------*"
+/obj/item/toy/chubbyskeleton/examine(mob/user, infix)
+ . = ..()
+ . += SPAN_NOTICE("*---------*
This is [src], a Skeleton!
He is wearing some black shorts.
He is wearing a blue hoodie.
He is wearing some slippers on his feet.
*---------*")
/obj/item/toy/chubbyskeleton/attack_hand(mob/user)
if(spam_flag == 0)
diff --git a/code/game/objects/items/weapons/RSF.dm b/code/game/objects/items/weapons/RSF.dm
index cd496e60bd7..bf5e50a2c36 100644
--- a/code/game/objects/items/weapons/RSF.dm
+++ b/code/game/objects/items/weapons/RSF.dm
@@ -16,10 +16,11 @@ RSF
var/mode = 1
w_class = ITEM_SIZE_NORMAL
-/obj/item/rsf/_examine_text(mob/user)
+/obj/item/rsf/examine(mob/user, infix)
. = ..()
+
if(get_dist(src, user) <= 0)
- . += "\nIt currently holds [stored_matter]/30 fabrication-units."
+ . += "It currently holds [stored_matter]/30 fabrication-units."
/obj/item/rsf/attackby(obj/item/W as obj, mob/user as mob)
..()
diff --git a/code/game/objects/items/weapons/basketball.dm b/code/game/objects/items/weapons/basketball.dm
new file mode 100644
index 00000000000..aa397eaa77d
--- /dev/null
+++ b/code/game/objects/items/weapons/basketball.dm
@@ -0,0 +1,10 @@
+/obj/item/beach_ball/basketball
+ name = "basketball"
+ desc = "Here's your chance, do your dance at the Space Jam."
+
+ icon_state = "basketball"
+ icon = 'icons/obj/basketball.dmi'
+
+ item_state = "basketball"
+
+ w_class = ITEM_SIZE_LARGE //Stops people from hiding it in their pockets
diff --git a/code/game/objects/items/weapons/cards_ids.dm b/code/game/objects/items/weapons/cards_ids.dm
index af33f025e96..009440bfe59 100644
--- a/code/game/objects/items/weapons/cards_ids.dm
+++ b/code/game/objects/items/weapons/cards_ids.dm
@@ -109,9 +109,9 @@ var/const/NO_EMAG_ACT = -50
user.visible_message("\The [src] fizzles and sparks - it seems it's been used once too often, and is now spent.")
return 1
-/obj/item/card/emag/robot/_examine_text(mob/user)
+/obj/item/card/emag/robot/examine(mob/user, infix)
. = ..()
- . += "\nIt has [uses] uses left."
+ . += SPAN_NOTICE("It has [uses] uses left.")
/obj/item/card/id
name = "identification card"
@@ -148,11 +148,19 @@ var/const/NO_EMAG_ACT = -50
assignment = rank
access |= j.get_access()
-/obj/item/card/id/_examine_text(mob/user)
+/obj/item/card/id/examine(mob/user, infix)
+ . = ..()
+
if(in_range(user, src))
show(user)
- return desc
- return SPAN("warning", "It is too far away.")
+ . += desc
+ return
+
+ if(isghost(user))
+ . += desc
+ return
+
+ . += SPAN("warning", "It is too far away.")
/obj/item/card/id/get_examine_line(examine_distance = 10)
var/visible_name = examine_distance < 3 ? name : "ID Card"
diff --git a/code/game/objects/items/weapons/defib.dm b/code/game/objects/items/weapons/defib.dm
index 2888797fce5..46a9746ea05 100644
--- a/code/game/objects/items/weapons/defib.dm
+++ b/code/game/objects/items/weapons/defib.dm
@@ -202,6 +202,7 @@
icon = 'icons/obj/defibrillator.dmi'
icon_state = "defibpaddles"
item_state = "defibpaddles"
+ improper_held_icon = TRUE
gender = PLURAL
force = 2
throwforce = 6
diff --git a/code/game/objects/items/weapons/extinguisher.dm b/code/game/objects/items/weapons/extinguisher.dm
index c14ef2273a9..b9da7bc091a 100644
--- a/code/game/objects/items/weapons/extinguisher.dm
+++ b/code/game/objects/items/weapons/extinguisher.dm
@@ -51,11 +51,11 @@
reagents.add_reagent(ff_reagent, max_volume)
..()
-/obj/item/extinguisher/_examine_text(mob/user)
+/obj/item/extinguisher/examine(mob/user, infix)
. = ..()
+
if((get_dist(src, user) <= 0) && !external_source)
- . += "\n[text("\icon[] [] contains [] units of reagents left!", src, src.name, src.reagents.total_volume)]"
- return
+ . += "[text("\icon[] [] contains [] units of reagents left!", src, src.name, src.reagents.total_volume)]"
/obj/item/extinguisher/attack_self(mob/user)
if(external_source)
diff --git a/code/game/objects/items/weapons/gift_wrappaper.dm b/code/game/objects/items/weapons/gift_wrappaper.dm
index 9d6364450c3..c07bdfcbf54 100644
--- a/code/game/objects/items/weapons/gift_wrappaper.dm
+++ b/code/game/objects/items/weapons/gift_wrappaper.dm
@@ -67,7 +67,7 @@
/obj/item/book/wiki/chef_recipes,
/obj/item/bikehorn,
/obj/item/beach_ball,
- /obj/item/beach_ball/holoball,
+ /obj/item/beach_ball/basketball,
/obj/item/toy/water_balloon,
/obj/item/toy/blink,
/obj/item/toy/crossbow,
@@ -188,10 +188,11 @@
return
-/obj/item/wrapping_paper/_examine_text(mob/user)
+/obj/item/wrapping_paper/examine(mob/user, infix)
. = ..()
+
if(get_dist(src, user) <= 1)
- . += "\n[text("There is about [] square units of paper left!", src.amount)]"
+ . += "[text("There is about [] square units of paper left!", src.amount)]"
/obj/item/wrapping_paper/attack(mob/target as mob, mob/user as mob)
if (!istype(target, /mob/living/carbon/human)) return
diff --git a/code/game/objects/items/weapons/secrets_disk.dm b/code/game/objects/items/weapons/secrets_disk.dm
index a5760d6a805..debfc2f660b 100644
--- a/code/game/objects/items/weapons/secrets_disk.dm
+++ b/code/game/objects/items/weapons/secrets_disk.dm
@@ -28,13 +28,14 @@
subject += " " + pick("that is extremely powerful", "which is highly efficient", "which is incredibly compact",\
"that runs off of plasma", "that runs off of hydrogen gas", "created by the Skrell", "that just looks really cool")
-/obj/item/disk/secret_project/_examine_text(user)
+/obj/item/disk/secret_project/examine(mob/user, infix)
. = ..()
+
if(!locked)
- . += "\nWith the disk's classified contents unlocked, \
+ . += "With the disk's classified contents unlocked, \
you peer into its preview screen and see [subject]."
else
- . += "\nThe disk is locked, you cannot see its contents."
+ . += "The disk is locked, you cannot see its contents."
/obj/item/disk/secret_project/emag_act(remaining_charges, mob/user)
to_chat(user, "The cryptographic lock on this disk is far too complex. \
diff --git a/code/game/objects/items/weapons/shields.dm b/code/game/objects/items/weapons/shields.dm
index f982e878a76..b98fd670a35 100644
--- a/code/game/objects/items/weapons/shields.dm
+++ b/code/game/objects/items/weapons/shields.dm
@@ -223,12 +223,13 @@
else
set_light(0)
-/obj/item/shield/barrier/_examine_text(mob/user)
+/obj/item/shield/barrier/examine(mob/user, infix)
. = ..()
+
if(cell)
- . += SPAN("notice", "\nHas [CELL_PERCENT(cell)]% charge left.")
+ . += SPAN("notice", "Has [CELL_PERCENT(cell)]% charge left.")
else
- . += "\nHas no battery installed."
+ . += "Has no battery installed."
/obj/item/shield/barrier/attackby(obj/item/I, mob/user)
if(isScrewdriver(I))
diff --git a/code/game/objects/items/weapons/soap.dm b/code/game/objects/items/weapons/soap.dm
index 6cb964d498f..f02a2e47c75 100644
--- a/code/game/objects/items/weapons/soap.dm
+++ b/code/game/objects/items/weapons/soap.dm
@@ -15,13 +15,14 @@
create_reagents(30)
wet()
-/obj/item/soap/_examine_text(mob/user)
+/obj/item/soap/examine(mob/user, infix)
. = ..()
+
if(get_dist(src, user) > 1)
return
+
if(reagents.total_volume <= 0)
- . += "\nIt's dry!"
- return
+ . += "It's dry!"
/obj/item/soap/proc/wet()
reagents.add_reagent(/datum/reagent/space_cleaner, 15)
diff --git a/code/game/objects/items/weapons/stunbaton.dm b/code/game/objects/items/weapons/stunbaton.dm
index 437a3f07e1e..c014d02f343 100644
--- a/code/game/objects/items/weapons/stunbaton.dm
+++ b/code/game/objects/items/weapons/stunbaton.dm
@@ -60,12 +60,13 @@
else
set_light(0)
-/obj/item/melee/baton/_examine_text(mob/user)
+/obj/item/melee/baton/examine(mob/user, infix)
. = ..()
+
if(get_dist(src, user) > 1)
return
- . += "\n[examine_cell()]"
- return
+
+ . += "[examine_cell()]"
// Addition made by Techhead0, thanks for fullfilling the todo!
/obj/item/melee/baton/proc/examine_cell()
diff --git a/code/game/objects/items/weapons/weaponry.dm b/code/game/objects/items/weapons/weaponry.dm
index 97e83bf051d..a15def0817f 100644
--- a/code/game/objects/items/weapons/weaponry.dm
+++ b/code/game/objects/items/weapons/weaponry.dm
@@ -154,8 +154,10 @@
set_next_think(world.time + 1 SECOND)
-/obj/effect/energy_net/Move()
+/obj/effect/energy_net/Move(newloc, direct)
. = ..()
+ if(!.)
+ return
if(buckled_mob)
buckled_mob.forceMove(loc, unbuckle_mob = FALSE)
@@ -211,7 +213,7 @@
else
health -= rand(1,3)
- else if (MUTATION_HULK in user.mutations)
+ else if((MUTATION_HULK in user.mutations) || (MUTATION_STRONG in user.mutations))
health = 0
else
health -= rand(5,8)
diff --git a/code/game/objects/items/welding_covers.dm b/code/game/objects/items/welding_covers.dm
index b6b091913f8..a257ba264a6 100644
--- a/code/game/objects/items/welding_covers.dm
+++ b/code/game/objects/items/welding_covers.dm
@@ -5,7 +5,7 @@
w_class = ITEM_SIZE_SMALL
var/cover_desc = "This one looks exactly like a standard welding mask - what's the point?"
-/obj/item/welding_cover/_examine_text(mob/user)
+/obj/item/welding_cover/examine(mob/user, infix)
. = ..()
. += " [cover_desc]"
diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm
index 3300d50f37f..d3ceb5ac573 100644
--- a/code/game/objects/objs.dm
+++ b/code/game/objects/objs.dm
@@ -182,22 +182,20 @@
/obj/attackby(obj/item/O as obj, mob/user as mob)
if(obj_flags & OBJ_FLAG_ANCHORABLE)
- if(isWrench(O))
+ if(isWrench(O) && !(atom_flags & ATOM_FLAG_NO_DECONSTRUCTION))
wrench_floor_bolts(user)
update_icon()
return
return ..()
-/obj/_examine_text(mob/user, infix, suffix)
+/obj/examine(mob/user, infix)
. = ..()
if(hasHUD(user, HUD_SCIENCE))
- . += "\nStopping Power:"
+ . += "Stopping Power:"
- . += "\nα-particle: [fmt_siunit(CONV_JOULE_ELECTRONVOLT(rad_resist[RADIATION_ALPHA_PARTICLE]), "eV", 3)]"
- . += "\nβ-particle: [fmt_siunit(CONV_JOULE_ELECTRONVOLT(rad_resist[RADIATION_BETA_PARTICLE]), "eV", 3)]"
-
- return .
+ . += "α-particle: [fmt_siunit(CONV_JOULE_ELECTRONVOLT(rad_resist[RADIATION_ALPHA_PARTICLE]), "eV", 3)]"
+ . += "β-particle: [fmt_siunit(CONV_JOULE_ELECTRONVOLT(rad_resist[RADIATION_BETA_PARTICLE]), "eV", 3)]"
/obj/proc/wrench_floor_bolts(mob/user, delay=20)
playsound(loc, 'sound/items/Ratchet.ogg', 100, 1)
diff --git a/code/game/objects/structures.dm b/code/game/objects/structures.dm
index e68aa0533ba..20d1ae451b3 100644
--- a/code/game/objects/structures.dm
+++ b/code/game/objects/structures.dm
@@ -18,11 +18,13 @@
if(breakable)
if(MUTATION_HULK in user.mutations)
user.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" ))
- attack_generic(user,1,"smashes")
+ attack_generic(user, 1, "smashes")
+ else if(MUTATION_STRONG in user.mutations)
+ attack_generic(user, 1, "smashes")
else if(istype(user,/mob/living/carbon/human))
var/mob/living/carbon/human/H = user
if(H.species.can_shred(user))
- attack_generic(user,1,"slices")
+ attack_generic(user, 1, "slices")
return ..()
/obj/structure/attack_tk()
diff --git a/code/game/objects/structures/alien/resin.dm b/code/game/objects/structures/alien/resin.dm
index e67b4767cef..c4b404f6454 100644
--- a/code/game/objects/structures/alien/resin.dm
+++ b/code/game/objects/structures/alien/resin.dm
@@ -31,7 +31,7 @@
return ..()
/obj/structure/alien/resin/attack_hand(mob/user)
- if (MUTATION_HULK in user.mutations)
+ if((MUTATION_HULK in user.mutations) || (MUTATION_STRONG in user.mutations))
visible_message("\The [user] destroys \the [name]!")
health = 0
else
diff --git a/code/game/objects/structures/artstuff.dm b/code/game/objects/structures/artstuff.dm
index a901b23c19c..e35c7350f53 100644
--- a/code/game/objects/structures/artstuff.dm
+++ b/code/game/objects/structures/artstuff.dm
@@ -128,18 +128,20 @@
.["name"] = painting_name
.["finalized"] = finalized
-/obj/item/canvas/_examine_text(mob/user)
+/obj/item/canvas/examine(mob/user, infix)
. = ..()
+
tgui_interact(user)
if(!user.mind || !is_propaganda)
return
+
var/datum/antagonist/antag = GLOB.all_antag_types_[MODE_LOYALIST]
var/is_loyalist_user = antag.is_antagonist(user.mind) || (user.mind.assigned_role in GLOB.command_positions) || (user.mind.assigned_role in GLOB.security_positions)
antag = GLOB.all_antag_types_[MODE_REVOLUTIONARY]
var/is_revolutionary_user = antag.is_antagonist(user.mind)
var/message = SPAN_DANGER("You hate \the [src]. You want to burn it down!")
if((is_revolutionary && is_loyalist_user) || (is_revolutionary_user && !is_revolutionary))
- . += "\n" + message
+ . += message
/obj/item/canvas/tgui_act(action, params)
. = ..()
diff --git a/code/game/objects/structures/barricade/_barricade.dm b/code/game/objects/structures/barricade/_barricade.dm
index cf7399612e3..b3f5eaaba7d 100644
--- a/code/game/objects/structures/barricade/_barricade.dm
+++ b/code/game/objects/structures/barricade/_barricade.dm
@@ -5,6 +5,8 @@
anchored = TRUE
density = TRUE
+ layer = ABOVE_WINDOW_LAYER
+
/// Amount of points taken by an object.
var/damage = 0
/// Maximum amount of object's damage points till it breaks apart.
diff --git a/code/game/objects/structures/barricade/material.dm b/code/game/objects/structures/barricade/material.dm
index 46bc872d3bf..72e735bf83f 100644
--- a/code/game/objects/structures/barricade/material.dm
+++ b/code/game/objects/structures/barricade/material.dm
@@ -57,15 +57,15 @@
/obj/structure/barricade/material/proc/_deconstruct(mob/user)
- show_splash_text(user, "starting deconstruction.")
+ show_splash_text(user, "starting deconstruction.", "You begin deconstructing \the [src]!")
if(do_after(user, 20, src))
- show_splash_text(user, "barricade deconstucted.")
+ show_splash_text(user, "barricade deconstucted.", "You deconstruct \the [src]!")
playsound(loc, 'sound/items/Deconstruct.ogg', 50, 1)
_dismantle()
return
- show_splash_text(user, "action interrupted!")
+ show_splash_text(user, "action interrupted!", "You must remain still while deconstructing!")
/obj/structure/barricade/material/proc/_repair_damage(obj/item/stack/S, mob/user)
@@ -73,18 +73,18 @@
return
if(S.get_amount() < 1)
- show_splash_text(user, "not enough material!")
+ show_splash_text(user, "not enough material!", "There's not enough [S] to repair \the [src]!")
return
- show_splash_text(user, "starting repair.")
+ show_splash_text(user, "starting repair.", "You begin to repair \the [src].")
if(do_after(user, 20, src) && damage != 0)
if(S.use(1))
damage = 0
- show_splash_text(user, "repair finished.")
+ show_splash_text(user, "repair finished.", "You have repaired \the [src]!")
return
- show_splash_text(user, "action interrupted!")
+ show_splash_text(user, "action interrupted!", "You must remain still while repairing!")
/obj/structure/barricade/material/Break()
diff --git a/code/game/objects/structures/barricade/security.dm b/code/game/objects/structures/barricade/security.dm
index c7755ea3601..7abfc72420a 100644
--- a/code/game/objects/structures/barricade/security.dm
+++ b/code/game/objects/structures/barricade/security.dm
@@ -71,30 +71,24 @@
anchored = locked
update_icon()
- show_splash_text(user, "bolts [locked ? "dropped" : "lifted"].")
+ show_splash_text(user, "bolts [locked ? "dropped" : "lifted"].", "You [locked ? "drop" : "lift"] \the [src] bolts.")
/obj/structure/barricade/security/proc/_repair_damage(mob/user, obj/item/weldingtool/WT)
if(istype(WT))
return
- if(!WT.remove_fuel(0, user))
- to_chat(user, "\The [WT] must be on to complete this task.")
- return
-
- playsound(loc, 'sound/items/Welder.ogg', 50, 1)
- if(do_after(user, 20, src))
- if(!WT.isOn())
- return
- visible_message(SPAN("notice", "\The [user] has repaired \the [src]"))
- damage = 0
- update_icon()
+ if(!WT.use_tool(src, user, delay = 2 SECONDS, amount = 3))
+ return
+ visible_message(SPAN("notice", "\The [user] has repaired \the [src]"))
+ damage = 0
+ update_icon()
/obj/structure/barricade/security/wrench_floor_bolts(mob/user, delay)
if(locked)
- show_splash_text(user, "bolts prevent wrenching!")
+ show_splash_text(user, "bolts prevent wrenching!", "\The [src] bolts prevent wrenching!")
return
return ..()
@@ -122,7 +116,7 @@
s.start()
playsound(src.loc, 'sound/effects/computer_emag.ogg', 25)
- show_splash_text(user, "bolt locks broken!")
+ show_splash_text(user, "bolt locks broken!", "You burn out \the [src] bolt locks!")
return TRUE
diff --git a/code/game/objects/structures/barsign.dm b/code/game/objects/structures/barsign.dm
index 827a5189b3c..9b5c1f3b775 100644
--- a/code/game/objects/structures/barsign.dm
+++ b/code/game/objects/structures/barsign.dm
@@ -21,17 +21,18 @@
if(initial) // We don't want this to be picked by random
. -= "Off"
-/obj/structure/sign/double/barsign/_examine_text(mob/user)
+/obj/structure/sign/double/barsign/examine(mob/user, infix)
. = ..()
+
switch(icon_state)
if("Off")
- . += "\nIt appears to be switched off."
+ . += "It appears to be switched off."
if("Nar-sie Bistro")
- . += "\nIt shows a picture of a large black and red being. Spooky!"
+ . += "It shows a picture of a large black and red being. Spooky!"
if("on", "empty")
- . += "\nThe lights are on, but there's no picture."
+ . += "The lights are on, but there's no picture."
else
- . += "\nIt says '[icon_state]'"
+ . += "It says '[icon_state]'"
/obj/structure/sign/double/barsign/Initialize()
. = ..()
diff --git a/code/game/objects/structures/bedsheet_bin.dm b/code/game/objects/structures/bedsheet_bin.dm
index 5cdfc42d691..151e4901b5f 100644
--- a/code/game/objects/structures/bedsheet_bin.dm
+++ b/code/game/objects/structures/bedsheet_bin.dm
@@ -170,16 +170,18 @@ LINEN BINS
var/obj/item/hidden = null
-/obj/structure/bedsheetbin/_examine_text(mob/user)
+/obj/structure/bedsheetbin/examine(mob/user, infix)
. = ..()
if(amount < 1)
- . += "\nThere are no bed sheets in the bin."
+ . += "There are no bed sheets in the bin."
return
+
if(amount == 1)
- . += "\nThere is one bed sheet in the bin."
+ . += "There is one bed sheet in the bin."
return
- . += "\nThere are [amount] bed sheets in the bin."
+
+ . += "There are [amount] bed sheets in the bin."
/obj/structure/bedsheetbin/on_update_icon()
diff --git a/code/game/objects/structures/catwalk.dm b/code/game/objects/structures/catwalk.dm
index 0d62ffe3c20..1030b90c01a 100644
--- a/code/game/objects/structures/catwalk.dm
+++ b/code/game/objects/structures/catwalk.dm
@@ -59,15 +59,16 @@
/obj/structure/catwalk/attackby(obj/item/C, mob/user)
if(isWelder(C))
var/obj/item/weldingtool/WT = C
- if(WT.remove_fuel(0, user))
- playsound(src, 'sound/items/Welder.ogg', 100, 1)
- to_chat(user, SPAN("notice", "Slicing catwalk joints ..."))
- new /obj/item/stack/rods(loc)
- new /obj/item/stack/rods(loc)
- //Lattice would delete itself, but let's save ourselves a new obj
- if((istype(loc, /turf/space) || istype(loc, /turf/simulated/open)) && !(locate(/obj/structure/lattice) in loc))
- new /obj/structure/lattice(loc)
- qdel(src)
+ if(!WT.use_tool(src, user, amount = 1))
+ return
+
+ to_chat(user, SPAN("notice", "Slicing catwalk joints ..."))
+ new /obj/item/stack/rods(loc)
+ new /obj/item/stack/rods(loc)
+ //Lattice would delete itself, but let's save ourselves a new obj
+ if((istype(loc, /turf/space) || istype(loc, /turf/simulated/open)) && !(locate(/obj/structure/lattice) in loc))
+ new /obj/structure/lattice(loc)
+ qdel_self()
/obj/structure/catwalk/rcd_vals(mob/user, obj/item/construction/rcd/the_rcd)
if(the_rcd.mode == RCD_DECONSTRUCT)
diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm
index 2a48ed120bf..badedef82c5 100644
--- a/code/game/objects/structures/crates_lockers/closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets.dm
@@ -171,23 +171,24 @@
/obj/structure/closet/proc/WillContain()
return null
-/obj/structure/closet/_examine_text(mob/user)
+/obj/structure/closet/examine(mob/user, infix)
. = ..()
+
if(get_dist(src, user) <= 1 && !opened)
var/content_size = 0
for(var/atom/movable/AM in src.contents)
if(!AM.anchored)
content_size += content_size(AM)
if(!content_size)
- . += "\nIt is empty."
+ . += "It is empty."
else if(storage_capacity > content_size*4)
- . += "\nIt is barely filled."
+ . += "It is barely filled."
else if(storage_capacity > content_size*2)
- . += "\nIt is less than half full."
+ . += "It is less than half full."
else if(storage_capacity > content_size)
- . += "\nThere is still some free space."
+ . += "There is still some free space."
else
- . += "\nIt is full."
+ . += "It is full."
if(isghost(user))
var/mob/observer/ghost/G = user
@@ -197,7 +198,7 @@
if(src.opened)
return
- . += "\nIt contains: [items_english_list(contents)]."
+ . += "It contains: [items_english_list(contents)]."
/obj/structure/closet/CanPass(atom/movable/mover, turf/target)
if(wall_mounted)
@@ -431,11 +432,13 @@
return FALSE
if(istype(W,/obj/item/tk_grab))
return FALSE
+
if(isWelder(W))
var/obj/item/weldingtool/WT = W
- if(WT.isOn())
+ if(WT.use_tool(src, user))
slice_into_parts(WT, user)
return
+
if(istype(W, /obj/item/storage/laundry_basket) && W.contents.len)
var/obj/item/storage/laundry_basket/LB = W
var/turf/T = get_turf(src)
@@ -508,12 +511,9 @@
return
else if(isWelder(W) && (setup & CLOSET_CAN_BE_WELDED))
var/obj/item/weldingtool/WT = W
- if(!WT.remove_fuel(0,user))
- if(!WT.isOn())
- return
- else
- to_chat(user, SPAN_NOTICE("You need more welding fuel to complete this task."))
- return
+ if(!WT.use_tool(src, user))
+ return
+
src.welded = !src.welded
src.update_icon()
user.visible_message(SPAN_WARNING("\The [src] has been [welded?"welded shut":"unwelded"] by \the [user]."), blind_message = "You hear welding.", range = 3)
@@ -542,9 +542,9 @@
src.attack_hand(user)
/obj/structure/closet/proc/slice_into_parts(obj/item/weldingtool/WT, mob/user)
- if(!WT.remove_fuel(0,user))
- to_chat(user, SPAN_NOTICE("You need more welding fuel to complete this task."))
+ if(!WT.use_tool(src, user, amount = 1))
return
+
if(material != null)
new material(loc)
else
diff --git a/code/game/objects/structures/crates_lockers/crates.dm b/code/game/objects/structures/crates_lockers/crates.dm
index acb94bc78f6..d71dd40c5a4 100644
--- a/code/game/objects/structures/crates_lockers/crates.dm
+++ b/code/game/objects/structures/crates_lockers/crates.dm
@@ -58,15 +58,16 @@
if(. && closed_turf_height_offset)
set_turf_height_offset(closed_turf_height_offset)
-/obj/structure/closet/crate/_examine_text(mob/user)
+/obj/structure/closet/crate/examine(mob/user, infix)
. = ..()
+
if(rigged && opened)
var/list/devices = list()
for(var/obj/item/device/assembly_holder/H in src)
devices += H
for(var/obj/item/device/assembly/A in src)
devices += A
- . += "\nThere are some wires attached to the lid, connected to [english_list(devices)]."
+ . += "There are some wires attached to the lid, connected to [english_list(devices)]."
/obj/structure/closet/crate/attackby(obj/item/W, mob/user)
if(opened)
diff --git a/code/game/objects/structures/crates_lockers/largecrate.dm b/code/game/objects/structures/crates_lockers/largecrate.dm
index 33d2b429805..1a95140f4b8 100644
--- a/code/game/objects/structures/crates_lockers/largecrate.dm
+++ b/code/game/objects/structures/crates_lockers/largecrate.dm
@@ -15,7 +15,7 @@
/obj/structure/largecrate/LateInitialize(mapload, ...)
. = ..()
if(mapload) // if it's the map loading phase, relevant items at the crate's loc are put in the contents
- addtimer(CALLBACK(src, nameof(.proc/store_contents)), 10, TIMER_UNIQUE|TIMER_OVERRIDE) // It's here for a raisin, trust me
+ add_think_ctx("store_contents_mapload", CALLBACK(src, nameof(.proc/store_contents)), world.time + 1 SECOND)
/obj/structure/largecrate/proc/store_contents()
for(var/obj/I in loc)
@@ -73,22 +73,36 @@
name = "Mulebot crate"
held_type = /mob/living/bot/mulebot
+
/obj/structure/largecrate/animal/corgi
name = "corgi carrier"
held_type = /mob/living/simple_animal/corgi
+/obj/structure/largecrate/animal/corgi/ian
+ held_type = /mob/living/simple_animal/corgi/Ian
+
+/obj/structure/largecrate/animal/corgi/lisa
+ held_type = /mob/living/simple_animal/corgi/Lisa
+
+/obj/structure/largecrate/animal/corgi/puppy
+ held_type = /mob/living/simple_animal/corgi/puppy
+
+
/obj/structure/largecrate/animal/cow
name = "cow crate"
held_type = /mob/living/simple_animal/cow
+
/obj/structure/largecrate/animal/goat
name = "goat crate"
held_type = /mob/living/simple_animal/hostile/retaliate/goat
+
/obj/structure/largecrate/animal/pig
name = "pig crate"
held_type = /mob/living/simple_animal/pig
+
/obj/structure/largecrate/animal/cat
name = "cat carrier"
held_type = /mob/living/simple_animal/cat
@@ -96,15 +110,24 @@
/obj/structure/largecrate/animal/cat/bones
held_type = /mob/living/simple_animal/cat/fluff/bones
+/obj/structure/largecrate/animal/cat/runtime
+ held_type = /mob/living/simple_animal/cat/fluff/Runtime
+
+
/obj/structure/largecrate/animal/chick
name = "chicken crate"
held_count = 5
held_type = /mob/living/simple_animal/chick
+
/obj/structure/largecrate/animal/parrot
name = "parrot crate"
held_type = /mob/living/simple_animal/parrot
+/obj/structure/largecrate/animal/parrot/poly
+ held_type = /mob/living/simple_animal/parrot/Poly
+
+
/obj/structure/largecrate/animal/vatgrownbody/male
name = "vat-grown body crate"
icon_state = "vatgrowncrate_male"
diff --git a/code/game/objects/structures/door_assembly.dm b/code/game/objects/structures/door_assembly.dm
index d7d599c6c93..e327e8a41af 100644
--- a/code/game/objects/structures/door_assembly.dm
+++ b/code/game/objects/structures/door_assembly.dm
@@ -154,34 +154,36 @@
if(isWelder(W) && ( (istext(glass)) || (glass == 1) || (!anchored) ))
var/obj/item/weldingtool/WT = W
- if (WT.remove_fuel(0, user))
- playsound(src.loc, 'sound/items/Welder2.ogg', 50, 1)
- if(istext(glass))
- user.visible_message("[user] welds the [glass] plating off the airlock assembly.", "You start to weld the [glass] plating off the airlock assembly.")
- if(do_after(user, 40,src))
- if(!src || !WT.isOn()) return
- to_chat(user, "You welded the [glass] plating off!")
- var/M = text2path("/obj/item/stack/material/[glass]")
- new M(src.loc, 2)
- glass = 0
- else if(glass == 1)
- user.visible_message("[user] welds the glass panel out of the airlock assembly.", "You start to weld the glass panel out of the airlock assembly.")
- if(do_after(user, 40,src))
- if(!src || !WT.isOn()) return
- to_chat(user, "You welded the glass panel out!")
- new /obj/item/stack/material/glass/reinforced(src.loc)
- glass = 0
- else if(!anchored)
- user.visible_message("[user] dissassembles the airlock assembly.", "You start to dissassemble the airlock assembly.")
- if(do_after(user, 40,src))
- if(!src || !WT.isOn()) return
- to_chat(user, "You dissasembled the airlock assembly!")
- new /obj/item/stack/material/steel(src.loc, 4)
- qdel (src)
- else
- to_chat(user, "You need more welding fuel.")
+
+ if(istext(glass))
+ user.visible_message("[user] welds the [glass] plating off the airlock assembly.", "You start to weld the [glass] plating off the airlock assembly.")
+ else if(glass == 1)
+ user.visible_message("[user] welds the glass panel out of the airlock assembly.", "You start to weld the glass panel out of the airlock assembly.")
+ else if(!anchored)
+ user.visible_message("[user] dissassembles the airlock assembly.", "You start to dissassemble the airlock assembly.")
+
+
+ if(!WT.use_tool(src, user, delay = 4 SECONDS, amount = 5))
return
+ if(QDELETED(src) || !user)
+ return
+
+ if(istext(glass))
+ to_chat(user, SPAN_NOTICE("You welded the [glass] plating off!"))
+ var/M = text2path("/obj/item/stack/material/[glass]")
+ new M(src.loc, 2)
+ glass = 0
+ else if(glass == 1)
+ to_chat(user, SPAN_NOTICE("You welded the glass panel out!"))
+ new /obj/item/stack/material/glass/reinforced(src.loc)
+ glass = 0
+ else if(!anchored)
+ to_chat(user, SPAN_NOTICE("You dissasembled the airlock assembly!"))
+ new /obj/item/stack/material/steel(src.loc, 4)
+ qdel_self()
+
+
else if(isWrench(W) && state == 0)
playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1)
if(anchored)
@@ -291,7 +293,7 @@
update_state()
/obj/structure/door_assembly/proc/finish_door(user)
- show_splash_text(user, "Door finished!")
+ show_splash_text(user, "Door finished!", SPAN("notice", "You have finished assembling the door!"))
var/path = get_finished_type()
if(!isnull(path))
diff --git a/code/game/objects/structures/extinguisher.dm b/code/game/objects/structures/extinguisher.dm
index cd30dc75477..82ac2b09ad7 100644
--- a/code/game/objects/structures/extinguisher.dm
+++ b/code/game/objects/structures/extinguisher.dm
@@ -114,7 +114,7 @@
if(emagged)
return NO_EMAG_ACT
- show_splash_text(user, "cabinet emagged!")
+ show_splash_text(user, "cabinet emagged!", "You hack \the [src] reagent fabricator!")
emagged = TRUE
return TRUE
diff --git a/code/game/objects/structures/fitness.dm b/code/game/objects/structures/fitness.dm
index a64ac20df54..64373e3d901 100644
--- a/code/game/objects/structures/fitness.dm
+++ b/code/game/objects/structures/fitness.dm
@@ -54,11 +54,21 @@
being_used = 1
playsound(src.loc, 'sound/effects/weightlifter.ogg', 50, 1)
user.set_dir(SOUTH)
- flick("[icon_state]_[weight]", src)
- if(do_after(user, 20 + (weight * 10)))
+
+ var/usetime = 20 + (weight * 10)
+ if((MUTATION_HULK in user.mutations) || (MUTATION_STRONG in user.mutations))
+ flick("[icon_state]_[weight]s", src)
+ usetime = 14
+ else
+ flick("[icon_state]_[weight]", src)
+
+ if(do_after(user, usetime))
playsound(src.loc, 'sound/effects/weightdrop.ogg', 25, 1)
user.remove_nutrition(weight * 10)
- to_chat(user, "You lift the weights [qualifiers[weight]].")
+ if((MUTATION_HULK in user.mutations) || (MUTATION_STRONG in user.mutations))
+ to_chat(user, SPAN("notice", "You shred the weights without barely noticing it."))
+ else
+ to_chat(user, SPAN("notice", "You lift the weights [qualifiers[weight]]."))
being_used = 0
else
to_chat(user, "Against your previous judgement, perhaps working out is not for you.")
diff --git a/code/game/objects/structures/flora.dm b/code/game/objects/structures/flora.dm
index 94948c206a1..416ac44532e 100644
--- a/code/game/objects/structures/flora.dm
+++ b/code/game/objects/structures/flora.dm
@@ -17,7 +17,7 @@
if(do_after(usr, TIME_CUT))
playsound(user, 'sound/weapons/chainsaw_attack1.ogg', 25, 1)
to_chat(user, SPAN_WARNING("You cut down \the [src] with \the [W]."))
- if(!istype(get_turf(loc), /turf/simulated/floor/holofloor))
+ if(!(atom_flags & ATOM_FLAG_HOLOGRAM))
new /obj/item/stack/material/wood/ten(loc)
qdel(src)
return
@@ -28,7 +28,7 @@
to_chat(user, SPAN_WARNING("You chop \the [src] with \the [W]."))
playsound(src, 'sound/effects/fighting/chop3.ogg', 25, 1)
if(cut_hits <= 0)
- if(!istype(get_turf(loc), /turf/simulated/floor/holofloor))
+ if(!(atom_flags & ATOM_FLAG_HOLOGRAM))
new /obj/item/stack/material/wood/ten(loc)
qdel(src)
return
diff --git a/code/game/objects/structures/gas_stand.dm b/code/game/objects/structures/gas_stand.dm
index e6f8a9b21e2..b4ae70bd171 100644
--- a/code/game/objects/structures/gas_stand.dm
+++ b/code/game/objects/structures/gas_stand.dm
@@ -179,16 +179,17 @@
add_fingerprint(user)
update_icon()
-/obj/structure/gas_stand/_examine_text(mob/user)
+/obj/structure/gas_stand/examine(mob/user, infix)
. = ..()
+
if(tank)
- if (!is_loosen)
- . += "\n\The [tank] connected to it."
- . += "\nThe meter shows [round(tank.air_contents.return_pressure())]. The valve is [valve_opened == TRUE ? "open" : "closed"]."
- if (tank.distribute_pressure == 0)
- . += "\nUse wrench to replace tank."
+ if(!is_loosen)
+ . += "\The [tank] connected to it."
+ . += "The meter shows [round(tank.air_contents.return_pressure())]. The valve is [valve_opened == TRUE ? "open" : "closed"]."
+ if(tank.distribute_pressure == 0)
+ . += "Use wrench to replace tank."
else
- . += "\nIt is missing a tank!"
+ . += SPAN_WARNING("It is missing a tank!")
/obj/structure/gas_stand/think()
if(breather)
diff --git a/code/game/objects/structures/geltanks.dm b/code/game/objects/structures/geltanks.dm
index 9841b9fca87..bc73d18bc45 100644
--- a/code/game/objects/structures/geltanks.dm
+++ b/code/game/objects/structures/geltanks.dm
@@ -13,12 +13,13 @@
var/gel_type = "unknown"
atom_flags = ATOM_FLAG_CLIMBABLE
-/obj/structure/geltank/_examine_text(mob/user)
+/obj/structure/geltank/examine(mob/user, infix)
. = ..()
+
if(capacity >= 0)
- . += "\nIt contains [capacity]/[capacity_max] units of gel."
+ . += "It contains [capacity]/[capacity_max] units of gel."
else
- . += "\nIt's empty."
+ . += "It's empty."
/obj/structure/geltank/proc/use(amt = 1)
capacity -= amt
diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm
index ed39d5baa34..8c2737a52f9 100644
--- a/code/game/objects/structures/girders.dm
+++ b/code/game/objects/structures/girders.dm
@@ -16,12 +16,13 @@
icon_state = "displaced"
anchored = 0
-/obj/structure/girder/_examine_text(mob/user)
+/obj/structure/girder/examine(mob/user, infix)
. = ..()
+
if(health <= 0.4 * max_health)
- . += "\n[SPAN("warning", "It's heavily damaged!")]"
+ . += SPAN("warning", "It's heavily damaged!")
else if(health < max_health)
- . += "\n[SPAN("warning", "It's showing signs of damage.")]"
+ . += SPAN("warning", "It's showing signs of damage.")
/obj/structure/girder/attack_generic(mob/user, damage, attack_message = "smashes apart", wallbreaker)
if(!damage || !wallbreaker)
@@ -76,25 +77,31 @@
user.visible_message(SPAN("notice", "[user] is securing \the [src]..."), \
SPAN("notice", "Now securing \the [src]..."))
if(do_after(user, 40,src))
- if(!src) return
+ if(QDELETED(src))
+ return
user.visible_message(SPAN("notice", "[user] secured \the [src]!"), \
SPAN("notice", "You secured \the [src]!"))
reset_girder()
shove_everything(shove_objects = FALSE, shove_items = FALSE)
+ return
else if((istype(W, /obj/item/gun/energy/plasmacutter) || (istype(W, /obj/item/melee/energy) && W.force > 20)) && user.a_intent == I_HELP)
user.visible_message(SPAN("notice", "[user] is slicing apart \the [src]..."), \
SPAN("notice", "Now slicing apart \the [src]..."))
if(do_after(user,30,src))
- if(!src) return
+ if(QDELETED(src))
+ return
+
user.visible_message(SPAN("notice", "[user] slices apart \the [src]!"), \
SPAN("notice", "You slice apart \the [src]!"))
dismantle()
+ return
else if(istype(W, /obj/item/pickaxe/drill/diamonddrill))
user.visible_message(SPAN("notice", "[user] drills through \the [src]!"), \
SPAN("notice", "You drill through \the [src]!"))
dismantle()
+ return
else if(isScrewdriver(W))
if(state == 2)
@@ -108,49 +115,57 @@
playsound(src.loc, 'sound/items/Screwdriver.ogg', 100, 1)
reinforcing = !reinforcing
to_chat(user, SPAN("notice", "\The [src] can now be [reinforcing? "reinforced" : "constructed"]!"))
+ return
else if(isWirecutter(W) && state == 1)
playsound(src.loc, 'sound/items/Wirecutter.ogg', 100, 1)
to_chat(user, SPAN("notice", "Now removing the support struts from \the [src]..."))
if(do_after(user, 40, src))
- if(!src) return
+ if(QDELETED(src))
+ return
+
to_chat(user, SPAN("notice", "You removed the support struts from \the [src]!"))
if(reinf_material)
reinf_material.place_dismantled_product(get_turf(src))
reinf_material = null
reset_girder()
+ return
else if(isCrowbar(W) && state == 0 && anchored)
playsound(src.loc, 'sound/items/Crowbar.ogg', 100, 1)
user.visible_message(SPAN("notice", "[user] is dislodging \the [src]..."), \
SPAN("notice", "Now dislodging \the [src]..."))
if(do_after(user, 40, src))
- if(!src) return
+ if(QDELETED(src))
+ return
+
user.visible_message(SPAN("notice", "[user] dislodged \the [src]."), \
- SPAN("notice", "You dislodged \the [src]."))
+ SPAN("notice", "You dislodged \the [src]."))
icon_state = "displaced"
anchored = 0
cover = 40
+ return
else if(isWelder(W))
var/obj/item/weldingtool/WT = W
- if(!WT.isOn())
- return
if(health == max_health)
to_chat(user, SPAN("notice", "\The [src] is undamaged."))
return
- if(!WT.remove_fuel(0,user))
- to_chat(user, SPAN("notice", "You need more welding fuel to complete this task."))
- return
+
user.visible_message(SPAN("notice", "[user] is repairing the damage to \the [src]..."), \
SPAN("notice", "You start repairing the damage to \the [src]..."))
- playsound(src, 'sound/items/Welder.ogg', 100, 1)
- if(!do_after(user, max(5, health / 3), src) && WT && WT.isOn())
+
+ if(!WT.use_tool(src, user, delay = max(5, health /3), amount = 5))
+ return
+
+ if(QDELETED(src) || !user)
return
+
health = max_health
user.visible_message(SPAN("notice", "[user] repairs \the [src]."), \
SPAN("notice", "You repair \the [src]."))
+ return
else if(istype(W, /obj/item/stack/material))
if(reinforcing && !reinf_material)
@@ -262,7 +277,7 @@
return FALSE
/obj/structure/girder/attack_hand(mob/user as mob)
- if(MUTATION_HULK in user.mutations)
+ if((MUTATION_HULK in user.mutations) || (MUTATION_STRONG in user.mutations))
user.visible_message(SPAN("danger", "[user] smashes \the [src] apart!"), \
SPAN("danger", "You smash \the [src] apart!"))
dismantle()
diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm
index 1d633fe2306..92ed05e3bc7 100644
--- a/code/game/objects/structures/grille.dm
+++ b/code/game/objects/structures/grille.dm
@@ -38,7 +38,7 @@
playsound(loc, 'sound/effects/grillehit.ogg', 80, 1)
user.do_attack_animation(src)
- var/damage_dealt = 1
+ var/damage_dealt = 2
var/attack_message = "kicks"
if(istype(user,/mob/living/carbon/human))
var/mob/living/carbon/human/H = user
@@ -51,8 +51,9 @@
if(MUTATION_HULK in user.mutations)
damage_dealt += 5
- else
- damage_dealt += 1
+
+ if(MUTATION_STRONG in user.mutations)
+ damage_dealt += 5
attack_generic(user,damage_dealt,attack_message)
diff --git a/code/game/objects/structures/hoop.dm b/code/game/objects/structures/hoop.dm
new file mode 100644
index 00000000000..d8aaf5659f6
--- /dev/null
+++ b/code/game/objects/structures/hoop.dm
@@ -0,0 +1,24 @@
+/obj/structure/hoop
+ name = "basketball hoop"
+ desc = "Boom, Shakalaka!"
+
+ icon_state = "hoop"
+ icon = 'icons/obj/basketball.dmi'
+
+ anchored = TRUE
+ density = TRUE
+ throwpass = TRUE
+
+/obj/structure/hoop/CanPass(atom/movable/mover, turf/target)
+ if(mover.throwing && isitem(mover) && !istype(mover, /obj/item/projectile))
+ var/obj/item/throwing_item = mover
+
+ if(prob(50))
+ throwing_item.forceMove(loc)
+ visible_message(SPAN_NOTICE("Swish! \the [throwing_item] lands in \the [src]."))
+ else
+ visible_message(SPAN_WARNING("\The [throwing_item] bounces off of \the [src]'s rim!"))
+
+ return FALSE
+
+ return ..()
diff --git a/code/game/objects/structures/inflatable.dm b/code/game/objects/structures/inflatable.dm
index 2d4c80c0fed..a978d466b0f 100644
--- a/code/game/objects/structures/inflatable.dm
+++ b/code/game/objects/structures/inflatable.dm
@@ -134,16 +134,18 @@
if(health == round(0.3 * initial(health)))
visible_message(SPAN("warning", "\The [src] is barely holding up!"))
-/obj/structure/inflatable/_examine_text(mob/user)
+/obj/structure/inflatable/examine(mob/user, infix)
. = ..()
+
if(health >= initial(health))
- . += "\n[SPAN("notice", "It's undamaged.")]"
+ . += SPAN("notice", "It's undamaged.")
else if(health >= 0.5 * initial(health))
- . += "\n[SPAN("warning", "It's showing signs of damage.")]"
+ . += SPAN("warning", "It's showing signs of damage.")
else if(health >= 0)
- . += "\n[SPAN("danger", "It's heavily damaged!")]"
+ . += SPAN("danger", "It's heavily damaged!")
+
if(taped)
- . += "\n[SPAN("notice", "It's been duct taped in few places.")]"
+ . += SPAN("notice", "It's been duct taped in few places.")
/obj/structure/inflatable/bullet_act(obj/item/projectile/Proj)
take_damage(Proj.get_structure_damage())
diff --git a/code/game/objects/structures/iv_drip.dm b/code/game/objects/structures/iv_drip.dm
index 9a519c93487..5d781aef73c 100644
--- a/code/game/objects/structures/iv_drip.dm
+++ b/code/game/objects/structures/iv_drip.dm
@@ -155,21 +155,21 @@
mode = !mode
to_chat(usr, "The IV drip is now [mode ? "injecting" : "taking blood"].")
-/obj/structure/iv_drip/_examine_text(mob/user)
+/obj/structure/iv_drip/examine(mob/user, infix)
. = ..()
- if (get_dist(src, user) > 2)
+ if(get_dist(src, user) > 2)
return
- . += "\nThe IV drip is [mode ? "injecting" : "taking blood"]."
- . += "\nIt is set to transfer [transfer_amount]u of chemicals per cycle."
+ . += "The IV drip is [mode ? "injecting" : "taking blood"]."
+ . += "It is set to transfer [transfer_amount]u of chemicals per cycle."
if(beaker)
if(beaker.reagents && beaker.reagents.total_volume)
- . += "\nAttached is \a [beaker] with [beaker.reagents.total_volume] units of liquid."
+ . += "Attached is \a [beaker] with [beaker.reagents.total_volume] units of liquid."
else
- . += "\nAttached is an empty [beaker]."
+ . += "Attached is an empty [beaker]."
else
- . += "\nNo chemicals are attached."
+ . += "No chemicals are attached."
- . += "\n[attached ? attached : "No one"] is hooked up to it."
+ . += "[attached ? attached : "No one"] is hooked up to it."
diff --git a/code/game/objects/structures/janicart.dm b/code/game/objects/structures/janicart.dm
index 8b56d6bee2e..b876a4015c0 100644
--- a/code/game/objects/structures/janicart.dm
+++ b/code/game/objects/structures/janicart.dm
@@ -21,11 +21,11 @@
create_reagents(180)
-/obj/structure/janitorialcart/_examine_text(mob/user)
+/obj/structure/janitorialcart/examine(mob/user, infix)
. = ..()
+
if(get_dist(src, user) <= 1)
- . += "\n[src] \icon[src] contains [reagents.total_volume] unit\s of liquid!"
- //everything else is visible, so doesn't need to be mentioned
+ . += "[src] \icon[src] contains [reagents.total_volume] unit\s of liquid!"
/obj/structure/janitorialcart/attackby(obj/item/I, mob/user)
@@ -189,14 +189,15 @@
create_reagents(100)
-/obj/structure/bed/chair/janicart/_examine_text(mob/user)
+/obj/structure/bed/chair/janicart/examine(mob/user, infix)
. = ..()
+
if(get_dist(src, user) > 1)
return
- . += "\n\icon[src] This [callme] contains [reagents.total_volume] unit\s of water!"
+ . += "\icon[src] This [callme] contains [reagents.total_volume] unit\s of water!"
if(mybag)
- . += "\n\A [mybag] is hanging on the [callme]."
+ . += "\A [mybag] is hanging on the [callme]."
/obj/structure/bed/chair/janicart/attackby(obj/item/I, mob/user)
@@ -232,11 +233,13 @@
to_chat(user, "You'll need the keys in one of your hands to drive this [callme].")
-/obj/structure/bed/chair/janicart/Move()
+/obj/structure/bed/chair/janicart/Move(newloc, direct)
. = ..()
- if(buckled_mob)
- if(buckled_mob.buckled == src)
- buckled_mob.forceMove(loc)
+ if(!.)
+ return
+
+ if(buckled_mob?.buckled == src)
+ buckled_mob.forceMove(loc)
/obj/structure/bed/chair/janicart/post_buckle_mob(mob/living/M)
diff --git a/code/game/objects/structures/lattice.dm b/code/game/objects/structures/lattice.dm
index 713731d15b6..bb1b566d7be 100644
--- a/code/game/objects/structures/lattice.dm
+++ b/code/game/objects/structures/lattice.dm
@@ -56,11 +56,13 @@
return
if(isWelder(C))
var/obj/item/weldingtool/WT = C
- if(!WT.remove_fuel(0, user))
+ if(!WT.use_tool(src, user, amount = 1))
return
- to_chat(user, "Slicing lattice joints ...")
+
+ to_chat(user, SPAN_NOTICE("Slicing lattice joints."))
new /obj/item/stack/rods(loc)
qdel(src)
+
if (istype(C, /obj/item/stack/rods))
var/obj/item/stack/rods/R = C
if(R.use(2))
diff --git a/code/game/objects/structures/mop_bucket.dm b/code/game/objects/structures/mop_bucket.dm
index f209cc1da73..fb6825c8ef0 100644
--- a/code/game/objects/structures/mop_bucket.dm
+++ b/code/game/objects/structures/mop_bucket.dm
@@ -1,3 +1,5 @@
+#define OXYLOS_PER_HEAD_DIP 10
+
/obj/structure/mopbucket
name = "mop bucket"
desc = "Fill it with water, but don't forget a mop!"
@@ -12,20 +14,61 @@
var/amount_per_transfer_from_this = 5 //shit I dunno, adding this so syringes stop runtime erroring. --NeoFite
-/obj/structure/mopbucket/New()
+/obj/structure/mopbucket/Initialize()
+ . = ..()
create_reagents(180)
- ..()
-/obj/structure/mopbucket/_examine_text(mob/user)
+/obj/structure/mopbucket/examine(mob/user, infix)
. = ..()
+
if(get_dist(src, user) <= 1)
- . += "\n[src] \icon[src] contains [reagents.total_volume] unit\s of water!"
+ . += "[src] \icon[src] contains [reagents.total_volume] unit\s of water!"
/obj/structure/mopbucket/attackby(obj/item/I, mob/user)
if(istype(I, /obj/item/mop))
if(reagents.total_volume < 1)
- to_chat(user, "\The [src] is out of water!")
+ show_splash_text(user, "no water!", SPAN("warning", "\The [src] is empty!"))
+ return
+
else
reagents.trans_to_obj(I, 5)
- to_chat(user, "You wet \the [I] in \the [src].")
+ show_splash_text(user, "you wet the mop!", SPAN("notice", "You wet \the [I] in \the [src]."))
playsound(loc, 'sound/effects/slosh.ogg', 25, 1)
+ return
+
+ else if(istype(I, /obj/item/grab))
+ var/obj/item/grab/G = I
+
+ if(!isliving(G.affecting))
+ return
+
+ if(G.current_grab.state_name == NORM_PASSIVE)
+ to_chat(user, SPAN_NOTICE("You need a tighter grip!"))
+ return
+
+ if(reagents.total_volume < 1)
+ show_splash_text(user, "no water!", SPAN("warning", "\The [src] is empty!"))
+ return
+
+ user.visible_message(SPAN_DANGER("[user] starts to put [G.affecting.name]'s head into \the [src]!"), \
+ SPAN_DANGER("You start to put [G.affecting.name]'s head into \the [src]!"))
+ reagents.trans_to(G.affecting, min(reagents.total_volume, 5))
+ playsound(get_turf(src), GET_SFX(SFX_FOOTSTEP_WATER), 100, TRUE)
+
+ if(!do_after(user, 3 SECONDS, src, TRUE))
+ return
+
+ if(QDELETED(src) || !G?.affecting)
+ return
+
+
+ user.visible_message(SPAN_DANGER("[user] finally raises [G.affecting.name]'s head out of \the [src]!"), \
+ SPAN_DANGER("You raise [G.affecting.name]'s head out of \the [src]!"))
+ reagents.trans_to(G.affecting, min(reagents.total_volume, 5))
+ playsound(get_turf(src), GET_SFX(SFX_FOOTSTEP_WATER), 100, TRUE)
+ if(!G?.affecting?.internal && !G.affecting.isSynthetic())
+ G.affecting.adjustOxyLoss(OXYLOS_PER_HEAD_DIP)
+ G.affecting.emote("gasp")
+ return
+
+#undef OXYLOS_PER_HEAD_DIP
diff --git a/code/game/objects/structures/noticeboard.dm b/code/game/objects/structures/noticeboard.dm
index fcaa897f3c6..5b1f47c5dce 100644
--- a/code/game/objects/structures/noticeboard.dm
+++ b/code/game/objects/structures/noticeboard.dm
@@ -35,7 +35,9 @@
// Since Topic() never seems to interact with usr on more than a superficial
// level, it should be fine to let anyone mess with the board other than ghosts.
-/obj/structure/noticeboard/_examine_text(mob/user)
+/obj/structure/noticeboard/examine(mob/user, infix)
+ . = ..()
+
if(user && user.Adjacent(src))
var/dat = "Noticeboard
"
for(var/obj/item/paper/P in src)
@@ -44,8 +46,6 @@
dat += "[P.name] Remove
"
show_browser(user, "
Close", usr)
+ show_browser(usr, dat, "window=scanconsole;size=430x600")
+
/client/proc/cmd_analyse_health_panel()
set category = "Debug"
set name = "Analyse Health"
- set desc = "Get an advanced health reading on a human mob."
- var/mob/living/carbon/human/H = input("Select mob.", "Analyse Health") as null|anything in GLOB.human_mob_list
- if(!H) return
+ var/mob/living/carbon/human/chosen_one = tgui_input_list(src, "Select mob a mob to analyse.", "Analyse Health", GLOB.human_mob_list)
- cmd_analyse_health(H)
+ if(isnull(chosen_one))
+ return
-/client/proc/cmd_analyse_health(mob/living/carbon/human/H)
+ cmd_analyse_health(chosen_one)
+/client/proc/cmd_analyse_health_context(mob/living/carbon/human/H as mob in GLOB.human_mob_list)
+ set name = "Analyse Human Health"
+
+ cmd_analyse_health(H)
+ feedback_add_details("admin_verb","ANLS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
+
+/client/proc/cmd_view_language(mob/target_mob)
if(!check_rights(R_DEBUG))
return
- if(!H) return
+ if(!istype(target_mob))
+ return
- var/dat = H.get_medical_data()
+ target_mob.language_menu.tgui_interact(usr)
- dat += text("
Close", usr)
- show_browser(usr, dat, "window=scanconsole;size=430x600")
+/client/proc/cmd_view_language_panel()
+ set category = "Debug"
+ set name = "Check Languages"
-/client/proc/cmd_analyse_health_context(mob/living/carbon/human/H as mob in GLOB.human_mob_list)
- set category = null
- set name = "Analyse Human Health"
+ var/mob/chosen_one = tgui_input_list(src, "Select mob a mob to view it's languages.", "Check Languages", GLOB.living_mob_list_)
- if(!check_rights(R_DEBUG))
+ if(isnull(chosen_one))
return
- if(!ishuman(H)) return
- cmd_analyse_health(H)
- feedback_add_details("admin_verb","ANLS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
+
+ cmd_view_language(chosen_one)
+
+/client/proc/cmd_view_language_context(mob/target_mob as mob in GLOB.living_mob_list_)
+ set name = "Check Mob Languages"
+
+ cmd_view_language(target_mob)
/obj/effect/debugmarker
icon = 'icons/effects/lighting_overlay.dmi'
diff --git a/code/modules/admin/verbs/possess.dm b/code/modules/admin/verbs/possess.dm
index f47e7f78503..46fee6c5184 100644
--- a/code/modules/admin/verbs/possess.dm
+++ b/code/modules/admin/verbs/possess.dm
@@ -47,6 +47,8 @@
set desc = "Give this guy possess/release verbs"
set category = "Debug"
set name = "Give Possessing Verbs"
- M.verbs += /proc/possess
- M.verbs += /proc/release
+ grant_verb(M, list(
+ /proc/possess,
+ /proc/release,
+ ))
feedback_add_details("admin_verb","GPV") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm
index 4269066397b..74f1c221bf4 100644
--- a/code/modules/admin/verbs/randomverbs.dm
+++ b/code/modules/admin/verbs/randomverbs.dm
@@ -350,7 +350,7 @@ Ccomp's first proc.
if(config.ghost.allow_antag_hud)
for(var/mob/observer/ghost/g in get_ghosts())
if(!g.client.holder) //Remove the verb from non-admin ghosts
- g.verbs -= /mob/observer/ghost/verb/toggle_antagHUD
+ revoke_verb(g, /mob/observer/ghost/verb/toggle_antagHUD)
if(g.antagHUD)
g.antagHUD = 0 // Disable it on those that have it enabled
g.has_enabled_antagHUD = 2 // We'll allow them to respawn
@@ -361,7 +361,7 @@ Ccomp's first proc.
else
for(var/mob/observer/ghost/g in get_ghosts())
if(!g.client.holder) // Add the verb back for all non-admin ghosts
- g.verbs += /mob/observer/ghost/verb/toggle_antagHUD
+ grant_verb(g, /mob/observer/ghost/verb/toggle_antagHUD)
to_chat(g, "The Administrator has enabled AntagHUD ")// Notify all observers they can now use AntagHUD
config.ghost.allow_antag_hud = 1
diff --git a/code/modules/admin/view_variables/topic.dm b/code/modules/admin/view_variables/topic.dm
index a0e38890919..5038232f81e 100644
--- a/code/modules/admin/view_variables/topic.dm
+++ b/code/modules/admin/view_variables/topic.dm
@@ -401,7 +401,7 @@
if(!verb || verb == "Cancel")
return
else
- H.verbs += verb
+ grant_verb(H, verb)
else if(href_list["remverb"])
if(!check_rights(R_DEBUG)) return
@@ -418,7 +418,7 @@
if(!verb)
return
else
- H.verbs -= verb
+ revoke_verb(H, verb)
else if(href_list["addorgan"])
if(!check_rights(R_SPAWN)) return
diff --git a/code/modules/assembly/assembly.dm b/code/modules/assembly/assembly.dm
index de5dd9bfe43..f4498b04cd7 100644
--- a/code/modules/assembly/assembly.dm
+++ b/code/modules/assembly/assembly.dm
@@ -34,7 +34,7 @@
if(!secured || cooldown > 0)
return FALSE
cooldown = 2
- addtimer(CALLBACK(src, nameof(.proc/process_cooldown)), 1 SECOND)
+ set_next_think(world.time + 1 SECOND)
return TRUE
//Called when another assembly acts on this one, var/radio will determine where it came from for wire calcs
@@ -69,13 +69,13 @@
return 1
return 0
-//Called via spawn(10) to have it count down the cooldown var
-/obj/item/device/assembly/proc/process_cooldown()
+/obj/item/device/assembly/think()
cooldown--
if(cooldown <= 0)
- return 0
- addtimer(CALLBACK(src, nameof(.proc/process_cooldown)), 1 SECOND)
- return 1
+ set_next_think(0)
+ return FALSE
+
+ set_next_think(world.time + 1 SECOND)
//Called when the holder is moved
/obj/item/device/assembly/proc/holder_movement()
@@ -105,13 +105,14 @@
return PROCESS_KILL
-/obj/item/device/assembly/_examine_text(mob/user)
+/obj/item/device/assembly/examine(mob/user, infix)
. = ..()
+
if((in_range(src, user) || loc == user))
if(secured)
- . += "\n\The [src] is ready!"
+ . += "\The [src] is ready!"
else
- . += "\n\The [src] can be attached!"
+ . += "\The [src] can be attached!"
/obj/item/device/assembly/attack_self(mob/user)
if(!user) return 0
diff --git a/code/modules/assembly/holder.dm b/code/modules/assembly/holder.dm
index f2d7ae59f2c..69ea9fe6fe0 100644
--- a/code/modules/assembly/holder.dm
+++ b/code/modules/assembly/holder.dm
@@ -74,15 +74,14 @@
if(master)
master.update_icon()
-/obj/item/device/assembly_holder/_examine_text(mob/user)
+/obj/item/device/assembly_holder/examine(mob/user, infix)
. = ..()
- if ((in_range(src, user) || src.loc == user))
- if (src.secured)
- . += "\n\The [src] is ready!"
- else
- . += "\n\The [src] can be attached!"
- return
+ if((in_range(src, user) || src.loc == user))
+ if(src.secured)
+ . += "\The [src] is ready!"
+ else
+ . += "\The [src] can be attached!"
/obj/item/device/assembly_holder/HasProximity(atom/movable/AM)
if(a_left)
@@ -235,7 +234,7 @@
loc.verbs += /obj/item/device/assembly_holder/timer_igniter/verb/configure
/obj/item/device/assembly_holder/timer_igniter/detached()
- loc.verbs -= /obj/item/device/assembly_holder/timer_igniter/verb/configure
+ loc.remove_verb(loc.loc, /obj/item/device/assembly_holder/timer_igniter/verb/configure)
..()
/obj/item/device/assembly_holder/timer_igniter/verb/configure()
diff --git a/code/modules/assembly/infrared.dm b/code/modules/assembly/infrared.dm
index 59f8a187d7e..b729225b6af 100644
--- a/code/modules/assembly/infrared.dm
+++ b/code/modules/assembly/infrared.dm
@@ -27,6 +27,8 @@
seen_turfs = list()
proximity_trigger = new(src, /obj/item/device/assembly/infra/proc/on_beam_entered, /obj/item/device/assembly/infra/proc/on_visibility_change, world.view, PROXIMITY_EXCLUDE_HOLDER_TURF)
+ AddElement(/datum/element/simple_rotation)
+
/obj/item/device/assembly/infra/Destroy()
qdel(proximity_trigger)
proximity_trigger = null
@@ -105,13 +107,6 @@
return TOPIC_REFRESH
-/obj/item/device/assembly/infra/verb/rotate()//This could likely be better
- set name = "Rotate Infrared Laser"
- set category = "Object"
- set src in usr
-
- set_dir(turn(dir, 90))
-
/obj/item/device/assembly/infra/retransmit_moved(mover, old_loc, new_loc)
if(on)
..()
@@ -130,7 +125,7 @@
if(!holder)
visible_message("\icon[src] *beep* *beep*")
cooldown = 2
- addtimer(CALLBACK(src, nameof(.proc/process_cooldown)), 1 SECOND)
+ set_next_think(world.time + 1 SECOND)
/obj/item/device/assembly/infra/proc/on_visibility_change(list/old_turfs, list/new_turfs)
seen_turfs = new_turfs
@@ -186,6 +181,6 @@
/obj/effect/beam/ir_beam
name = "ir beam"
icon = 'icons/obj/projectiles.dmi'
- icon_state = "ibeam"
+ icon_state = "infrared"
anchored = TRUE
simulated = FALSE
diff --git a/code/modules/assembly/mousetrap.dm b/code/modules/assembly/mousetrap.dm
index 9f0c902510b..5ceac60a980 100644
--- a/code/modules/assembly/mousetrap.dm
+++ b/code/modules/assembly/mousetrap.dm
@@ -9,10 +9,11 @@
drop_sound = SFX_DROP_COMPONENT
pickup_sound = SFX_PICKUP_COMPONENT
- _examine_text(mob/user)
- . = ..(user)
+ examine(mob/user)
+ . = ..()
+
if(armed)
- to_chat(user, "It looks like it's armed.")
+ . += "It looks like it's armed."
update_icon()
if(armed)
diff --git a/code/modules/assembly/proximity.dm b/code/modules/assembly/proximity.dm
index 63a1dbbf89a..640941d80e5 100644
--- a/code/modules/assembly/proximity.dm
+++ b/code/modules/assembly/proximity.dm
@@ -62,7 +62,7 @@
mainloc.visible_message(SPAN("danger" ,"\icon[src] *beep* *beep*"), SPAN("danger" ,"*beep* *beep*"))
playsound(mainloc, 'sound/signals/warning8.ogg', 35)
cooldown = 2
- addtimer(CALLBACK(src, nameof(.proc/process_cooldown)), 1 SECOND)
+ set_next_think(world.time + 1 SECOND)
/obj/item/device/assembly/prox_sensor/think()
if(!timing)
@@ -105,8 +105,11 @@
return
-/obj/item/device/assembly/prox_sensor/Move()
+/obj/item/device/assembly/prox_sensor/Move(newloc, direct)
. = ..()
+ if(!.)
+ return
+
sense()
diff --git a/code/modules/assembly/voice.dm b/code/modules/assembly/voice.dm
index 619b949d860..6cdf3c6e271 100644
--- a/code/modules/assembly/voice.dm
+++ b/code/modules/assembly/voice.dm
@@ -29,7 +29,7 @@
if(findtext(msg, recorded))
pulse(0)
cooldown = 2
- addtimer(CALLBACK(src, nameof(.proc/process_cooldown)), 1 SECOND)
+ set_next_think(world.time + 1 SECOND)
/obj/item/device/assembly/voice/activate()
diff --git a/code/modules/atmospherics/components/binary_devices/circulator.dm b/code/modules/atmospherics/components/binary_devices/circulator.dm
index 3de36099c51..79115d6ce7a 100644
--- a/code/modules/atmospherics/components/binary_devices/circulator.dm
+++ b/code/modules/atmospherics/components/binary_devices/circulator.dm
@@ -7,6 +7,7 @@
icon = 'icons/obj/pipes.dmi'
icon_state = "circ-off"
anchored = 0
+ obj_flags = OBJ_FLAG_ANCHOR_BLOCKS_ROTATION
var/kinetic_efficiency = 0.04 //combined kinetic and kinetic-to-electric efficiency
var/volume_ratio = 0.2
@@ -27,6 +28,8 @@
desc = initial(desc) + " Its outlet port is to the [dir2text(dir)]."
air1.volume = 400
+ AddElement(/datum/element/simple_rotation)
+
/obj/machinery/atmospherics/binary/circulator/proc/return_transfer_air()
var/datum/gas_mixture/removed
if(anchored && !(stat&BROKEN) && network1)
@@ -121,25 +124,12 @@
else
..()
-/obj/machinery/atmospherics/binary/circulator/verb/rotate_clockwise()
- set category = "Object"
- set name = "Rotate Circulator (Clockwise)"
- set src in view(1)
-
- if (usr.stat || usr.restrained() || anchored)
- return
+/obj/machinery/atmospherics/binary/circulator/rotate(mob/user)
+ ..()
- src.set_dir(turn(src.dir, 90))
desc = initial(desc) + " Its outlet port is to the [dir2text(dir)]."
+/obj/machinery/atmospherics/binary/circulator/rotate_counter(mob/user)
+ ..()
-/obj/machinery/atmospherics/binary/circulator/verb/rotate_anticlockwise()
- set category = "Object"
- set name = "Rotate Circulator (Counterclockwise)"
- set src in view(1)
-
- if (usr.stat || usr.restrained() || anchored)
- return
-
- src.set_dir(turn(src.dir, -90))
desc = initial(desc) + " Its outlet port is to the [dir2text(dir)]."
diff --git a/code/modules/atmospherics/components/binary_devices/dp_vent_pump.dm b/code/modules/atmospherics/components/binary_devices/dp_vent_pump.dm
index 866ccecb68a..d37bf66734f 100644
--- a/code/modules/atmospherics/components/binary_devices/dp_vent_pump.dm
+++ b/code/modules/atmospherics/components/binary_devices/dp_vent_pump.dm
@@ -192,10 +192,11 @@
if(frequency)
set_frequency(frequency)
-/obj/machinery/atmospherics/binary/dp_vent_pump/_examine_text(mob/user)
+/obj/machinery/atmospherics/binary/dp_vent_pump/examine(mob/user, infix)
. = ..()
+
if(get_dist(src, user) <= 1)
- . += "\nA small gauge in the corner reads [round(last_flow_rate, 0.1)] L/s; [round(last_power_draw)] W"
+ . += "A small gauge in the corner reads [round(last_flow_rate, 0.1)] L/s; [round(last_power_draw)] W"
/obj/machinery/atmospherics/binary/dp_vent_pump/receive_signal(datum/signal/signal)
if(!signal.data["tag"] || (signal.data["tag"] != id) || (signal.data["sigtype"]!="command"))
diff --git a/code/modules/atmospherics/components/binary_devices/oxyregenerator.dm b/code/modules/atmospherics/components/binary_devices/oxyregenerator.dm
index 88d4b8b5f3f..ed20094237f 100644
--- a/code/modules/atmospherics/components/binary_devices/oxyregenerator.dm
+++ b/code/modules/atmospherics/components/binary_devices/oxyregenerator.dm
@@ -8,6 +8,7 @@
use_power = POWER_USE_OFF
idle_power_usage = 200 WATTS //internal circuitry, friction losses and stuff
power_rating = 10000
+ obj_flags = OBJ_FLAG_ANCHOR_BLOCKS_ROTATION
var/target_pressure = 10*ONE_ATMOSPHERE
var/id = null
var/power_setting = 1 //power consumption setting, 1 through five
@@ -29,6 +30,8 @@
component_parts += new /obj/item/stock_parts/matter_bin(src)//Stores carbon
RefreshParts()
+ AddElement(/datum/element/simple_rotation)
+
/obj/machinery/atmospherics/binary/oxyregenerator/RefreshParts()
for(var/obj/item/stock_parts/P in component_parts)
if(istype(P, /obj/item/stock_parts/matter_bin))
@@ -38,9 +41,9 @@
if(istype(P, /obj/item/stock_parts/micro_laser))
power_rating -= power_rating * 0.05 * (P.rating-1) //5% better power efficiency per stock item rank
-/obj/machinery/atmospherics/binary/oxyregenerator/_examine_text(user)
+/obj/machinery/atmospherics/binary/oxyregenerator/examine(mob/user, infix)
. = ..()
- . += "\nIts outlet port is to the [dir2text(dir)]"
+ . += "Its outlet port is to the [dir2text(dir)]"
/obj/machinery/atmospherics/binary/oxyregenerator/attackby(obj/item/O as obj, mob/user as mob)
if(default_deconstruction_screwdriver(user, O))
@@ -81,26 +84,6 @@
node1 = null
node2 = null
-/obj/machinery/atmospherics/binary/oxyregenerator/verb/rotate_clockwise()
- set category = "Object"
- set name = "Rotate (Clockwise)"
- set src in view(1)
-
- if (usr.incapacitated() || anchored)
- return
-
- src.set_dir(turn(src.dir, -90))
-
-/obj/machinery/atmospherics/binary/oxyregenerator/verb/rotate_anticlockwise()
- set category = "Object"
- set name = "Rotate (Counterclockwise)"
- set src in view(1)
-
- if (usr.incapacitated() || anchored)
- return
-
- src.set_dir(turn(src.dir, 90))
-
/obj/machinery/atmospherics/binary/oxyregenerator/Process(delay)
if((stat & (NOPOWER|BROKEN)) || !use_power)
return
diff --git a/code/modules/atmospherics/components/binary_devices/passive_gate.dm b/code/modules/atmospherics/components/binary_devices/passive_gate.dm
index 92fc4c98e85..16a393e4503 100644
--- a/code/modules/atmospherics/components/binary_devices/passive_gate.dm
+++ b/code/modules/atmospherics/components/binary_devices/passive_gate.dm
@@ -261,7 +261,7 @@
"\The [user] unfastens \the [src].", \
"You have unfastened \the [src].", \
"You hear ratchet.")
- new /obj/item/pipe(loc, make_from=src)
+ new /obj/item/pipe(loc, null, null, src)
qdel(src)
#undef REGULATE_NONE
diff --git a/code/modules/atmospherics/components/binary_devices/pump.dm b/code/modules/atmospherics/components/binary_devices/pump.dm
index 15e13564a73..914f9ea5c86 100644
--- a/code/modules/atmospherics/components/binary_devices/pump.dm
+++ b/code/modules/atmospherics/components/binary_devices/pump.dm
@@ -54,7 +54,7 @@ Thus, the two variables affect pump operation are set in New():
if(!allowed(user))
return
- show_splash_text(user, "toggled [use_power ? "off" : "on"]")
+ show_splash_text(user, "toggled [use_power ? "off" : "on"]", "You toggle \the [src] [use_power ? "off" : "on"].")
update_use_power(!use_power)
update_icon()
@@ -69,7 +69,7 @@ Thus, the two variables affect pump operation are set in New():
return
target_pressure = max_pressure_setting
- show_splash_text(user, "target pressure set to [target_pressure] kPa")
+ show_splash_text(user, "target pressure set to [target_pressure] kPa", "You set the target pressure to [target_pressure] kPa.")
/obj/machinery/atmospherics/binary/pump/on
icon_state = "map_on"
@@ -254,5 +254,5 @@ Thus, the two variables affect pump operation are set in New():
SPAN_NOTICE("\The [user] unfastens \the [src]."), \
SPAN_NOTICE("You have unfastened \the [src]."), \
"You hear ratchet.")
- new /obj/item/pipe(loc, make_from=src)
+ new /obj/item/pipe(loc, null, null, src)
qdel(src)
diff --git a/code/modules/atmospherics/components/omni_devices/omni_base.dm b/code/modules/atmospherics/components/omni_devices/omni_base.dm
index 74143b9c171..e982276042c 100644
--- a/code/modules/atmospherics/components/omni_devices/omni_base.dm
+++ b/code/modules/atmospherics/components/omni_devices/omni_base.dm
@@ -86,7 +86,7 @@
"\The [user] unfastens \the [src].", \
"You have unfastened \the [src].", \
"You hear a ratchet.")
- var/obj/item/pipe/P = new(loc, make_from=src)
+ var/obj/item/pipe/P = new(loc, null, null, src)
if ((int_pressure - env_air.return_pressure()) > 2*ONE_ATMOSPHERE)
to_chat(user, "\the [src] flies off because of the overpressure in it!")
P.throw_at_random(0, round((int_pressure - env_air.return_pressure()) / 100), 30)
diff --git a/code/modules/atmospherics/components/portables_connector.dm b/code/modules/atmospherics/components/portables_connector.dm
index 5136ac01468..9dd04cbcac8 100644
--- a/code/modules/atmospherics/components/portables_connector.dm
+++ b/code/modules/atmospherics/components/portables_connector.dm
@@ -148,5 +148,5 @@
"\The [user] unfastens \the [src].", \
"You have unfastened \the [src].", \
"You hear a ratchet.")
- new /obj/item/pipe(loc, make_from=src)
+ new /obj/item/pipe(loc, null, null, src)
qdel(src)
diff --git a/code/modules/atmospherics/components/shutoff.dm b/code/modules/atmospherics/components/shutoff.dm
index 316c4d13392..1da8f46c938 100644
--- a/code/modules/atmospherics/components/shutoff.dm
+++ b/code/modules/atmospherics/components/shutoff.dm
@@ -12,9 +12,9 @@
/obj/machinery/atmospherics/valve/shutoff/on_update_icon()
icon_state = "vclamp[open]"
-/obj/machinery/atmospherics/valve/shutoff/_examine_text(mob/user)
+/obj/machinery/atmospherics/valve/shutoff/examine(mob/user, infix)
. = ..()
- . += "\nThe automatic shutoff circuit is [override_open ? "disabled" : "enabled"]."
+ . += "The automatic shutoff circuit is [override_open ? "disabled" : "enabled"]."
/obj/machinery/atmospherics/valve/shutoff/Initialize()
. = ..()
diff --git a/code/modules/atmospherics/components/trinary_devices/filter.dm b/code/modules/atmospherics/components/trinary_devices/filter.dm
index fe9c81b90e0..4e91bffe3e6 100644
--- a/code/modules/atmospherics/components/trinary_devices/filter.dm
+++ b/code/modules/atmospherics/components/trinary_devices/filter.dm
@@ -138,7 +138,7 @@
"\The [user] unfastens \the [src].", \
"You have unfastened \the [src].", \
"You hear a ratchet.")
- new /obj/item/pipe(loc, make_from=src)
+ new /obj/item/pipe(loc, null, null, src)
qdel(src)
diff --git a/code/modules/atmospherics/components/trinary_devices/mixer.dm b/code/modules/atmospherics/components/trinary_devices/mixer.dm
index efa496874f6..f56d0537036 100644
--- a/code/modules/atmospherics/components/trinary_devices/mixer.dm
+++ b/code/modules/atmospherics/components/trinary_devices/mixer.dm
@@ -113,7 +113,7 @@
"\The [user] unfastens \the [src].", \
"You have unfastened \the [src].", \
"You hear ratchet.")
- new /obj/item/pipe(loc, make_from=src)
+ new /obj/item/pipe(loc, null, null, src)
qdel(src)
/obj/machinery/atmospherics/trinary/mixer/attack_hand(user as mob)
diff --git a/code/modules/atmospherics/components/tvalve.dm b/code/modules/atmospherics/components/tvalve.dm
index 99ae6f16d59..0b5f1286316 100644
--- a/code/modules/atmospherics/components/tvalve.dm
+++ b/code/modules/atmospherics/components/tvalve.dm
@@ -359,7 +359,7 @@
"\The [user] unfastens \the [src].", \
"You have unfastened \the [src].", \
"You hear a ratchet.")
- new /obj/item/pipe(loc, make_from=src)
+ new /obj/item/pipe(loc, null, null, src)
qdel(src)
/obj/machinery/atmospherics/tvalve/mirrored
diff --git a/code/modules/atmospherics/components/unary/cold_sink.dm b/code/modules/atmospherics/components/unary/cold_sink.dm
index ebb72f66844..4733b4ea7f6 100644
--- a/code/modules/atmospherics/components/unary/cold_sink.dm
+++ b/code/modules/atmospherics/components/unary/cold_sink.dm
@@ -183,7 +183,8 @@
..()
-/obj/machinery/atmospherics/unary/freezer/_examine_text(mob/user)
+/obj/machinery/atmospherics/unary/freezer/examine(mob/user, infix)
. = ..()
+
if(panel_open)
- . += "\nThe maintenance hatch is open."
+ . += "The maintenance hatch is open."
diff --git a/code/modules/atmospherics/components/unary/heat_exchanger.dm b/code/modules/atmospherics/components/unary/heat_exchanger.dm
index d561ec765ec..4d0662f93c8 100644
--- a/code/modules/atmospherics/components/unary/heat_exchanger.dm
+++ b/code/modules/atmospherics/components/unary/heat_exchanger.dm
@@ -82,7 +82,7 @@
"\The [user] unfastens \the [src].", \
"You have unfastened \the [src].", \
"You hear a ratchet.")
- var/obj/item/pipe/P = new(loc, make_from=src)
+ var/obj/item/pipe/P = new(loc, null, null, src)
if ((int_air.return_pressure()-env_air.return_pressure()) > 2*ONE_ATMOSPHERE)
to_chat(user, "\the [src] flies off because of the overpressure in it!")
P.throw_at_random(0, round((int_air.return_pressure()-env_air.return_pressure()) / 100), 30)
diff --git a/code/modules/atmospherics/components/unary/heat_source.dm b/code/modules/atmospherics/components/unary/heat_source.dm
index 27cbf0ce16b..8c19c7717c1 100644
--- a/code/modules/atmospherics/components/unary/heat_source.dm
+++ b/code/modules/atmospherics/components/unary/heat_source.dm
@@ -171,7 +171,8 @@
..()
-/obj/machinery/atmospherics/unary/heater/_examine_text(mob/user)
+/obj/machinery/atmospherics/unary/heater/examine(mob/user, infix)
. = ..()
+
if(panel_open)
- . += "\nThe maintenance hatch is open."
+ . += "The maintenance hatch is open."
diff --git a/code/modules/atmospherics/components/unary/vent_pump.dm b/code/modules/atmospherics/components/unary/vent_pump.dm
index b589ec1e73d..b2ae1636d97 100644
--- a/code/modules/atmospherics/components/unary/vent_pump.dm
+++ b/code/modules/atmospherics/components/unary/vent_pump.dm
@@ -350,13 +350,11 @@
var/obj/item/weldingtool/WT = W
- if(!WT.isOn())
- to_chat(user, "The welding tool needs to be on to start this task.")
- return 1
+ if(!WT.use_tool(src, user, delay = 2 SECONDS, amount = 5))
+ return
- if(!WT.remove_fuel(0,user))
- to_chat(user, "You need more welding fuel to complete this task.")
- return 1
+ if(QDELETED(src) || !user)
+ return
if(broken)
playsound(src.loc, 'sound/items/Welder2.ogg', 50, 1)
@@ -364,13 +362,6 @@
SPAN_NOTICE("Now repairing \the [src]."), \
"You hear welding.")
- if(!do_after(user, 10, src))
- to_chat(user, SPAN_NOTICE("You must remain still to finish this task!"))
- return 1
- if(!WT.isOn())
- to_chat(user, SPAN_NOTICE("The welding tool needs to be on to finish this task."))
- return 1
-
switch(broken)
if(VENT_DAMAGED_STAGE_ONE)
broken=VENT_UNDAMAGED
@@ -386,18 +377,12 @@
return
to_chat(user, "Now welding \the [src].")
- playsound(src.loc, 'sound/items/Welder2.ogg', 50, 1)
- if(!do_after(user, 20, src))
- to_chat(user, "You must remain close to finish this task.")
- return 1
-
- if(!src)
- return 1
+ if(!W.use_tool(src, user, delay = 2 SECONDS, amount = 5))
+ return
- if(!WT.isOn())
- to_chat(user, "The welding tool needs to be on to finish this task.")
- return 1
+ if(QDELETED(src) || !user)
+ return
welded = !welded
update_icon()
@@ -409,24 +394,27 @@
else
..()
-/obj/machinery/atmospherics/unary/vent_pump/_examine_text(mob/user)
+/obj/machinery/atmospherics/unary/vent_pump/examine(mob/user, infix)
. = ..()
+
if(get_dist(src, user) <= 1)
- . += "\nA small gauge in the corner reads [round(last_flow_rate, 0.1)] L/s; [round(last_power_draw)] W"
+ . += "A small gauge in the corner reads [round(last_flow_rate, 0.1)] L/s; [round(last_power_draw)] W"
else
- . += "\nYou are too far away to read the gauge."
+ . += "You are too far away to read the gauge."
+
if(welded)
- . += "\nIt seems welded shut."
+ . += "It seems welded shut."
+
if(broken)
switch(broken)
if(VENT_DAMAGED_STAGE_ONE)
- . += "\nIt seems slightly damaged."
+ . += "It seems slightly damaged."
if(VENT_DAMAGED_STAGE_TWO)
- . += "\nIt seems pretty damaged."
+ . += "It seems pretty damaged."
if(VENT_DAMAGED_STAGE_THREE)
- . += "\nIt seems heavily damaged."
+ . += "It seems heavily damaged."
if(VENT_BROKEN)
- . += "\nIt seems absolutely destroyed."
+ . += "It seems absolutely destroyed."
/obj/machinery/atmospherics/unary/vent_pump/attackby(obj/item/W as obj, mob/user as mob)
if(!isWrench(W))
@@ -447,7 +435,7 @@
"\The [user] unfastens \the [src].", \
"You have unfastened \the [src].", \
"You hear a ratchet.")
- var/obj/item/pipe/P = new(loc, make_from=src)
+ var/obj/item/pipe/P = new(loc, null, null, src)
if ((int_air.return_pressure()-env_air.return_pressure()) > 2*ONE_ATMOSPHERE)
to_chat(user, "\the [src] flies off because of the overpressure in it!")
P.throw_at_random(0, round((int_air.return_pressure()-env_air.return_pressure()) / 100), 30)
diff --git a/code/modules/atmospherics/components/unary/vent_scrubber.dm b/code/modules/atmospherics/components/unary/vent_scrubber.dm
index 8bd8972da3d..2f2a0795aaf 100644
--- a/code/modules/atmospherics/components/unary/vent_scrubber.dm
+++ b/code/modules/atmospherics/components/unary/vent_scrubber.dm
@@ -292,7 +292,7 @@
"\The [user] unfastens \the [src].", \
"You have unfastened \the [src].", \
"You hear a ratchet.")
- var/obj/item/pipe/P = new(loc, make_from=src)
+ var/obj/item/pipe/P = new(loc, null, null, src)
if ((int_air.return_pressure()-env_air.return_pressure()) > 2*ONE_ATMOSPHERE)
to_chat(user, "\the [src] flies off because of the overpressure in it!")
P.throw_at_random(0, round((int_air.return_pressure()-env_air.return_pressure()) / 100), 30)
@@ -303,27 +303,17 @@
var/obj/item/weldingtool/WT = W
- if(!WT.isOn())
- to_chat(user, "The welding tool needs to be on to start this task.")
- return 1
+ if(broken)
+ if(!WT.use_tool(src, user, delay = 2 SECONDS, amount = 5))
+ return
- if(!WT.remove_fuel(0,user))
- to_chat(user, "You need more welding fuel to complete this task.")
- return 1
+ if(QDELETED(src) || !user)
+ return
- if(broken)
- playsound(src.loc, 'sound/items/Welder2.ogg', 50, 1)
user.visible_message(SPAN_NOTICE("\The [user] repairing \the [src]."), \
SPAN_NOTICE("Now repairing \the [src]."), \
"You hear welding.")
- if(!do_after(user, 10, src))
- to_chat(user, SPAN_NOTICE("You must remain still to finish this task!"))
- return 1
- if(!WT.isOn())
- to_chat(user, SPAN_NOTICE("The welding tool needs to be on to finish this task."))
- return 1
-
switch(broken)
if(VENT_DAMAGED_STAGE_ONE)
broken=VENT_UNDAMAGED
@@ -333,49 +323,45 @@
broken=VENT_DAMAGED_STAGE_TWO
if(VENT_BROKEN)
to_chat(user, SPAN_NOTICE("\The [src] is ruined! You can't repair it!"))
- return 1
+ return
update_icon()
return
- to_chat(user, "Now welding \the [src].")
- playsound(src.loc, 'sound/items/Welder2.ogg', 50, 1)
-
- if(!do_after(user, 20, src))
- to_chat(user, "You must remain close to finish this task.")
- return 1
-
- if(!src)
- return 1
+ else
+ if(!WT.use_tool(src, user, delay = 2 SECONDS, amount = 5))
+ return
- if(!WT.isOn())
- to_chat(user, "The welding tool needs to be on to finish this task.")
- return 1
+ if(QDELETED(src) || !user)
+ return
- welded = !welded
- update_icon()
- user.visible_message("\The [user] [welded ? "welds \the [src] shut" : "unwelds \the [src]"].", \
- "You [welded ? "weld \the [src] shut" : "unweld \the [src]"].", \
- "You hear welding.")
- return 1
+ welded = !welded
+ update_icon()
+ user.visible_message("\The [user] [welded ? "welds \the [src] shut" : "unwelds \the [src]"].", \
+ "You [welded ? "weld \the [src] shut" : "unweld \the [src]"].", \
+ "You hear welding.")
+ return
return ..()
-/obj/machinery/atmospherics/unary/vent_scrubber/_examine_text(mob/user)
+/obj/machinery/atmospherics/unary/vent_scrubber/examine(mob/user, infix)
. = ..()
+
if(get_dist(src, user) <= 1)
- . += "\nA small gauge in the corner reads [round(last_flow_rate, 0.1)] L/s; [round(last_power_draw)] W"
+ . += "A small gauge in the corner reads [round(last_flow_rate, 0.1)] L/s; [round(last_power_draw)] W"
else
- . += "\nYou are too far away to read the gauge."
+ . += "You are too far away to read the gauge."
+
if(welded)
- . += "\nIt seems welded shut."
+ . += "It seems welded shut."
+
if(broken)
switch(broken)
if(VENT_DAMAGED_STAGE_ONE)
- . += "\nIt seems slightly damaged."
+ . += "It seems slightly damaged."
if(VENT_DAMAGED_STAGE_TWO)
- . += "\nIt seems pretty damaged."
+ . += "It seems pretty damaged."
if(VENT_DAMAGED_STAGE_THREE)
- . += "\nIt seems heavily damaged."
+ . += "It seems heavily damaged."
if(VENT_BROKEN)
- . += "\nIt seems absolutely destroyed."
+ . += "It seems absolutely destroyed."
diff --git a/code/modules/atmospherics/components/valve.dm b/code/modules/atmospherics/components/valve.dm
index 839df7983f3..7437668e98a 100644
--- a/code/modules/atmospherics/components/valve.dm
+++ b/code/modules/atmospherics/components/valve.dm
@@ -292,12 +292,12 @@
"\The [user] unfastens \the [src].", \
"You have unfastened \the [src].", \
"You hear a ratchet.")
- var/obj/item/pipe/P = new(loc, make_from=src)
+ var/obj/item/pipe/P = new(loc, null, null, src)
if ((int_air.return_pressure()-env_air.return_pressure()) > 2*ONE_ATMOSPHERE)
to_chat(user, "\the [src] flies off because of the overpressure in it!")
P.throw_at_random(0, round((int_air.return_pressure()-env_air.return_pressure()) / 100), 30)
qdel(src)
-/obj/machinery/atmospherics/valve/_examine_text(mob/user)
+/obj/machinery/atmospherics/valve/examine(mob/user, infix)
. = ..()
- . += "\nIt is [open ? "open" : "closed"]."
+ . += "It is [open ? "open" : "closed"]."
diff --git a/code/modules/atmospherics/pipes.dm b/code/modules/atmospherics/pipes.dm
index 007c7c75add..37364c4fa48 100644
--- a/code/modules/atmospherics/pipes.dm
+++ b/code/modules/atmospherics/pipes.dm
@@ -123,7 +123,7 @@
"\The [user] unfastens \the [src].", \
"You have unfastened \the [src].", \
"You hear a ratchet.")
- var/obj/item/pipe/P = new(loc, make_from=src)
+ var/obj/item/pipe/P = new(loc, null, null, src)
if ((int_air.return_pressure()-env_air.return_pressure()) > 2*ONE_ATMOSPHERE)
to_chat(user, "\the [src] flies off because of the overpressure in it!")
P.throw_at_random(0, round((int_air.return_pressure()-env_air.return_pressure()) / 100), 30)
@@ -293,7 +293,7 @@
if(!node1 && !node2)
var/turf/T = get_turf(src)
- new /obj/item/pipe(loc, make_from=src)
+ new /obj/item/pipe(loc, null, null, src)
for (var/obj/machinery/meter/meter in T)
if (meter.target == src)
new /obj/item/pipe_meter(T)
@@ -546,7 +546,7 @@
if(!node1 && !node2 && !node3)
var/turf/T = get_turf(src)
- new /obj/item/pipe(loc, make_from=src)
+ new /obj/item/pipe(loc, null, null, src)
for (var/obj/machinery/meter/meter in T)
if (meter.target == src)
new /obj/item/pipe_meter(T)
@@ -805,7 +805,7 @@
if(!node1 && !node2 && !node3 && !node4)
var/turf/T = get_turf(src)
- new /obj/item/pipe(loc, make_from=src)
+ new /obj/item/pipe(loc, null, null, src)
for (var/obj/machinery/meter/meter in T)
if (meter.target == src)
new /obj/item/pipe_meter(T)
diff --git a/code/modules/client/client_defines.dm b/code/modules/client/client_defines.dm
index e1e9a07dc7c..88b3e14a098 100644
--- a/code/modules/client/client_defines.dm
+++ b/code/modules/client/client_defines.dm
@@ -45,9 +45,6 @@
var/datum/eams_info/eams_info = new
var/list/topiclimiter
- // comment out the line below when debugging locally to enable the options & messages menu
- // control_freak = 1
-
// * Database related things *
// So admins know why it isn't working - Used to determine how old the account is - in days.
@@ -65,11 +62,27 @@
// For tracking shift key (world.time)
var/shift_released_at = 0
+ /// Currently viewed stat tab.
+ var/stat_tab
+
+ /// List of all stat panel tabs.
+ var/list/panel_tabs = list()
+ /// List of stat panel tabs containing spells and abilities.
+ var/list/spell_tabs = list()
+
+ /// Stat panel window.
+ var/datum/tgui_window/stat_panel
+ /// Stores info about and handles behavior for the object tab.
+ var/datum/object_window_info/obj_window
+
/// Settings window.
var/datum/player_settings/settings = null
/// Messages currently seen by this client
var/list/seen_messages
+ /// List of atom refs that were recently examined via `run_examinare` proc.
+ var/list/recent_examines
+
/// Whether typing indicators are enabled
var/typing_indicators
diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm
index 1147321b380..761400e50ea 100644
--- a/code/modules/client/client_procs.dm
+++ b/code/modules/client/client_procs.dm
@@ -72,7 +72,7 @@
to_chat(src, SPAN("danger", "[msg]"))
return
- if(config.general.second_topic_limit)
+ if(config.general.second_topic_limit && href_list["window_id"] != "statbrowser")
var/second = round(world.time, 10)
if(!topiclimiter)
topiclimiter = new(LIMITER_SIZE)
@@ -91,6 +91,9 @@
if(tgui_Topic(href_list))
return
+ if(href_list["reload_statbrowser"])
+ stat_panel.reinitialize()
+
// ask BYOND client to stop spamming us with assert arrival confirmations (see byond bug ID:2256651)
if(asset_cache_job && (asset_cache_job in completed_asset_jobs))
to_chat(src, SPAN("danger", "An error has been detected in how your client is receiving resources. Attempting to correct... (If you keep seeing these messages you might want to close byond and reconnect)"))
@@ -177,6 +180,10 @@
GLOB.clients += src
GLOB.ckey_directory[ckey] = src
+ // Instantiate tgui stat panel
+ stat_panel = new(src, "statbrowser")
+ stat_panel.subscribe(src, nameof(.proc/on_stat_panel_message))
+
// Instantiate tgui panel
tgui_panel = new(src)
@@ -185,7 +192,7 @@
if(admin_datum)
if(admin_datum in GLOB.deadmined_list)
deadmin_holder = admin_datum
- verbs |= /client/proc/readmin_self
+ grant_verb(src, /client/proc/readmin_self)
else
holder = admin_datum
GLOB.admins += src
@@ -255,6 +262,13 @@
settings = new(src)
+ stat_panel.initialize(
+ inline_html = file("html/statbrowser/statbrowser.html"),
+ inline_css = file("html/statbrowser/statbrowser.css"),
+ inline_js = file("html/statbrowser/statbrowser.js")
+ )
+ add_think_ctx("check_panel_loaded", CALLBACK(src, nameof(.proc/check_panel_loaded)), world.time + 30 SECONDS)
+
if(config.general.player_limit && is_player_rejected_by_player_limit(usr, ckey))
if(config.multiaccount.panic_server_address && TopicData != "redirect")
DIRECT_OUTPUT(src, SPAN("warning", "This server is currently full and not accepting new connections. Sending you to [config.multiaccount.panic_server_name ? config.multiaccount.panic_server_name : config.multiaccount.panic_server_address]
"))
@@ -268,9 +282,6 @@
qdel(src)
return
-/* if(holder)
- src.control_freak = 0 // Devs need 0 for profiler access
-*/
//////////////
//DISCONNECT//
//////////////
@@ -377,19 +388,6 @@
var/seconds = inactivity/10
return "[round(seconds / 60)] minute\s, [seconds % 60] second\s"
-// Byond seemingly calls stat, each tick.
-// Calling things each tick can get expensive real quick.
-// So we slow this down a little.
-// See: http://www.byond.com/docs/ref/info.html#/client/proc/Stat
-/client/Stat()
- if(!usr)
- return
- // Add always-visible stat panel calls here, to define a consistent display order.
- statpanel("Status")
-
- . = ..()
- stoplag(1)
-
// send resources to the client. It's here in its own proc so we can move it around easiliy if need be
/client/proc/send_resources()
@@ -464,67 +462,122 @@
if(prefs)
prefs.open_setup_window(usr)
+/client/proc/check_panel_loaded()
+ if(stat_panel.is_ready())
+ return
+
+ to_chat(src, SPAN_DANGER(FONT_HUGE("Statpanel failed to load, click here to reload the panel.")))
+
+/// Compiles a full list of verbs and sends it to the stat panel browser.
+/client/proc/init_verbs()
+ var/list/verblist = list()
+ var/list/verbstoprocess = verbs.Copy()
+
+ if(mob)
+ verbstoprocess += mob.verbs
+ for(var/atom/movable/thing as anything in mob.contents)
+ verbstoprocess += thing.verbs
+
+ panel_tabs.Cut() // panel_tabs get reset in init_verbs on JS side anyway
+
+ for(var/procpath/verb_to_init as anything in verbstoprocess)
+ if(!verb_to_init)
+ continue
+ if(verb_to_init.hidden)
+ continue
+ if(!istext(verb_to_init.category))
+ continue
+ panel_tabs |= verb_to_init.category
+ verblist[++verblist.len] = list(verb_to_init.category, verb_to_init.name)
+
+ stat_panel.send_message("init_verbs", list(panel_tabs = panel_tabs, verblist = verblist))
+
+/**
+ * Handles incoming messages from the stat-panel TGUI.
+ */
+/client/proc/on_stat_panel_message(type, list/payload, list/href_list)
+ switch(type)
+ if("Update-Verbs")
+ init_verbs()
+ if("Remove-Tabs")
+ panel_tabs -= payload["tab"]
+ if("Send-Tabs")
+ panel_tabs |= payload["tab"]
+ if("Reset-Tabs")
+ panel_tabs = list()
+ if("Set-Tab")
+ stat_tab = payload["tab"]
+ SSstatpanels.immediate_send_stat_data(src)
+
/client/proc/apply_fps(client_fps)
if(world.byond_version >= 511 && byond_version >= 511 && client_fps >= CLIENT_MIN_FPS && client_fps <= CLIENT_MAX_FPS)
fps = client_fps
-/client/proc/update_chat_position(use_alternative)
- var/input_height = 0
- var/mode = get_preference_value(/datum/client_preference/chat_position)
- var/currently_alternative = (winget(src, "input", "is-default") == "false") ? TRUE : FALSE
+#define VERTICAL_INPUT_MARGIN 9
+
+/**
+ * Manages `input` and `input_alt` visibility, due to skin limitations this proc is extreely
+ * snowflake, thus be sure to change `VERTICAL_INPUT_MARGIN` when moving it's elements
+ * inside `skin.dmf`.
+ *
+ * Known bugs:
+ * - Doesn't mount instantly due to user prefs loading.
+ * - Doesn't display typing indicator 'cause code copypasta is bad.
+ */
+/client/proc/update_chat_position(new_position)
+ var/alternate = winget(src, "input", "is-default") == "false"
- // Hell
- if(mode == GLOB.PREF_YES && !currently_alternative)
- input_height = winget(src, "input", "size")
- input_height = text2num(splittext(input_height, "x")[2])
+ if(!alternate && new_position == GLOB.PREF_LEGACY)
+ var/list/game_size = splittext(winget(src, "mainvsplit", "size"), "x")
+ var/list/input_size = splittext(winget(src, "input_alt", "size"), "x")
+
+ winset(src, "mainvsplit", "size=[game_size[1]]x[text2num(game_size[2]) - text2num(input_size[2]) - VERTICAL_INPUT_MARGIN]")
+
+ var/list/chat_size = splittext(winget(src, "outputwindow", "size"), "x")
+
+ winset(src, "browseroutput", "size=[chat_size[1]]x[chat_size[2]]")
+ winset(src, "output", "size=[chat_size[1]]x[chat_size[2]]")
winset(src, "input_alt", "is-visible=true;is-disabled=false;is-default=true")
- winset(src, "hotkey_toggle_alt", "is-visible=true;is-disabled=false;is-default=true")
winset(src, "saybutton_alt", "is-visible=true;is-disabled=false;is-default=true")
+ winset(src, "hotkey_toggle_alt", "is-visible=true;is-disabled=false;is-default=true")
winset(src, "input", "is-visible=false;is-disabled=true;is-default=false")
- winset(src, "hotkey_toggle", "is-visible=false;is-disabled=true;is-default=false")
winset(src, "saybutton", "is-visible=false;is-disabled=true;is-default=false")
+ winset(src, "hotkey_toggle", "is-visible=false;is-disabled=true;is-default=false")
+
+ else if(alternate && new_position == GLOB.PREF_MODERN)
+ var/list/game_size = splittext(winget(src, "mainvsplit", "size"), "x")
+ var/list/alt_input_size = splittext(winget(src, "input_alt", "size"), "x")
- var/current_size = splittext(winget(src, "outputwindow.output", "size"), "x")
- var/new_size = "[current_size[1]]x[text2num(current_size[2]) - input_height]"
- winset(src, "outputwindow.output", "size=[new_size]")
- winset(src, "outputwindow.browseroutput", "size=[new_size]")
+ winset(src, "mainvsplit", "size=[game_size[1]]x[text2num(game_size[2]) + text2num(alt_input_size[2]) + 9]")
- current_size = splittext(winget(src, "mainwindow.mainvsplit", "size"), "x")
- new_size = "[current_size[1]]x[text2num(current_size[2]) + input_height]"
- winset(src, "mainwindow.mainvsplit", "size=[new_size]")
- else if(mode == GLOB.PREF_NO && currently_alternative)
- input_height = winget(src, "input_alt", "size")
- input_height = text2num(splittext(input_height, "x")[2])
+ var/list/chat_size = splittext(winget(src, "outputwindow", "size"), "x")
+ var/list/input_size = splittext(winget(src, "input", "size"), "x")
+
+ var/output_height = text2num(chat_size[2]) - text2num(input_size[2]) - VERTICAL_INPUT_MARGIN
+
+ winset(src, "browseroutput", "size=[chat_size[1]]x[output_height]")
+ winset(src, "output", "size=[chat_size[1]]x[output_height]")
winset(src, "input_alt", "is-visible=false;is-disabled=true;is-default=false")
- winset(src, "hotkey_toggle_alt", "is-visible=false;is-disabled=true;is-default=false")
winset(src, "saybutton_alt", "is-visible=false;is-disabled=true;is-default=false")
+ winset(src, "hotkey_toggle_alt", "is-visible=false;is-disabled=true;is-default=false")
winset(src, "input", "is-visible=true;is-disabled=false;is-default=true")
- winset(src, "hotkey_toggle", "is-visible=true;is-disabled=false;is-default=true")
winset(src, "saybutton", "is-visible=true;is-disabled=false;is-default=true")
+ winset(src, "hotkey_toggle", "is-visible=true;is-disabled=false;is-default=true")
- var/current_size = splittext(winget(src, "outputwindow.output", "size"), "x")
- var/new_size = "[current_size[1]]x[text2num(current_size[2]) + input_height]"
- winset(src, "outputwindow.output", "size=[new_size]")
- winset(src, "outputwindow.browseroutput", "size=[new_size]")
-
- current_size = splittext(winget(src, "mainwindow.mainvsplit", "size"), "x")
- new_size = "[current_size[1]]x[text2num(current_size[2]) - input_height]"
- winset(src, "mainwindow.mainvsplit", "size=[new_size]")
+#undef VERTICAL_INPUT_MARGIN
/client/proc/toggle_fullscreen(new_value)
if((new_value == GLOB.PREF_BASIC) || (new_value == GLOB.PREF_FULL))
winset(src, "mainwindow", "is-maximized=false;can-resize=false;titlebar=false")
if(new_value == GLOB.PREF_FULL)
- winset(src, "mainwindow", "menu=null;statusbar=false")
- winset(src, "mainwindow.mainvsplit", "pos=0x0")
+ winset(src, "mainwindow", "menu=null;")
else
winset(src, "mainwindow", "is-maximized=false;can-resize=true;titlebar=true")
- winset(src, "mainwindow", "menu=menu;statusbar=true")
- winset(src, "mainwindow.mainvsplit", "pos=3x0")
+ winset(src, "mainwindow", "menu=menu;")
winset(src, "mainwindow", "is-maximized=true")
/client/verb/fit_viewport()
diff --git a/code/modules/client/preference_setup/general/02_language.dm b/code/modules/client/preference_setup/general/02_language.dm
index 4484d355cd6..48514714aba 100644
--- a/code/modules/client/preference_setup/general/02_language.dm
+++ b/code/modules/client/preference_setup/general/02_language.dm
@@ -71,7 +71,7 @@
var/datum/species/S = all_species[pref.species] || all_species[SPECIES_HUMAN]
if(lang.name in S.secondary_langs)
return TRUE
- if(!(lang.flags & RESTRICTED) && is_alien_whitelisted(user, lang))
+ if(!(lang.language_flags & RESTRICTED) && is_alien_whitelisted(user, lang))
return TRUE
return FALSE
diff --git a/code/modules/client/preference_setup/general/03_body.dm b/code/modules/client/preference_setup/general/03_body.dm
index 745e9655bf1..da6dea5a1ab 100644
--- a/code/modules/client/preference_setup/general/03_body.dm
+++ b/code/modules/client/preference_setup/general/03_body.dm
@@ -367,7 +367,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
else if(href_list["hair_color"])
if(!has_flag(mob_species, HAS_HAIR_COLOR))
return TOPIC_NOACTION
- var/new_hair = input(user, "Choose your character's hair color:", CHARACTER_PREFERENCE_INPUT_TITLE, rgb(pref.r_hair, pref.g_hair, pref.b_hair)) as color|null
+ var/new_hair = tgui_color_picker(user, "Choose your character's hair color:", CHARACTER_PREFERENCE_INPUT_TITLE, rgb(pref.r_hair, pref.g_hair, pref.b_hair))
if(new_hair && has_flag(all_species[pref.species], HAS_HAIR_COLOR) && CanUseTopic(user))
pref.r_hair = hex2num(copytext(new_hair, 2, 4))
pref.g_hair = hex2num(copytext(new_hair, 4, 6))
@@ -379,7 +379,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
return TOPIC_NOACTION
if(has_flag(mob_species, SECONDARY_HAIR_IS_SKIN))
return TOPIC_NOACTION
- var/new_hair = input(user, "Choose your character's secondary hair color:", CHARACTER_PREFERENCE_INPUT_TITLE, rgb(pref.r_s_hair, pref.g_s_hair, pref.b_s_hair)) as color|null
+ var/new_hair = tgui_color_picker(user, "Choose your character's secondary hair color:", CHARACTER_PREFERENCE_INPUT_TITLE, rgb(pref.r_s_hair, pref.g_s_hair, pref.b_s_hair))
if(new_hair && has_flag(all_species[pref.species], HAS_HAIR_COLOR) && CanUseTopic(user))
pref.r_s_hair = hex2num(copytext(new_hair, 2, 4))
pref.g_s_hair = hex2num(copytext(new_hair, 4, 6))
@@ -407,7 +407,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
else if(href_list["facial_color"])
if(!has_flag(mob_species, HAS_HAIR_COLOR))
return TOPIC_NOACTION
- var/new_facial = input(user, "Choose your character's facial-hair color:", CHARACTER_PREFERENCE_INPUT_TITLE, rgb(pref.r_facial, pref.g_facial, pref.b_facial)) as color|null
+ var/new_facial = tgui_color_picker(user, "Choose your character's facial-hair color:", CHARACTER_PREFERENCE_INPUT_TITLE, rgb(pref.r_facial, pref.g_facial, pref.b_facial))
if(new_facial && has_flag(all_species[pref.species], HAS_HAIR_COLOR) && CanUseTopic(user))
pref.r_facial = hex2num(copytext(new_facial, 2, 4))
pref.g_facial = hex2num(copytext(new_facial, 4, 6))
@@ -417,7 +417,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
else if(href_list["eye_color"])
if(!has_flag(mob_species, HAS_EYE_COLOR))
return TOPIC_NOACTION
- var/new_eyes = input(user, "Choose your character's eye color:", CHARACTER_PREFERENCE_INPUT_TITLE, rgb(pref.r_eyes, pref.g_eyes, pref.b_eyes)) as color|null
+ var/new_eyes = tgui_color_picker(user, "Choose your character's eye color:", CHARACTER_PREFERENCE_INPUT_TITLE, rgb(pref.r_eyes, pref.g_eyes, pref.b_eyes))
if(new_eyes && has_flag(all_species[pref.species], HAS_EYE_COLOR) && CanUseTopic(user))
pref.r_eyes = hex2num(copytext(new_eyes, 2, 4))
pref.g_eyes = hex2num(copytext(new_eyes, 4, 6))
@@ -441,7 +441,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
else if(href_list["skin_color"])
if(!has_flag(mob_species, HAS_SKIN_COLOR))
return TOPIC_NOACTION
- var/new_skin = input(user, "Choose your character's skin color: ", CHARACTER_PREFERENCE_INPUT_TITLE, rgb(pref.r_skin, pref.g_skin, pref.b_skin)) as color|null
+ var/new_skin = tgui_color_picker(user, "Choose your character's skin color: ", CHARACTER_PREFERENCE_INPUT_TITLE, rgb(pref.r_skin, pref.g_skin, pref.b_skin))
if(new_skin && has_flag(all_species[pref.species], HAS_SKIN_COLOR) && CanUseTopic(user))
pref.r_skin = hex2num(copytext(new_skin, 2, 4))
pref.g_skin = hex2num(copytext(new_skin, 4, 6))
@@ -498,7 +498,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
else if(href_list["marking_color"])
var/M = href_list["marking_color"]
- var/mark_color = input(user, "Choose the [M] color: ", CHARACTER_PREFERENCE_INPUT_TITLE, pref.body_markings[M]) as color|null
+ var/mark_color = tgui_color_picker(user, "Choose the [M] color: ", CHARACTER_PREFERENCE_INPUT_TITLE, pref.body_markings[M])
if(mark_color && CanUseTopic(user))
pref.body_markings[M] = "[mark_color]"
return TOPIC_REFRESH_UPDATE_PREVIEW
diff --git a/code/modules/client/preference_setup/global/01_ui.dm b/code/modules/client/preference_setup/global/01_ui.dm
index e93660bb44a..20c4b4dd638 100644
--- a/code/modules/client/preference_setup/global/01_ui.dm
+++ b/code/modules/client/preference_setup/global/01_ui.dm
@@ -26,9 +26,9 @@
/datum/category_item/player_setup_item/player_global/ui/sanitize_preferences()
pref.UI_style = sanitize_inlist(pref.UI_style, GLOB.all_ui_styles, initial(pref.UI_style))
- pref.UI_style_color = sanitize_hexcolor(pref.UI_style_color, initial(pref.UI_style_color))
+ pref.UI_style_color = sanitize_hexcolor(pref.UI_style_color, desired_format = 6, include_crunch = TRUE, default = initial(pref.UI_style_color))
pref.UI_style_alpha = sanitize_integer(pref.UI_style_alpha, 0, 255, initial(pref.UI_style_alpha))
- pref.ooccolor = sanitize_hexcolor(pref.ooccolor, initial(pref.ooccolor))
+ pref.ooccolor = sanitize_hexcolor(pref.ooccolor, desired_format = 6, include_crunch = TRUE, default = initial(pref.ooccolor))
pref.clientfps = sanitize_integer(pref.clientfps, CLIENT_MIN_FPS, CLIENT_MAX_FPS, initial(pref.clientfps))
/datum/category_item/player_setup_item/player_global/ui/content(mob/user)
@@ -53,7 +53,7 @@
return TOPIC_REFRESH
else if(href_list["select_color"])
- var/UI_style_color_new = input(user, "Choose UI color, dark colors are not recommended!", "Global Preference", pref.UI_style_color) as color|null
+ var/UI_style_color_new = tgui_color_picker(user, "Choose UI color, dark colors are not recommended!", "Global Preference", pref.UI_style_color)
if(isnull(UI_style_color_new) || !CanUseTopic(user)) return TOPIC_NOACTION
pref.UI_style_color = UI_style_color_new
return TOPIC_REFRESH
@@ -65,7 +65,7 @@
return TOPIC_REFRESH
else if(href_list["select_ooc_color"])
- var/new_ooccolor = input(user, "Choose OOC color:", "Global Preference") as color|null
+ var/new_ooccolor = tgui_color_picker(user, "Choose OOC color:", "Global Preference")
if(new_ooccolor && can_select_ooc_color(user) && CanUseTopic(user))
pref.ooccolor = new_ooccolor
return TOPIC_REFRESH
diff --git a/code/modules/client/preference_setup/global/preferences.dm b/code/modules/client/preference_setup/global/preferences.dm
index feab9fae5fd..314c71cda69 100644
--- a/code/modules/client/preference_setup/global/preferences.dm
+++ b/code/modules/client/preference_setup/global/preferences.dm
@@ -10,6 +10,17 @@ GLOBAL_VAR_CONST(PREF_SHOW, "Show")
GLOBAL_VAR_CONST(PREF_HIDE, "Hide")
GLOBAL_VAR_CONST(PREF_FANCY, "Fancy")
GLOBAL_VAR_CONST(PREF_PLAIN, "Plain")
+GLOBAL_VAR_CONST(PREF_STRETCH, "Stretch to Fit")
+GLOBAL_VAR_CONST(PREF_X1, "x1")
+GLOBAL_VAR_CONST(PREF_X15, "x1.5")
+GLOBAL_VAR_CONST(PREF_X2, "x2")
+GLOBAL_VAR_CONST(PREF_X25, "x2.5")
+GLOBAL_VAR_CONST(PREF_X3, "x3")
+GLOBAL_VAR_CONST(PREF_NORMAL, "Normal")
+GLOBAL_VAR_CONST(PREF_DISTORT, "Distort")
+GLOBAL_VAR_CONST(PREF_BLUR, "Blur")
+GLOBAL_VAR_CONST(PREF_MODERN, "Modern")
+GLOBAL_VAR_CONST(PREF_LEGACY, "Legacy")
GLOBAL_VAR_CONST(PREF_PRIMARY, "Primary")
GLOBAL_VAR_CONST(PREF_ALL, "All")
GLOBAL_VAR_CONST(PREF_OFF, "Off")
@@ -34,6 +45,9 @@ GLOBAL_VAR_CONST(PREF_DARKNESS_VISIBLE, "Fully visible")
GLOBAL_VAR_CONST(PREF_DARKNESS_MOSTLY_VISIBLE, "Mostly visible")
GLOBAL_VAR_CONST(PREF_DARKNESS_BARELY_VISIBLE, "Barely visible")
GLOBAL_VAR_CONST(PREF_DARKNESS_INVISIBLE, "Invisible")
+GLOBAL_VAR_CONST(PREF_SPLASH_MAPTEXT, "Maptext only")
+GLOBAL_VAR_CONST(PREF_SPLASH_CHAT, "Chat only")
+GLOBAL_VAR_CONST(PREF_SPLASH_BOTH, "Maptext and chat")
var/global/list/_client_preferences
var/global/list/_client_preferences_by_key
@@ -115,8 +129,8 @@ var/global/list/_client_preferences_by_type
/datum/client_preference/splashes
description = "Show Splashes (Runechat-Like-Popups)"
key = "CHAT_SPLASHES"
- default_value = GLOB.PREF_YES
- options = list(GLOB.PREF_YES, GLOB.PREF_NO)
+ default_value = GLOB.PREF_SPLASH_BOTH
+ options = list(GLOB.PREF_SPLASH_BOTH, GLOB.PREF_SPLASH_MAPTEXT, GLOB.PREF_SPLASH_CHAT)
/datum/client_preference/play_admin_midis
description ="Play admin midis"
@@ -305,6 +319,40 @@ var/global/list/_client_preferences_by_type
var/atom/movable/renderer/R = preference_mob.renderers[GAME_RENDERER]
R.GraphicsUpdate()
+/datum/client_preference/graphics_quality
+ description = "Graphics Quality (quality of effects)"
+ key = "GRAPHICS_QUALITY"
+ options = list(GLOB.PREF_LOW, GLOB.PREF_MED, GLOB.PREF_HIGH)
+ category = PREF_CATEGORY_GRAPHICS
+ default_value = GLOB.PREF_HIGH
+
+/datum/client_preference/graphics_quality/changed(mob/preference_mob, new_value)
+ if(isnull(preference_mob.client))
+ return
+
+ var/atom/movable/renderer/R = preference_mob.renderers[TEMPERATURE_EFFECT_RENDERER]
+ R.GraphicsUpdate()
+
+/datum/client_preference/pixel_size
+ description = "Pixel Size"
+ key = "PIXEL_SIZE"
+ category = PREF_CATEGORY_GRAPHICS
+ options = list(GLOB.PREF_STRETCH, GLOB.PREF_X1, GLOB.PREF_X15, GLOB.PREF_X2, GLOB.PREF_X25, GLOB.PREF_X3)
+ default_value = GLOB.PREF_STRETCH
+
+/datum/client_preference/pixel_size/changed(mob/preference_mob, new_value)
+ winset(preference_mob, "mapwindow.map", "zoom=[zoom_pref2value(new_value)]")
+
+/datum/client_preference/scaling_method
+ description = "Scaling Method"
+ key = "SCALING_METHOD"
+ category = PREF_CATEGORY_GRAPHICS
+ options = list(GLOB.PREF_NORMAL, GLOB.PREF_DISTORT, GLOB.PREF_BLUR)
+ default_value = GLOB.PREF_NORMAL
+
+/datum/client_preference/scaling_method/changed(mob/preference_mob, new_value)
+ winset(preference_mob, "mapwindow.map", "zoom-mode=[lowertext(new_value)]")
+
/datum/client_preference/fullscreen_mode
description = "Fullscreen Mode"
key = "FULLSCREEN"
@@ -316,15 +364,24 @@ var/global/list/_client_preferences_by_type
if(preference_mob.client)
preference_mob.client.toggle_fullscreen(new_value)
-/datum/client_preference/chat_position
- description = "Use Alternative Chat Position"
- key = "CHAT_ALT"
+/datum/client_preference/statusbar
+ description = "Show Statusbar"
+ key = "STATUSBAR"
category = PREF_CATEGORY_UI
- options = list(GLOB.PREF_NO, GLOB.PREF_YES)
+ options = list(GLOB.PREF_YES, GLOB.PREF_NO)
-/datum/client_preference/chat_position/changed(mob/preference_mob, new_value)
- if(preference_mob.client)
- preference_mob.client.update_chat_position()
+/datum/client_preference/statusbar/changed(mob/preference_mob, new_value)
+ winset(preference_mob, "statusbar", "is-visible=[new_value == GLOB.PREF_YES]")
+
+/datum/client_preference/legacy_input
+ description = "Oldschool™ Input Position"
+ key = "INPUT_POSITION"
+ category = PREF_CATEGORY_UI
+ options = list(GLOB.PREF_MODERN, GLOB.PREF_LEGACY)
+ default_value = GLOB.PREF_MODERN
+
+/datum/client_preference/legacy_input/changed(mob/preference_mob, new_value)
+ preference_mob?.client?.update_chat_position(new_value)
/datum/client_preference/cinema_credits
description = "Show Cinema-like Credits At Round-end"
@@ -486,3 +543,17 @@ var/global/list/_client_preferences_by_type
key = "SOUND_PRAY"
category = PREF_CATEGORY_STAFF
flags = R_PERMISSIONS
+
+/datum/client_preference/staff/fast_mc_refresh
+ description = "Fast MC Refresh"
+ key = "FAST_REFRESH"
+ category = PREF_CATEGORY_STAFF
+ default_value = GLOB.PREF_NO
+ flags = R_DEBUG
+
+/datum/client_preference/staff/split_admin_tabs
+ description = "Split Admin Tabs"
+ key = "SPLIT_TABS"
+ category = PREF_CATEGORY_STAFF
+ default_value = GLOB.PREF_NO
+ flags = R_PERMISSIONS
diff --git a/code/modules/client/preference_setup/loadout/gear_tweaks.dm b/code/modules/client/preference_setup/loadout/gear_tweaks.dm
index 7230349162f..1ddadf7f32f 100644
--- a/code/modules/client/preference_setup/loadout/gear_tweaks.dm
+++ b/code/modules/client/preference_setup/loadout/gear_tweaks.dm
@@ -58,7 +58,7 @@
/datum/gear_tweak/color/get_metadata(user, metadata, title = CHARACTER_PREFERENCE_INPUT_TITLE)
if(valid_colors)
return input(user, "Choose a color.", title, metadata) as null|anything in valid_colors
- return input(user, "Choose a color.", title, metadata) as color|null
+ return tgui_color_picker(user, "Choose a color.", title, metadata)
/datum/gear_tweak/color/tweak_item(obj/item/I, metadata)
if(valid_colors && !(metadata in valid_colors))
diff --git a/code/modules/client/preference_setup/loadout/lists/accessories.dm b/code/modules/client/preference_setup/loadout/lists/accessories.dm
index 43fe2997cae..2d9c8bbb479 100644
--- a/code/modules/client/preference_setup/loadout/lists/accessories.dm
+++ b/code/modules/client/preference_setup/loadout/lists/accessories.dm
@@ -131,3 +131,18 @@
dogtag.stored_name = H.real_name
dogtag.religion = H.religion
dogtag.stored_blood_type = H.b_type
+
+/datum/gear/accessory/pin
+ display_name = "pin selection"
+ description = "A Nanotrasen holographic pin to show off your loyalty to the company, reminding the crew of your unwavering commitment to whatever NanoTrasen's up to!"
+ path = /obj/item/clothing/accessory/pin
+
+/datum/gear/accessory/pin/New()
+ ..()
+ var/pinies = list()
+ pinies["NanoTrasen pin"] = /obj/item/clothing/accessory/pin
+ pinies["pig pin"] = /obj/item/clothing/accessory/pin/pig
+ pinies["skull pin"] = /obj/item/clothing/accessory/pin/skull
+ pinies["rainbow pin"] = /obj/item/clothing/accessory/pin/pride
+
+ gear_tweaks += new /datum/gear_tweak/path(pinies)
diff --git a/code/modules/client/preference_setup/loadout/lists/uniforms.dm b/code/modules/client/preference_setup/loadout/lists/uniforms.dm
index 09da7be8d41..5116a9b2b94 100644
--- a/code/modules/client/preference_setup/loadout/lists/uniforms.dm
+++ b/code/modules/client/preference_setup/loadout/lists/uniforms.dm
@@ -74,16 +74,30 @@
path = /obj/item/clothing/under/skirt
flags = GEAR_HAS_TYPE_SELECTION
-/datum/gear/uniform/skirt_c
- display_name = "short skirt, colour select"
- path = /obj/item/clothing/under/skirt_c
- flags = GEAR_HAS_COLOR_SELECTION
-
/datum/gear/uniform/skirt_c/dress
display_name = "simple dress, colour select"
path = /obj/item/clothing/under/skirt_c/dress
flags = GEAR_HAS_COLOR_SELECTION
+/datum/gear/uniform/skirts_color
+ display_name = "skirt selection, colour select"
+ path = /obj/item/clothing/under/skirt_c
+ flags = GEAR_HAS_COLOR_SELECTION
+
+/datum/gear/uniform/skirts_color/New()
+ ..()
+ var/skirts_colorable = list()
+ skirts_colorable += /obj/item/clothing/under/skirt_c
+ skirts_colorable += /obj/item/clothing/under/skirt_c/pencil
+ skirts_colorable += /obj/item/clothing/under/skirt_c/casual
+ skirts_colorable += /obj/item/clothing/under/skirt_c/high
+ skirts_colorable += /obj/item/clothing/under/skirt_c/long
+ skirts_colorable += /obj/item/clothing/under/skirt_c/swept
+ skirts_colorable += /obj/item/clothing/under/skirt_c/plaid
+ skirts_colorable += /obj/item/clothing/under/skirt_c/skater
+ skirts_colorable += /obj/item/clothing/under/skirt_c/tube
+ gear_tweaks += new /datum/gear_tweak/path/specified_types_list(skirts_colorable)
+
/datum/gear/uniform/casual_pants
display_name = "casual pants selection"
path = /obj/item/clothing/under/casual_pants
diff --git a/code/modules/client/preference_setup/matchmaking/matchmaking.dm b/code/modules/client/preference_setup/matchmaking/matchmaking.dm
index 070fdd3afbe..54747fd3cec 100644
--- a/code/modules/client/preference_setup/matchmaking/matchmaking.dm
+++ b/code/modules/client/preference_setup/matchmaking/matchmaking.dm
@@ -17,7 +17,7 @@ var/global/datum/matchmaker/matchmaker = new()
/datum/matchmaker/proc/do_matchmaking()
var/list/to_warn = list()
for(var/datum/relation/R in relations)
- if(!R.holder.current || R.holder.current.isSynthetic())
+ if(!R.holder.current || issilicon(R.holder.current))
continue
if(!R.other)
R.find_match()
@@ -73,7 +73,7 @@ var/global/datum/matchmaker/matchmaker = new()
if(!M.current) //no extremely platonic relationships
return FALSE
- if(M.current.isSynthetic()) // No relationships with robots
+ if(issilicon(M.current)) // No relationships with robots
return FALSE
return TRUE
diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm
index f596e4f3c3f..95116f058d5 100644
--- a/code/modules/client/preferences.dm
+++ b/code/modules/client/preferences.dm
@@ -391,7 +391,7 @@ datum/preferences/proc/clear_character_previews()
var/metadata = all_underwear_metadata[underwear_category_name]
var/obj/item/underwear/UW = UWD.create_underwear(metadata)
if(UW)
- UW.ForceEquipUnderwear(character, FALSE)
+ UW.ForceEquipUnderwear(character, null, FALSE)
else
all_underwear -= underwear_category_name
@@ -415,6 +415,7 @@ datum/preferences/proc/clear_character_previews()
character.update_body(0)
character.update_underwear(0)
character.update_hair(0)
+ character.update_facial_hair(0)
character.update_deformities(0)
character.update_icons()
@@ -474,7 +475,14 @@ datum/preferences/proc/clear_character_previews()
ASSERT(client)
client.apply_fps(clientfps)
- client.update_chat_position(client.get_preference_value(/datum/client_preference/chat_position))
+
+ client.update_chat_position(client.get_preference_value("INPUT_POSITION"))
+
+ var/zoom = client.get_preference_value("PIXEL_SIZE")
+ winset(client, "mapwindow.map", "zoom=[zoom_pref2value(zoom)]")
+
+ var/zoom_mode = client.get_preference_value("SCALING_METHOD")
+ winset(client, "mapwindow.map", "zoom-mode=[lowertext(zoom_mode)]")
if(client.get_preference_value(/datum/client_preference/fullscreen_mode) != GLOB.PREF_NO)
client.toggle_fullscreen(client.get_preference_value(/datum/client_preference/fullscreen_mode))
@@ -484,3 +492,6 @@ datum/preferences/proc/clear_character_previews()
winset(client, "browseroutput", "is-disabled=1;is-visible=0")
else
client.tgui_panel.initialize()
+
+ if(client.get_preference_value("STATUSBAR") != GLOB.PREF_YES)
+ winset(client, "statusbar", "is-visible=0")
diff --git a/code/modules/client/preferences_toggle.dm b/code/modules/client/preferences_toggle.dm
deleted file mode 100644
index 76661db271d..00000000000
--- a/code/modules/client/preferences_toggle.dm
+++ /dev/null
@@ -1,63 +0,0 @@
-var/list/client_preference_stats_
-
-/proc/client_preference_stats_for_usr(mob/user = usr)
- . = list()
- if(!user)
- return
- if(!SScharacter_setup.initialized)
- return
- if(!client_preference_stats_)
- client_preference_stats_ = list()
- for(var/datum/client_preference/client_pref in get_client_preferences())
- client_preference_stats_[client_pref.description] = new /stat_client_preference(null, client_pref)
-
- for(var/client_pref_description in client_preference_stats_)
- var/stat_client_preference/scp = client_preference_stats_[client_pref_description]
- if(scp.client_preference.may_set(user.client))
- scp.update_name(user)
- .[client_pref_description] = scp
-
-/client/verb/toggle_preference_verb(client_pref_name in client_preference_stats_for_usr())
- set name = "Toggle Preference"
- set desc = "Toggles the selected preference."
- set category = "OOC"
-
- var/list/client_stats = client_preference_stats_for_usr()
- var/stat_client_preference/scp = client_stats[client_pref_name]
- if(istype(scp))
- scp.Click()
-
-/mob/Stat()
- . = ..()
- if(!client || !statpanel("Preferences"))
- return
- var/list/preferences = client_preference_stats_for_usr(src)
- for(var/client_preference_description in preferences)
- var/stat_client_preference/scp = client_preference_stats_[client_preference_description]
- stat(scp.client_preference.description, scp)
-
-/stat_client_preference
- parent_type = /atom/movable
- simulated = 0
- var/datum/client_preference/client_preference
-
-/stat_client_preference/New(loc, preference)
- client_preference = preference
- update_name(usr)
- ..()
-
-/stat_client_preference/Destroy()
- client_preference = null
- . = ..()
-
-/stat_client_preference/Click()
- if(!usr.client)
- return
- if(!usr.cycle_preference(client_preference))
- return
-
- SScharacter_setup.queue_preferences_save(usr.client.prefs)
- to_chat(usr, "[client_preference.description]: [usr.get_preference_value(client_preference)]")
-
-/stat_client_preference/proc/update_name(mob/user)
- name = user.get_preference_value(client_preference)
diff --git a/code/modules/clothing/chameleon.dm b/code/modules/clothing/chameleon.dm
index 597c2f0858e..f72a0c5e4bb 100644
--- a/code/modules/clothing/chameleon.dm
+++ b/code/modules/clothing/chameleon.dm
@@ -354,7 +354,6 @@
/obj/item/clothing/gloves/color/white/bluespace_tech,
/obj/item/clothing/gloves/color/white/modified,
/obj/item/clothing/gloves/color/modified,
- /obj/item/clothing/gloves/boxing/hologlove,
/obj/item/clothing/gloves/duty/modified,
/obj/item/clothing/gloves/latex/modified,
/obj/item/clothing/gloves/latex/nitrile/modified,
@@ -393,9 +392,9 @@
unarmed_damage_override = 10
origin_tech = list(TECH_ILLEGAL = 5)
-/obj/item/clothing/gloves/chameleon/robust/_examine_text(mob/user)
+/obj/item/clothing/gloves/chameleon/robust/examine(mob/user, infix)
. = ..()
- . += "\nThese look extra robust."
+ . += "These look extra robust."
//******************
//**Chameleon Mask**
diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm
index a9523bf9ad1..d1c6b82567a 100644
--- a/code/modules/clothing/clothing.dm
+++ b/code/modules/clothing/clothing.dm
@@ -13,7 +13,7 @@
var/list/species_restricted = null
var/gunshot_residue //Used by forensics.
- var/list/accessories = list()
+ var/list/accessories
var/list/valid_accessory_slots
var/list/restricted_accessory_slots
var/list/starting_accessories
@@ -45,10 +45,12 @@
GLOBAL_LIST_EMPTY(clothing_blood_icons)
/obj/item/clothing/get_mob_overlay(mob/user_mob, slot)
- var/image/ret = ..()
+ . = ..()
if(slot == slot_l_hand_str || slot == slot_r_hand_str)
- return ret
+ return
+
+ var/image/ret = . ? . : image('icons/effects/blank.dmi')
if(ishuman(user_mob))
var/mob/living/carbon/human/user_human = user_mob
@@ -63,9 +65,8 @@ GLOBAL_LIST_EMPTY(clothing_blood_icons)
ret.AddOverlays(GLOB.clothing_blood_icons[cache_index])
- if(length(accessories))
- for(var/obj/item/clothing/accessory/A in accessories)
- ret.AddOverlays(A.get_mob_overlay(user_mob, slot_tie_str))
+ for(var/obj/item/clothing/accessory/A in accessories)
+ ret.AddOverlays(A.get_mob_overlay(user_mob, slot_tie_str))
return ret
// Aurora forensics port.
@@ -177,18 +178,29 @@ GLOBAL_LIST_EMPTY(clothing_blood_icons)
else
icon = initial(icon)
+/obj/item/clothing/examine(mob/user, infix)
+ . = ..()
+
+ . += "Show protection classes."
+
/obj/item/clothing/get_examine_line(is_visible=TRUE)
. = ..()
if(is_visible)
- var/list/ties = list()
+ var/list/ties
for(var/obj/item/clothing/accessory/accessory in accessories)
if(accessory.high_visibility)
- ties += "\icon[accessory] \a [accessory]"
- if(ties.len)
+ LAZYADD(ties, "\icon[accessory] \a [accessory]")
+ if(LAZYLEN(ties))
.+= " with [english_list(ties)] attached"
- if(accessories.len > ties.len)
+ if(LAZYLEN(accessories) > LAZYLEN(ties))
.+= ". \[See accessories\]"
+/obj/item/clothing/Topic(href, href_list, datum/topic_state/state)
+ . = ..()
+
+ if(href_list["examine_protection"])
+ to_chat(usr, EXAMINE_BLOCK(get_protection_stats().Join("\n")))
+
/obj/item/clothing/CanUseTopic(mob/user, datum/topic_state/state, href_list)
if(href_list && href_list["list_ungabunga"] && (user in view(get_turf(src)))) //))))))
return STATUS_INTERACTIVE
@@ -197,7 +209,7 @@ GLOBAL_LIST_EMPTY(clothing_blood_icons)
/obj/item/clothing/OnTopic(user, list/href_list, datum/topic_state/state)
if(href_list["list_ungabunga"])
- if(accessories.len)
+ if(LAZYLEN(accessories))
var/list/ties = list()
for(var/accessory in accessories)
ties += "\icon[accessory] \a [accessory]"
@@ -228,3 +240,70 @@ GLOBAL_LIST_EMPTY(clothing_blood_icons)
return list(armor[type], coverage)
return
+
+/obj/item/clothing/proc/get_protection_stats(mob/user)
+ RETURN_TYPE(/list)
+
+ . = list()
+
+ for(var/armor_type in armor)
+ var/armor_value = armor[armor_type]
+
+ if(armor_value == 0)
+ continue
+
+ . += _describe_armor(armor_type, GLOB.descriptive_attack_types[armor_type])
+
+ . += ""
+
+ if(item_flags & ITEM_FLAG_AIRTIGHT)
+ . += "It is airtight."
+
+ if(item_flags & ITEM_FLAG_STOPPRESSUREDAMAGE)
+ . += "Wearing this will protect you from the vacuum of space."
+
+ if(item_flags & ITEM_FLAG_THICKMATERIAL)
+ . += "The material is exceptionally thick."
+
+ if(max_heat_protection_temperature >= FIRESUIT_MAX_HEAT_PROTECTION_TEMPERATURE)
+ . += "It provides very good protection against fire and heat."
+
+ if(min_cold_protection_temperature == SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE)
+ . += "It provides very good protection against very cold temperatures."
+
+ var/list/covers
+ for(var/name in string_part_flags)
+ if(body_parts_covered & string_part_flags[name])
+ LAZYADD(covers, name)
+
+ var/list/slots
+ for(var/name in string_slot_flags)
+ if(slot_flags & string_slot_flags[name])
+ LAZYADD(slots, name)
+
+ if(length(covers))
+ . += "It grants [round(coverage * 100)]% protection of the [english_list(covers)]."
+
+ if(length(slots))
+ . += "It can be worn on your [english_list(slots)]."
+
+/obj/item/clothing/proc/_describe_armor(armor_type, descriptive_attack_type)
+ switch(armor[armor_type])
+ if(1 to 9)
+ return "It barely protects against [descriptive_attack_type]."
+ if(10 to 19)
+ return "It provides a very small defense against [descriptive_attack_type]."
+ if(20 to 39)
+ return "It offers a small amount of protection against [descriptive_attack_type]."
+ if(40 to 59)
+ return "It offers a moderate defense against [descriptive_attack_type]."
+ if(60 to 79)
+ return "It provides a strong defense against [descriptive_attack_type]."
+ if(80 to 99)
+ return "It is very strong against [descriptive_attack_type]."
+ if(100 to 124)
+ return "This gives a very robust defense against [descriptive_attack_type]."
+ if(125 to 149)
+ return "Wearing this would make you nigh-invulerable against [descriptive_attack_type]."
+ if(150 to INFINITY)
+ return "You would be practically immune to [descriptive_attack_type] if you wore this."
diff --git a/code/modules/clothing/clothing_accessories.dm b/code/modules/clothing/clothing_accessories.dm
index d82c9ce6fbf..bd4a712d10c 100644
--- a/code/modules/clothing/clothing_accessories.dm
+++ b/code/modules/clothing/clothing_accessories.dm
@@ -1,16 +1,16 @@
/obj/item/clothing/proc/can_attach_accessory(obj/item/clothing/accessory/A)
- if(valid_accessory_slots && istype(A) && (A.slot in valid_accessory_slots))
+ if(istype(A) && LAZYISIN(valid_accessory_slots, A.slot))
.=1
else
return 0
- if(accessories.len && restricted_accessory_slots && (A.slot in restricted_accessory_slots))
+ if(LAZYLEN(accessories) && LAZYISIN(restricted_accessory_slots, A.slot))
for(var/obj/item/clothing/accessory/AC in accessories)
if (AC.slot == A.slot)
return 0
/obj/item/clothing/attackby(obj/item/I, mob/user)
if(istype(I, /obj/item/clothing/accessory))
- if(!valid_accessory_slots || !valid_accessory_slots.len)
+ if(!LAZYLEN(valid_accessory_slots))
to_chat(usr, SPAN("warning", "You cannot attach accessories of any kind to \the [src]."))
return
@@ -29,7 +29,7 @@
/obj/item/clothing/attack_hand(mob/user)
//only forward to the attached accessory if the clothing is equipped (not in a storage)
- if(accessories.len && src.loc == user)
+ if(LAZYLEN(accessories) && src.loc == user)
var/obj/item/clothing/accessory/A = accessories[accessories.len] // only upper accessory can be fast accessed
A.attack_hand(user)
return
@@ -56,10 +56,10 @@
usr.put_in_l_hand(src)
add_fingerprint(usr)
-/obj/item/clothing/_examine_text(mob/user)
+/obj/item/clothing/examine(mob/user, infix)
. = ..()
for(var/obj/item/clothing/accessory/A in accessories)
- . += "\n\icon[A] \A [A] is attached to it."
+ . += "\icon[A] \A [A] is attached to it."
/obj/item/clothing/proc/update_accessory_slowdown()
slowdown_accessory = 0
@@ -76,18 +76,18 @@
* items on spawn
*/
/obj/item/clothing/proc/attach_accessory(mob/user, obj/item/clothing/accessory/A)
- accessories += A
+ LAZYADD(accessories, A)
A.on_attached(src, user)
- src.verbs |= /obj/item/clothing/proc/removetie_verb
+ add_verb(loc, /obj/item/clothing/proc/removetie_verb)
update_accessory_slowdown()
update_clothing_icon()
/obj/item/clothing/proc/remove_accessory(mob/user, obj/item/clothing/accessory/A)
- if(!A || !(A in accessories))
+ if(!A || !LAZYISIN(accessories, A))
return
A.on_removed(user)
- accessories -= A
+ LAZYREMOVE(accessories, A)
update_accessory_slowdown()
update_clothing_icon()
@@ -97,18 +97,20 @@
set src in usr
if(!istype(usr, /mob/living)) return
if(usr.stat) return
- if(!accessories.len) return
+ if(!LAZYLEN(accessories))
+ return
+
var/obj/item/clothing/accessory/A
if(accessories.len > 1)
A = show_radial_menu(usr, usr, make_item_radial_menu_choices(accessories), radius = 42)
else
A = accessories[1]
src.remove_accessory(usr,A)
- if(!accessories.len)
- src.verbs -= /obj/item/clothing/proc/removetie_verb
+ if(!LAZYLEN(accessories))
+ remove_verb(loc, /obj/item/clothing/proc/removetie_verb)
/obj/item/clothing/emp_act(severity)
- if(accessories.len)
+ if(LAZYLEN(accessories))
for(var/obj/item/clothing/accessory/A in accessories)
A.emp_act(severity)
..()
diff --git a/code/modules/clothing/glasses/hud.dm b/code/modules/clothing/glasses/hud.dm
index 84fda4f552e..d064e6c348a 100644
--- a/code/modules/clothing/glasses/hud.dm
+++ b/code/modules/clothing/glasses/hud.dm
@@ -218,12 +218,13 @@
var/sec_hud = FALSE
var/med_hud = FALSE
-/obj/item/clothing/glasses/hud/_examine_text(mob/user)
+/obj/item/clothing/glasses/hud/examine(mob/user, infix)
. = ..()
+
if(matrix)
- . += "\nIt has a [matrix.matrix_type] optical matrix installed."
+ . += "It has a [matrix.matrix_type] optical matrix installed."
if(lenses)
- . += "\nIt has [lenses] installed."
+ . += "It has [lenses] installed."
/obj/item/clothing/glasses/hud/Initialize()
. = ..()
diff --git a/code/modules/clothing/gloves.dm b/code/modules/clothing/gloves.dm
index 0226b7c2174..85ad55969e4 100644
--- a/code/modules/clothing/gloves.dm
+++ b/code/modules/clothing/gloves.dm
@@ -16,6 +16,11 @@
drop_sound = SFX_DROP_GLOVES
pickup_sound = SFX_PICKUP_GLOVES
+ item_state_slots = list(
+ slot_l_hand_str = "bgloves",
+ slot_r_hand_str = "bgloves",
+ )
+
var/transfer_blood = 0
var/mob/living/carbon/human/bloody_hands_mob
diff --git a/code/modules/clothing/gloves/boxing.dm b/code/modules/clothing/gloves/boxing.dm
index b5bef3aa696..9e2c186e46b 100644
--- a/code/modules/clothing/gloves/boxing.dm
+++ b/code/modules/clothing/gloves/boxing.dm
@@ -4,6 +4,28 @@
icon_state = "boxing"
armor = list(melee = 60, bullet = 30, laser = 50, energy = 15, bomb = 0, bio = 0)
+ /// Holder for boxing unarmed attacks with no real damage.
+ var/static/datum/unarmed_attack/punch/boxing/attack = /datum/unarmed_attack/punch/boxing
+ species_restricted = list("exclude", SPECIES_VOX)
+
+/obj/item/clothing/gloves/boxing/hologloves
+ alpha = 180 // Semi-transparent since its a hologram
+
+/obj/item/clothing/gloves/boxing/hologloves/green
+ icon_state = "boxinggreen"
+
+/obj/item/clothing/gloves/boxing/hologloves/blue
+ icon_state = "boxingblue"
+
+/obj/item/clothing/gloves/boxing/hologloves/yellow
+ icon_state = "boxingyellow"
+
+
+/obj/item/clothing/gloves/boxing/Initialize()
+ . = ..()
+ if(ispath(attack))
+ attack = new attack()
+
/obj/item/clothing/gloves/boxing/attackby(obj/item/W, mob/user)
if(isWirecutter(W) || istype(W, /obj/item/scalpel) || isCoil(W))
to_chat(user, SPAN("notice", "That won't work."))//Nope
@@ -23,3 +45,17 @@
name = "white gloves"
desc = "These look pretty fancy."
icon_state = "white"
+
+ item_state_slots = list(
+ slot_l_hand_str = "lgloves",
+ slot_r_hand_str = "lgloves",
+ )
+
+/datum/unarmed_attack/punch/boxing
+ attack_verb = list("punched")
+ attack_noun = list("fist")
+ eye_attack_text = "fingers"
+ eye_attack_text_victim = "digits"
+ damage = 0
+
+ deal_halloss = 1
diff --git a/code/modules/clothing/gloves/color.dm b/code/modules/clothing/gloves/color.dm
index 9d4bac0947b..5b006dbba47 100644
--- a/code/modules/clothing/gloves/color.dm
+++ b/code/modules/clothing/gloves/color.dm
@@ -3,6 +3,11 @@
icon_state = "white"
armor = list(melee = 10, bullet = 5, laser = 5, energy = 0, bomb = 0, bio = 0)
+ item_state_slots = list(
+ slot_l_hand_str = "lgloves",
+ slot_r_hand_str = "lgloves",
+ )
+
/obj/item/clothing/gloves/color/modified
item_flags = ITEM_FLAG_PREMODIFIED
diff --git a/code/modules/clothing/gloves/miscellaneous.dm b/code/modules/clothing/gloves/miscellaneous.dm
index 777482eb83a..ebe65fc1f5e 100644
--- a/code/modules/clothing/gloves/miscellaneous.dm
+++ b/code/modules/clothing/gloves/miscellaneous.dm
@@ -17,6 +17,11 @@
drop_sound = SFX_DROP_RUBBER
pickup_sound = SFX_PICKUP_RUBBER
+ item_state_slots = list(
+ slot_l_hand_str = "ygloves",
+ slot_r_hand_str = "ygloves",
+ )
+
/obj/item/clothing/gloves/insulated/cheap //Cheap Chinese Crap
desc = "These gloves are cheap copies of the coveted gloves, no way this can end badly."
name = "budget insulated gloves"
@@ -100,6 +105,11 @@
drop_sound = SFX_DROP_RUBBER
pickup_sound = SFX_PICKUP_RUBBER
+ item_state_slots = list(
+ slot_l_hand_str = "lgloves",
+ slot_r_hand_str = "lgloves",
+ )
+
/obj/item/clothing/gloves/latex/modified
item_flags = ITEM_FLAG_PREMODIFIED
diff --git a/code/modules/clothing/gloves/stun.dm b/code/modules/clothing/gloves/stun.dm
index 561a063c358..63d5db1233d 100644
--- a/code/modules/clothing/gloves/stun.dm
+++ b/code/modules/clothing/gloves/stun.dm
@@ -37,8 +37,9 @@
if(bcell)
AddOverlays(image(icon, "gloves_cell"))
-/obj/item/clothing/gloves/stun/_examine_text()
+/obj/item/clothing/gloves/stun/examine(mob/user, infix)
. = ..()
+
if(!bcell)
. += "
\The [src] have no power cell installed."
else
diff --git a/code/modules/clothing/head.dm b/code/modules/clothing/head.dm
index 6ab3410c2b4..f0b61740bcd 100644
--- a/code/modules/clothing/head.dm
+++ b/code/modules/clothing/head.dm
@@ -23,7 +23,13 @@
pickup_sound = SFX_PICKUP_HAT
/obj/item/clothing/head/get_mob_overlay(mob/user_mob, slot)
- var/image/ret = ..()
+ . = ..()
+
+ if(slot == slot_l_hand_str || slot == slot_r_hand_str)
+ return
+
+ var/image/ret = .
+
var/species_name = "Default"
if(ishuman(user_mob))
var/mob/living/carbon/human/user_human = user_mob
diff --git a/code/modules/clothing/head/misc_special.dm b/code/modules/clothing/head/misc_special.dm
index eec79d7f2fc..e9b24751c79 100644
--- a/code/modules/clothing/head/misc_special.dm
+++ b/code/modules/clothing/head/misc_special.dm
@@ -36,8 +36,9 @@
pickup_sound = SFX_PICKUP_HELMET
drop_sound = SFX_DROP_HELMET
-/obj/item/clothing/head/welding/_examine_text(mob/user)
+/obj/item/clothing/head/welding/examine(mob/user, infix)
. = ..()
+
if(cover)
. += " [cover.cover_desc]"
diff --git a/code/modules/clothing/mask.dm b/code/modules/clothing/mask.dm
index ccb0a124a88..5dfa97ab22c 100644
--- a/code/modules/clothing/mask.dm
+++ b/code/modules/clothing/mask.dm
@@ -18,12 +18,15 @@
var/down_flags_inv = 0
var/pull_mask = 0
var/hanging = 0
+ var/can_use_alt_layer = FALSE
var/atom/movable/screen/overlay = null
/obj/item/clothing/mask/New()
if(pull_mask)
action_button_name = "Adjust Mask"
verbs += /obj/item/clothing/mask/proc/adjust_mask
+ if(can_use_alt_layer)
+ verbs += /obj/item/clothing/mask/proc/toggle_layer
..()
/obj/item/clothing/mask/Destroy()
@@ -71,6 +74,24 @@
update_clothing_icon()
user.update_action_buttons()
+
+/obj/item/clothing/mask/proc/toggle_layer()
+ set name = "Switch Mask Layer"
+ set category = "Object"
+ set src in usr
+
+ if(!isliving(usr))
+ return
+
+ if(usr.stat)
+ return
+
+ if(!can_use_alt_layer)
+ return
+
+ use_alt_layer = !use_alt_layer
+ update_clothing_icon()
+
/obj/item/clothing/mask/attack_self(mob/user)
if(pull_mask)
adjust_mask(user)
diff --git a/code/modules/clothing/masks/breath.dm b/code/modules/clothing/masks/breath.dm
index 70741c84cc6..7c1aa76fbc7 100644
--- a/code/modules/clothing/masks/breath.dm
+++ b/code/modules/clothing/masks/breath.dm
@@ -18,6 +18,14 @@
RADIATION_BETA_PARTICLE = 2.6 MEGA ELECTRONVOLT,
RADIATION_HAWKING = 1 ELECTRONVOLT
)
+
+ item_state_slots = list(
+ slot_l_hand_str = "breathmask",
+ slot_r_hand_str = "breathmask",
+ )
+ use_alt_layer = TRUE
+ can_use_alt_layer = TRUE
+
/obj/item/clothing/mask/breath/medical
desc = "A close-fitting sterile mask that can be manually connected to an air supply for treatment."
name = "medical mask"
@@ -26,6 +34,13 @@
permeability_coefficient = 0.01
armor = list(melee = 5, bullet = 3, laser = 3, energy = 0, bomb = 0, bio = 35)
+ item_state_slots = list(
+ slot_l_hand_str = "m_mask",
+ slot_r_hand_str = "m_mask",
+ )
+ use_alt_layer = FALSE
+ can_use_alt_layer = FALSE
+
/obj/item/clothing/mask/breath/anesthetic
desc = "A close-fitting sterile mask that is used by the anesthetic wallmounted pump."
name = "anesthetic mask"
@@ -33,6 +48,13 @@
item_state = "medical"
permeability_coefficient = 0.01
+ item_state_slots = list(
+ slot_l_hand_str = "m_mask",
+ slot_r_hand_str = "m_mask",
+ )
+ use_alt_layer = FALSE
+ can_use_alt_layer = FALSE
+
/obj/item/clothing/mask/breath/emergency
desc = "A close-fitting mask that is used by the wallmounted emergency oxygen pump."
name = "emergency mask"
diff --git a/code/modules/clothing/masks/gasmask.dm b/code/modules/clothing/masks/gasmask.dm
index 6e4651584d8..2be044e3935 100644
--- a/code/modules/clothing/masks/gasmask.dm
+++ b/code/modules/clothing/masks/gasmask.dm
@@ -130,6 +130,11 @@
item_state = "clown"
istinted = 0
+ item_state_slots = list(
+ slot_l_hand_str = "clown_hat",
+ slot_r_hand_str = "clown_hat",
+ )
+
/obj/item/clothing/mask/gas/sexyclown
name = "sexy-clown wig and mask"
desc = "A feminine clown mask for the dabbling crossdressers or female entertainers."
@@ -181,6 +186,11 @@
istinted = 0
siemens_coefficient = 1.0
+ item_state_slots = list(
+ slot_l_hand_str = "owl_mask",
+ slot_r_hand_str = "owl_mask",
+ )
+
/obj/item/clothing/mask/gas/vox
name = "vox breathing mask"
desc = "A small oxygen filter for use by Vox"
@@ -204,3 +214,8 @@
filtered_gases = list("phoron", "sleeping_agent", "oxygen")
say_messages = list("Mmfph!", "Mmmf mrrfff!", "Mmmf mnnf!")
say_verbs = list("mumbles")
+
+ item_state_slots = list(
+ slot_l_hand_str = "plasticbag",
+ slot_r_hand_str = "plasticbag",
+ )
diff --git a/code/modules/clothing/masks/miscellaneous.dm b/code/modules/clothing/masks/miscellaneous.dm
index 1b7963dbf92..b473a3fa2c7 100644
--- a/code/modules/clothing/masks/miscellaneous.dm
+++ b/code/modules/clothing/masks/miscellaneous.dm
@@ -15,13 +15,14 @@
icon_state = "tape_cross"
item_state = null
w_class = ITEM_SIZE_TINY
-
+ use_alt_layer = TRUE
/obj/item/clothing/mask/muzzle/ballgag
name = "Ballgag"
desc = "For when Master wants silence."
icon_state = "ballgag"
item_state = "ballgag"
+ can_use_alt_layer = TRUE
/obj/item/clothing/mask/muzzle/Initialize()
. = ..()
@@ -54,6 +55,7 @@
RADIATION_BETA_PARTICLE = 2.2 MEGA ELECTRONVOLT,
RADIATION_HAWKING = 1 ELECTRONVOLT
)
+ use_alt_layer = TRUE
/obj/item/clothing/mask/fakemoustache
name = "fake moustache"
@@ -62,6 +64,7 @@
flags_inv = HIDEFACE
body_parts_covered = NO_BODYPARTS
visible_name = "Scoundrel"
+ can_use_alt_layer = TRUE
/obj/item/clothing/mask/snorkel
name = "Snorkel"
@@ -78,6 +81,7 @@
body_parts_covered = NO_BODYPARTS
item_flags = 0
w_class = ITEM_SIZE_SMALL
+ can_use_alt_layer = TRUE
/obj/item/clothing/mask/uwu
name = "UwU mask"
@@ -87,6 +91,7 @@
body_parts_covered = NO_BODYPARTS
item_flags = 0
w_class = ITEM_SIZE_SMALL
+ use_alt_layer = TRUE
/obj/item/clothing/mask/redwscarf
name = "red white scarf"
@@ -96,6 +101,7 @@
body_parts_covered = NO_BODYPARTS
item_flags = 0
w_class = ITEM_SIZE_SMALL
+ can_use_alt_layer = TRUE
/obj/item/clothing/mask/greenscarf
name = "green scarf"
@@ -104,6 +110,7 @@
item_state = "green_scarf"
body_parts_covered = NO_BODYPARTS
w_class = ITEM_SIZE_SMALL
+ can_use_alt_layer = TRUE
/obj/item/clothing/mask/ninjascarf
name = "ninja scarf"
@@ -112,6 +119,7 @@
item_state = "ninja_scarf"
body_parts_covered = NO_BODYPARTS
w_class = ITEM_SIZE_SMALL
+ can_use_alt_layer = TRUE
/obj/item/clothing/mask/sbluescarf
name = "stripped blue scarf"
@@ -120,6 +128,7 @@
item_state = "sblue_scarf"
body_parts_covered = NO_BODYPARTS
w_class = ITEM_SIZE_SMALL
+ can_use_alt_layer = TRUE
/obj/item/clothing/mask/sgreenscarf
name = "stripped green scarf"
@@ -128,6 +137,7 @@
item_state = "sgreen_scarf"
body_parts_covered = NO_BODYPARTS
w_class = ITEM_SIZE_SMALL
+ can_use_alt_layer = TRUE
/obj/item/clothing/mask/sredscarf
name = "stripped red scarf"
@@ -136,6 +146,7 @@
item_state = "sred_scarf"
body_parts_covered = NO_BODYPARTS
w_class = ITEM_SIZE_SMALL
+ can_use_alt_layer = TRUE
/obj/item/clothing/mask/redscarf
name = "red scarf"
@@ -144,6 +155,7 @@
item_state = "red_scarf"
body_parts_covered = NO_BODYPARTS
w_class = ITEM_SIZE_SMALL
+ can_use_alt_layer = TRUE
/obj/item/clothing/mask/ai
name = "camera MIU"
@@ -155,6 +167,9 @@
action_button_name = "Toggle MUI"
origin_tech = list(TECH_DATA = 5, TECH_ENGINEERING = 5)
armor = list(melee = 10, bullet = 10, laser = 10, energy = 5, bomb = 0, bio = 0) //Well it's made of some sort of plastic.
+ use_alt_layer = TRUE
+ can_use_alt_layer = TRUE
+
var/active = FALSE
var/mob/observer/eye/cameranet/eye
@@ -299,6 +314,8 @@
RADIATION_BETA_PARTICLE = 2.18 MEGA ELECTRONVOLT,
RADIATION_HAWKING = 1 ELECTRONVOLT
)
+ use_alt_layer = TRUE
+ can_use_alt_layer = TRUE
/obj/item/clothing/mask/bandana/equipped(mob/user, slot)
switch(slot)
@@ -381,6 +398,7 @@
w_class = ITEM_SIZE_NORMAL
armor = list(melee = 15, bullet = 10, laser = 10, energy = 0, bomb = 0, bio = 0)
siemens_coefficient = 0.8
+ can_use_alt_layer = TRUE
/obj/item/clothing/mask/plasticbag
name = "plastic bag"
diff --git a/code/modules/clothing/shoes.dm b/code/modules/clothing/shoes.dm
index 9068f48a700..a7908f94868 100644
--- a/code/modules/clothing/shoes.dm
+++ b/code/modules/clothing/shoes.dm
@@ -20,6 +20,11 @@
drop_sound = SFX_DROP_SHOES
pickup_sound = SFX_PICKUP_SHOES
+ item_state_slots = list(
+ slot_l_hand_str = "shoes",
+ slot_r_hand_str = "shoes",
+ )
+
var/overshoes = 0
var/can_hold_knife
var/obj/item/holding
@@ -51,7 +56,7 @@
holding.forceMove(src)
if(!holding)
- verbs -= /obj/item/clothing/shoes/proc/draw_knife
+ remove_verb(loc, /obj/item/clothing/shoes/proc/draw_knife)
update_icon()
return
@@ -71,7 +76,7 @@
return
holding = I
user.visible_message("\The [user] shoves \the [I] into \the [src].", range = 1)
- verbs |= /obj/item/clothing/shoes/proc/draw_knife
+ add_verb(loc, /obj/item/clothing/shoes/proc/draw_knife)
update_icon()
else if(istype(I, /obj/item/flame/match))
var/obj/item/flame/match/M = I
diff --git a/code/modules/clothing/shoes/colour.dm b/code/modules/clothing/shoes/colour.dm
index 1ec8461ad4b..6ac482f45fe 100644
--- a/code/modules/clothing/shoes/colour.dm
+++ b/code/modules/clothing/shoes/colour.dm
@@ -8,11 +8,21 @@
heat_protection = FEET
max_heat_protection_temperature = SHOE_MAX_HEAT_PROTECTION_TEMPERATURE
+ item_state_slots = list(
+ slot_l_hand_str = "bl_shoes",
+ slot_r_hand_str = "bl_shoes",
+ )
+
/obj/item/clothing/shoes/brown
name = "brown shoes"
desc = "A pair of brown shoes."
icon_state = "brown"
+ item_state_slots = list(
+ slot_l_hand_str = "b_shoes",
+ slot_r_hand_str = "b_shoes",
+ )
+
/obj/item/clothing/shoes/blue
name = "blue shoes"
icon_state = "blue"
@@ -34,21 +44,41 @@
desc = "Stylish red shoes."
icon_state = "red"
+ item_state_slots = list(
+ slot_l_hand_str = "r_shoes",
+ slot_r_hand_str = "r_shoes",
+ )
+
/obj/item/clothing/shoes/white
name = "white shoes"
icon_state = "white"
permeability_coefficient = 0.01
+ item_state_slots = list(
+ slot_l_hand_str = "w_shoes",
+ slot_r_hand_str = "w_shoes",
+ )
+
/obj/item/clothing/shoes/leather
name = "leather shoes"
desc = "A sturdy pair of leather shoes."
icon_state = "leather"
+ item_state_slots = list(
+ slot_l_hand_str = "leather_shoes",
+ slot_r_hand_str = "leather_shoes",
+ )
+
/obj/item/clothing/shoes/rainbow
name = "rainbow shoes"
desc = "Very gay shoes."
icon_state = "rain_bow"
+ item_state_slots = list(
+ slot_l_hand_str = "r_shoes",
+ slot_r_hand_str = "r_shoes",
+ )
+
/obj/item/clothing/shoes/orange
name = "orange shoes"
icon_state = "orange"
@@ -56,6 +86,11 @@
throwforce = 0
siemens_coefficient = 1 // prisoners shall be scared of tasers
desc = "A pair of flimsy, cheap shoes. The soles have been made of a soft rubber."
+ item_state_slots = list(
+ slot_l_hand_str = "o_shoes",
+ slot_r_hand_str = "o_shoes",
+ )
+
var/obj/item/handcuffs/chained = null
/obj/item/clothing/shoes/orange/proc/attach_cuffs(obj/item/handcuffs/cuffs, mob/user as mob)
@@ -66,6 +101,10 @@
chained = cuffs
slowdown_per_slot[slot_shoes] += 15
icon_state = "orange1"
+ item_state_slots = list(
+ slot_l_hand_str = "o_shoes1",
+ slot_r_hand_str = "o_shoes1",
+ )
/obj/item/clothing/shoes/orange/proc/remove_cuffs(mob/user as mob)
if(!chained)
@@ -76,6 +115,10 @@
slowdown_per_slot[slot_shoes] -= 15
icon_state = "orange"
+ item_state_slots = list(
+ slot_l_hand_str = "o_shoes",
+ slot_r_hand_str = "o_shoes",
+ )
chained = null
/obj/item/clothing/shoes/orange/attack_self(mob/user as mob)
diff --git a/code/modules/clothing/shoes/jobs.dm b/code/modules/clothing/shoes/jobs.dm
index 8fef9231f24..0ba19e899cb 100644
--- a/code/modules/clothing/shoes/jobs.dm
+++ b/code/modules/clothing/shoes/jobs.dm
@@ -2,6 +2,7 @@
desc = "Rubber boots."
name = "galoshes"
icon_state = "galoshes"
+ item_state_slots = null
permeability_coefficient = 0.05
item_flags = ITEM_FLAG_NOSLIP
can_hold_knife = 1
@@ -21,6 +22,7 @@
name = "jackboots"
desc = "Tall synthleather boots with an artificial shine."
icon_state = "jackboots"
+ item_state_slots = null
force = 3
armor = list(melee = 70, bullet = 70, laser = 60, energy = 25, bomb = 20, bio = 30)
siemens_coefficient = 0.5
@@ -56,6 +58,11 @@
drop_sound = SFX_DROP_BOOTS
pickup_sound = SFX_PICKUP_BOOTS
+ item_state_slots = list(
+ slot_l_hand_str = "jackboots",
+ slot_r_hand_str = "jackboots",
+ )
+
/obj/item/clothing/shoes/workboots/toeless
name = "toe-less workboots"
desc = "A pair of toeless work boots designed for use in industrial settings. Modified for species whose toes have claws."
diff --git a/code/modules/clothing/shoes/magboots.dm b/code/modules/clothing/shoes/magboots.dm
index b5646103aa4..185c8c8b132 100644
--- a/code/modules/clothing/shoes/magboots.dm
+++ b/code/modules/clothing/shoes/magboots.dm
@@ -27,6 +27,11 @@
drop_sound = SFX_DROP_BOOTS
pickup_sound = SFX_PICKUP_BOOTS
+ item_state_slots = list(
+ slot_l_hand_str = "magboots",
+ slot_r_hand_str = "magboots",
+ )
+
/obj/item/clothing/shoes/magboots/proc/set_slowdown()
slowdown_per_slot[slot_shoes] = shoes? max(0, shoes.slowdown_per_slot[slot_shoes]): 0 //So you can't put on magboots to make you walk faster.
if (magpulse)
@@ -95,9 +100,11 @@
wearer.update_floating()
wearer = null
-/obj/item/clothing/shoes/magboots/_examine_text(mob/user)
+/obj/item/clothing/shoes/magboots/examine(mob/user, infix)
. = ..()
+
var/state = "disabled"
if(item_flags & ITEM_FLAG_NOSLIP)
state = "enabled"
- . += "\nIts [traction_system] traction system appears to be [state]."
+
+ . += "Its [traction_system] traction system appears to be [state]."
diff --git a/code/modules/clothing/shoes/miscellaneous.dm b/code/modules/clothing/shoes/miscellaneous.dm
index 6c6182db405..1ba0127b88f 100644
--- a/code/modules/clothing/shoes/miscellaneous.dm
+++ b/code/modules/clothing/shoes/miscellaneous.dm
@@ -11,10 +11,20 @@
armor = list(melee = 70, bullet = 40, laser = 40, energy = 35, bomb = 20, bio = 60)
+ item_state_slots = list(
+ slot_l_hand_str = "b_shoes",
+ slot_r_hand_str = "b_shoes",
+ )
+
/obj/item/clothing/shoes/mime
name = "mime shoes"
icon_state = "mime"
+ item_state_slots = list(
+ slot_l_hand_str = "w_shoes",
+ slot_r_hand_str = "w_shoes",
+ )
+
/obj/item/clothing/shoes/swat
name = "\improper SWAT boots"
desc = "When you want to turn up the heat."
@@ -25,6 +35,11 @@
siemens_coefficient = 0.4
can_hold_knife = 1
+ item_state_slots = list(
+ slot_l_hand_str = "jackboots",
+ slot_r_hand_str = "jackboots",
+ )
+
/obj/item/clothing/shoes/combat //Basically SWAT shoes combined with galoshes.
name = "combat boots"
desc = "When you REALLY want to turn up the heat."
@@ -40,6 +55,11 @@
heat_protection = FEET
max_heat_protection_temperature = SHOE_MAX_HEAT_PROTECTION_TEMPERATURE
+ item_state_slots = list(
+ slot_l_hand_str = "jackboots",
+ slot_r_hand_str = "jackboots",
+ )
+
/obj/item/clothing/shoes/dress
name = "dress shoes"
desc = "The height of fashion, and they're pre-polished!"
@@ -59,6 +79,11 @@
armor = list(melee = 10, bullet = 10, laser = 10, energy = 5, bomb = 10, bio = 3)
+ item_state_slots = list(
+ slot_l_hand_str = "wizshoe",
+ slot_r_hand_str = "wizshoe",
+ )
+
/obj/item/clothing/shoes/sandal/marisa
desc = "A pair of magic, black shoes."
name = "magic shoes"
@@ -66,6 +91,11 @@
body_parts_covered = FEET
coverage = 1.0
+ item_state_slots = list(
+ slot_l_hand_str = "bl_shoes",
+ slot_r_hand_str = "bl_shoes",
+ )
+
/obj/item/clothing/shoes/sandal/color
name = "sandals"
desc = "A pair of plain sandals."
@@ -112,6 +142,11 @@
armor = list(melee = 35, bullet = 35, laser = 35, energy = 15, bomb = 25, bio = 30)
+ item_state_slots = list(
+ slot_l_hand_str = "clown_shoes",
+ slot_r_hand_str = "clown_shoes",
+ )
+
/obj/item/clothing/shoes/clown_shoes/New()
..()
slowdown_per_slot[slot_shoes] = 0
@@ -183,6 +218,7 @@
name = "budget jackboots"
desc = "Tall cheap-ass leatherlike boots with a hint of artificial shine."
icon_state = "jackboots"
+ item_state_slots = null
can_hold_knife = 1
cold_protection = FEET
min_cold_protection_temperature = HELMET_MIN_COLD_PROTECTION_TEMPERATURE
@@ -195,3 +231,8 @@
name = "workboots"
icon_state = "workbootscheap"
desc = "A pair of sham work boots. These have never been designed for use in industrial settings."
+
+ item_state_slots = list(
+ slot_l_hand_str = "jackboots",
+ slot_r_hand_str = "jackboots",
+ )
diff --git a/code/modules/clothing/spacesuits/alien.dm b/code/modules/clothing/spacesuits/alien.dm
index 54cd6408867..15490e51a8f 100644
--- a/code/modules/clothing/spacesuits/alien.dm
+++ b/code/modules/clothing/spacesuits/alien.dm
@@ -476,7 +476,8 @@
magpulse = 0
canremove = 1
-/obj/item/clothing/shoes/magboots/vox/_examine_text(mob/user)
+/obj/item/clothing/shoes/magboots/vox/examine(mob/user, infix)
. = ..()
- if (magpulse)
- . += "\nIt would be hard to take these off without relaxing your grip first."//theoretically this message should only be seen by the wearer when the claws are equipped.
+
+ if(magpulse)
+ . += "It would be hard to take these off without relaxing your grip first."//theoretically this message should only be seen by the wearer when the claws are equipped.
diff --git a/code/modules/clothing/spacesuits/breaches.dm b/code/modules/clothing/spacesuits/breaches.dm
index b5562c3f655..a5da76c5ba0 100644
--- a/code/modules/clothing/spacesuits/breaches.dm
+++ b/code/modules/clothing/spacesuits/breaches.dm
@@ -203,18 +203,16 @@
return
else if(isWelder(W))
-
if(istype(src.loc,/mob/living))
to_chat(user, "How do you intend to patch a powersuit while someone is wearing it?")
return
- if (brute_damage <= 0)
+ if(brute_damage <= 0)
to_chat(user, "There is no structural damage on \the [src] to repair.")
return
var/obj/item/weldingtool/WT = W
- if(!WT.remove_fuel(5))
- to_chat(user, "You need more welding fuel to repair this suit.")
+ if(!WT.use_tool(src, user, amount = 5))
return
repair_breaches(BRUTE, 3, user)
@@ -239,8 +237,9 @@
..()
-/obj/item/clothing/suit/space/_examine_text(mob/user)
+/obj/item/clothing/suit/space/examine(mob/user, infix)
. = ..()
+
if(can_breach && breaches && breaches.len)
for(var/datum/breach/B in breaches)
- . += "\nIt has \a [B.descriptor]."
+ . += SPAN_DANGER("It has \a [B.descriptor].")
diff --git a/code/modules/clothing/spacesuits/rig/modules/computer.dm b/code/modules/clothing/spacesuits/rig/modules/computer.dm
index 06d6d06327a..e99281b9431 100644
--- a/code/modules/clothing/spacesuits/rig/modules/computer.dm
+++ b/code/modules/clothing/spacesuits/rig/modules/computer.dm
@@ -50,13 +50,6 @@
/mob
var/get_rig_stats = 0
-/mob/living/Stat()
- . = ..()
- if(. && get_rig_stats)
- var/obj/item/rig/rig = get_rig()
- if(rig)
- SetupStat(rig)
-
/obj/item/rig_module/ai_container/Process()
if(integrated_ai)
var/obj/item/rig/rig = get_rig()
diff --git a/code/modules/clothing/spacesuits/rig/modules/modules.dm b/code/modules/clothing/spacesuits/rig/modules/modules.dm
index b861d9abe0f..fe6e077a9af 100644
--- a/code/modules/clothing/spacesuits/rig/modules/modules.dm
+++ b/code/modules/clothing/spacesuits/rig/modules/modules.dm
@@ -63,15 +63,16 @@
var/list/stat_rig_module/stat_modules = new()
-/obj/item/rig_module/_examine_text(mob/user)
+/obj/item/rig_module/examine(mob/user, infix)
. = ..()
+
switch(damage)
if(0)
- . += "\nIt is undamaged."
+ . += "It is undamaged."
if(1)
- . += "\nIt is badly damaged."
+ . += "It is badly damaged."
if(2)
- . += "\nIt is almost completely destroyed."
+ . += "It is almost completely destroyed."
/obj/item/rig_module/attackby(obj/item/W, mob/user)
@@ -257,23 +258,22 @@
/obj/item/rig_module/proc/accepts_item(obj/item/input_device)
return 0
-/mob/living/carbon/human/Stat()
+/mob/living/carbon/human/get_actions_for_statpanel()
. = ..()
- if(. && istype(back,/obj/item/rig))
- var/obj/item/rig/R = back
- SetupStat(R)
-
-/mob/proc/SetupStat(obj/item/rig/R)
- if(R && !R.canremove && R.installed_modules.len && statpanel("Powersuit Modules"))
- var/cell_status = R.cell ? "[R.cell.charge]/[R.cell.maxcharge]" : "ERROR"
- stat("Suit charge", cell_status)
- for(var/obj/item/rig_module/module in R.installed_modules)
- {
- for(var/stat_rig_module/SRM in module.stat_modules)
- if(SRM.CanUse())
- stat(SRM.module.interface_name,SRM)
- }
+ var/obj/item/rig/wearing_rig = back
+ if(istype(wearing_rig) && !wearing_rig.canremove)
+ for(var/obj/item/rig_module/module as anything in wearing_rig.installed_modules)
+ for(var/stat_rig_module/stat_module in module.stat_modules)
+ if(!stat_module.CanUse())
+ continue
+
+ . += list(list(
+ "Powersuit Modules",
+ stat_module.module.interface_name,
+ stat_module.name,
+ ref(stat_module),
+ ))
/stat_rig_module
parent_type = /atom/movable
diff --git a/code/modules/clothing/spacesuits/rig/rig.dm b/code/modules/clothing/spacesuits/rig/rig.dm
index 3fb4dfd2177..85d6ec534f7 100644
--- a/code/modules/clothing/spacesuits/rig/rig.dm
+++ b/code/modules/clothing/spacesuits/rig/rig.dm
@@ -86,25 +86,29 @@
var/datum/wires/rig/wires
var/datum/effect/effect/system/spark_spread/spark_system
-/obj/item/rig/_examine_text(mob/user)
+/obj/item/rig/examine(mob/user, infix)
. = ..()
+
if(wearer)
for(var/obj/item/piece in list(helmet,gloves,chest,boots))
if(!piece || piece.loc != wearer)
continue
- . += "\n\icon[piece] \The [piece] [piece.gender == PLURAL ? "are" : "is"] deployed."
+
+ . += "\icon[piece] \The [piece] [piece.gender == PLURAL ? "are" : "is"] deployed."
if(src.loc == usr)
- . += "\nThe access panel is [locked? "locked" : "unlocked"]."
- . += "\nThe maintenance panel is [open ? "open" : "closed"]."
- . += "\nPowersuit systems are [offline ? "offline" : "online"]."
+ . += "The access panel is [locked? "locked" : "unlocked"]."
+ . += "The maintenance panel is [open ? "open" : "closed"]."
+ . += "Powersuit systems are [offline ? "offline" : "online"]."
if(open)
- . += "\nIt's equipped with [english_list(installed_modules)]."
+ . += "It's equipped with [english_list(installed_modules)]."
/obj/item/rig/Initialize()
. = ..()
+ add_think_ctx("booting_context", CALLBACK(src, nameof(.proc/r_booting_done)), 0)
+
item_state = icon_state
wires = new(src)
@@ -192,7 +196,13 @@
return ..()
/obj/item/rig/get_mob_overlay(mob/user_mob, slot)
- var/image/ret = ..()
+ . = ..()
+
+ if(slot == slot_l_hand_str || slot == slot_r_hand_str)
+ return
+
+ var/image/ret = .
+
if(icon_override)
ret.icon = icon_override
else if(slot == slot_back_str)
@@ -349,7 +359,7 @@
to_chat(wearer, "Your entire suit [canremove ? "loosens as the components relax" : "tightens around you as the components lock into place"].")
if(wearer.client)
wearer.client.screen -= booting_L
- addtimer(CALLBACK(src, nameof(.proc/r_booting_done), wearer.client, booting_R), 80)
+ set_next_think_ctx("booting_context", world.time + 8 SECONDS, wearer.client, booting_R)
qdel(booting_L)
booting_R.icon_state = "boot_done"
@@ -585,7 +595,13 @@
return
/obj/item/rig/get_mob_overlay(mob/user_mob, slot)
- var/image/ret = ..()
+ . = ..()
+
+ if(slot == slot_l_hand_str || slot == slot_r_hand_str)
+ return
+
+ var/image/ret = .
+
if(slot != slot_back_str || offline)
return ret
diff --git a/code/modules/clothing/spacesuits/rig/suits/light.dm b/code/modules/clothing/spacesuits/rig/suits/light.dm
index 4dd108e026e..da8d304d10c 100644
--- a/code/modules/clothing/spacesuits/rig/suits/light.dm
+++ b/code/modules/clothing/spacesuits/rig/suits/light.dm
@@ -117,7 +117,7 @@
input = "\improper [input]"
SetName(input)
to_chat(M, "Suit naming succesful!")
- verbs -= /obj/item/rig/light/ninja/verb/rename_suit
+ remove_verb(loc, /obj/item/rig/light/ninja/verb/rename_suit)
return 1
@@ -132,7 +132,7 @@
if(src && input && !M.incapacitated() && in_range(M,src))
desc = input
to_chat(M, "Suit description succesful!")
- verbs -= /obj/item/rig/light/ninja/verb/rename_suit
+ remove_verb(loc, /obj/item/rig/light/ninja/verb/rename_suit)
return 1
/obj/item/clothing/gloves/rig/light/ninja
diff --git a/code/modules/clothing/spacesuits/spacesuits.dm b/code/modules/clothing/spacesuits/spacesuits.dm
index 1da7d7c8d0c..71af0323410 100644
--- a/code/modules/clothing/spacesuits/spacesuits.dm
+++ b/code/modules/clothing/spacesuits/spacesuits.dm
@@ -65,10 +65,11 @@
else
to_chat(usr, "Camera deactivated.")
-/obj/item/clothing/head/helmet/space/_examine_text(mob/user)
+/obj/item/clothing/head/helmet/space/examine(mob/user, infix)
. = ..()
+
if(get_dist(src, user) <= 1 && camera)
- . += "\nThis helmet has a built-in camera. Its [!ispath(camera) && camera.status ? "" : "in"]active."
+ . += "This helmet has a built-in camera. Its [!ispath(camera) && camera.status ? "" : "in"]active."
/obj/item/clothing/suit/space
name = "Space suit"
diff --git a/code/modules/clothing/spacesuits/void/_void.dm b/code/modules/clothing/spacesuits/void/_void.dm
index cdf767112b7..926fb1cf083 100644
--- a/code/modules/clothing/spacesuits/void/_void.dm
+++ b/code/modules/clothing/spacesuits/void/_void.dm
@@ -89,14 +89,17 @@ else if(##equipment_var) {\
..()
slowdown_per_slot[slot_wear_suit] = 1
-/obj/item/clothing/suit/space/void/_examine_text(user)
+/obj/item/clothing/suit/space/void/examine(mob/user, infix)
. = ..()
+
var/list/part_list = new
for(var/obj/item/I in list(helmet,boots,tank))
part_list += "\a [I]"
- . += "\n\The [src] has [english_list(part_list)] installed."
+
+ . += "\The [src] has [english_list(part_list)] installed."
+
if(tank && in_range(src,user))
- . += "\nThe wrist-mounted pressure gauge reads [max(round(tank.air_contents.return_pressure()),0)] kPa remaining in \the [tank]."
+ . += SPAN_NOTICE("The wrist-mounted pressure gauge reads [max(round(tank.air_contents.return_pressure()),0)] kPa remaining in \the [tank].")
/obj/item/clothing/suit/space/void/refit_for_species(target_species)
..()
diff --git a/code/modules/clothing/spacesuits/void/misc.dm b/code/modules/clothing/spacesuits/void/misc.dm
index 5f3fd398cb9..17f70448213 100644
--- a/code/modules/clothing/spacesuits/void/misc.dm
+++ b/code/modules/clothing/spacesuits/void/misc.dm
@@ -235,100 +235,6 @@
animate(H,alpha = 85, alpha = 255, time = 10)
-// Rmc(Only)
-/obj/item/clothing/head/helmet/space/void/rmc_red
- name = "rmc red helmet"
- desc = "An atmos resistant helmet for space and planet exploration."
- icon_state = "rig0_rmc_red"
- item_state = "rmc_red_helm"
- armor = list(melee = 40, bullet = 5, laser = 15,energy = 5, bomb = 5, bio = 100)
- max_heat_protection_temperature = FIRE_HELMET_MAX_HEAT_PROTECTION_TEMPERATURE
- light_overlay = "helmet_light_dual"
-
-/obj/item/clothing/suit/space/void/rmc_red
- name = "rmc red voidsuit"
- desc = "An atmos resistant voidsuit for space and planet exploration."
- icon_state = "rmc_red"
- item_state = "rmc_red"
- armor = list(melee = 40, bullet = 5, laser = 15,energy = 5, bomb = 5, bio = 100)
- max_heat_protection_temperature = FIRESUIT_MAX_HEAT_PROTECTION_TEMPERATURE
- allowed = list(/obj/item/device/flashlight,/obj/item/tank,/obj/item/device/suit_cooling_unit,/obj/item/storage/toolbox,/obj/item/storage/briefcase/inflatable,/obj/item/device/t_scanner,/obj/item/construction/rcd)
-
-/obj/item/clothing/suit/space/void/rmc_red/prepared
- helmet = /obj/item/clothing/head/helmet/space/void/rmc_red
- boots = /obj/item/clothing/shoes/magboots
-
-/obj/item/clothing/head/helmet/space/void/rmc_green
- name = "rmc red helmet"
- desc = "An atmos resistant helmet for space and planet exploration."
- icon_state = "rig0_rmc_green"
- item_state = "rmc_green_helm"
- armor = list(melee = 40, bullet = 5, laser = 15,energy = 5, bomb = 5, bio = 100)
- max_heat_protection_temperature = FIRE_HELMET_MAX_HEAT_PROTECTION_TEMPERATURE
- light_overlay = "helmet_light_dual"
-
-/obj/item/clothing/suit/space/void/rmc_green
- name = "rmc green voidsuit"
- desc = "An atmos resistant voidsuit for space and planet exploration."
- icon_state = "rmc_green"
- item_state = "rmc_green"
- armor = list(melee = 40, bullet = 5, laser = 15,energy = 5, bomb = 5, bio = 100)
- max_heat_protection_temperature = FIRESUIT_MAX_HEAT_PROTECTION_TEMPERATURE
- allowed = list(/obj/item/device/flashlight,/obj/item/tank,/obj/item/device/suit_cooling_unit,/obj/item/storage/toolbox,/obj/item/storage/briefcase/inflatable,/obj/item/device/t_scanner,/obj/item/construction/rcd)
-
-/obj/item/clothing/suit/space/void/rmc_green/prepared
- helmet = /obj/item/clothing/head/helmet/space/void/rmc_green
- boots = /obj/item/clothing/shoes/magboots
-
-/obj/item/clothing/head/helmet/space/void/rmc_royal
- name = "rmc royal helmet"
- desc = "An atmos resistant helmet for space and planet exploration."
- icon_state = "rig0_rmc_royal"
- item_state = "rmc_royal_helm"
- armor = list(melee = 40, bullet = 5, laser = 15,energy = 5, bomb = 5, bio = 100)
- max_heat_protection_temperature = FIRE_HELMET_MAX_HEAT_PROTECTION_TEMPERATURE
- light_overlay = "helmet_light_dual"
-
-/obj/item/clothing/suit/space/void/rmc_royal
- name = "rmc royal voidsuit"
- desc = "An atmos resistant voidsuit for space and planet exploration."
- icon_state = "rmc_royal"
- item_state = "rmc_royal"
- armor = list(melee = 40, bullet = 5, laser = 15,energy = 5, bomb = 5, bio = 100)
- max_heat_protection_temperature = FIRESUIT_MAX_HEAT_PROTECTION_TEMPERATURE
- allowed = list(/obj/item/device/flashlight,/obj/item/tank,/obj/item/device/suit_cooling_unit,/obj/item/storage/toolbox,/obj/item/storage/briefcase/inflatable,/obj/item/device/t_scanner,/obj/item/construction/rcd)
-
-/obj/item/clothing/suit/space/void/rmc_royal/prepared
- helmet = /obj/item/clothing/head/helmet/space/void/rmc_royal
- boots = /obj/item/clothing/shoes/magboots
-
-/obj/item/clothing/suit/space/void/engsuit_spc
- name = "engineer spc voidsuit"
- desc = "An atmos resistant voidsuit for space and planet exploration."
- icon_state = "engsuit_spc"
- item_state = "engsuit_spc"
- armor = list(melee = 40, bullet = 5, laser = 15,energy = 5, bomb = 5, bio = 100)
- max_heat_protection_temperature = FIRESUIT_MAX_HEAT_PROTECTION_TEMPERATURE
- allowed = list(/obj/item/device/flashlight,/obj/item/tank,/obj/item/device/suit_cooling_unit,/obj/item/storage/toolbox,/obj/item/storage/briefcase/inflatable,/obj/item/device/t_scanner,/obj/item/construction/rcd)
-
-/obj/item/clothing/suit/space/void/secsuit_spc
- name = "security spc voidsuit"
- desc = "An atmos resistant voidsuit for space and planet exploration."
- icon_state = "secsuit_spc"
- item_state = "secsuit_spc"
- armor = list(melee = 40, bullet = 5, laser = 15,energy = 5, bomb = 5, bio = 100)
- max_heat_protection_temperature = FIRESUIT_MAX_HEAT_PROTECTION_TEMPERATURE
- allowed = list(/obj/item/device/flashlight,/obj/item/tank,/obj/item/device/suit_cooling_unit,/obj/item/storage/toolbox,/obj/item/storage/briefcase/inflatable,/obj/item/device/t_scanner,/obj/item/construction/rcd)
-
-/obj/item/clothing/head/helmet/space/void/pilot_spc
- name = "pilot spc helmet"
- desc = "An atmos resistant helmet for space and planet exploration."
- icon_state = "pilot_spc"
- item_state = "pilot_spc"
- armor = list(melee = 40, bullet = 5, laser = 15,energy = 5, bomb = 5, bio = 100)
- max_heat_protection_temperature = FIRE_HELMET_MAX_HEAT_PROTECTION_TEMPERATURE
- light_overlay = "helmet_light_dual"
-
/obj/item/clothing/head/helmet/space/void/templar
name = "templar helmet"
desc = "An atmos resistant helmet for space and planet exploration."
diff --git a/code/modules/clothing/suit.dm b/code/modules/clothing/suit.dm
index 6e388454ac6..1b2aa6b8d93 100644
--- a/code/modules/clothing/suit.dm
+++ b/code/modules/clothing/suit.dm
@@ -24,7 +24,13 @@
M.update_inv_wear_suit()
/obj/item/clothing/suit/get_mob_overlay(mob/user_mob, slot)
- var/image/ret = ..()
+ . = ..()
+
+ if(slot == slot_l_hand_str || slot == slot_r_hand_str)
+ return
+
+ var/image/ret = .
+
if(item_state_slots && item_state_slots[slot])
ret.icon_state = item_state_slots[slot]
else
diff --git a/code/modules/clothing/suits/labcoat.dm b/code/modules/clothing/suits/labcoat.dm
index 067f4715871..ec38e475655 100644
--- a/code/modules/clothing/suits/labcoat.dm
+++ b/code/modules/clothing/suits/labcoat.dm
@@ -12,6 +12,11 @@
valid_accessory_slots = list(ACCESSORY_SLOT_ARMBAND)
restricted_accessory_slots = list(ACCESSORY_SLOT_ARMBAND)
+ item_state_slots = list(
+ slot_l_hand_str = "labcoat",
+ slot_r_hand_str = "labcoat",
+ )
+
/obj/item/clothing/suit/storage/toggle/labcoat/cmo
name = "chief medical officer's labcoat"
desc = "Bluer than the standard model."
diff --git a/code/modules/clothing/suits/storage.dm b/code/modules/clothing/suits/storage.dm
index d98d741474f..2bcf572ec67 100644
--- a/code/modules/clothing/suits/storage.dm
+++ b/code/modules/clothing/suits/storage.dm
@@ -22,7 +22,7 @@
/obj/item/clothing/suit/storage/attackby(obj/item/W as obj, mob/user as mob)
..()
- if(!(W in accessories)) //Make sure that an accessory wasn't successfully attached to suit.
+ if(!LAZYISIN(accessories, W)) //Make sure that an accessory wasn't successfully attached to suit.
pockets.attackby(W, user)
/obj/item/clothing/suit/storage/emp_act(severity)
diff --git a/code/modules/clothing/suits/wiz_robe.dm b/code/modules/clothing/suits/wiz_robe.dm
index 49463779c46..377c5997cab 100644
--- a/code/modules/clothing/suits/wiz_robe.dm
+++ b/code/modules/clothing/suits/wiz_robe.dm
@@ -165,3 +165,10 @@
allowed = list(/obj/item/teleportation_scroll)
siemens_coefficient = 0.8
wizard_garb = TRUE
+
+/obj/item/clothing/suit/musclemancer
+ name = "scholar robe"
+ desc = "Some sort of a plain, dark navy robe. Looks kinda old-fashioned, but doesn't appear to be special in any way."
+ icon_state = "muscle_robe"
+ item_state = "muscle_robe"
+ body_parts_covered = UPPER_TORSO|ARMS
diff --git a/code/modules/clothing/under.dm b/code/modules/clothing/under.dm
index 9178c433836..aae2ad9d83f 100644
--- a/code/modules/clothing/under.dm
+++ b/code/modules/clothing/under.dm
@@ -58,7 +58,7 @@
verbs -= /obj/item/clothing/under/verb/rollsleeves
/obj/item/clothing/under/attack_hand(mob/user)
- if(accessories && accessories.len)
+ if(LAZYLEN(accessories))
..()
if ((ishuman(usr) || issmall(usr)) && src.loc == user)
return
@@ -115,17 +115,18 @@
M.update_inv_wear_id()
-/obj/item/clothing/under/_examine_text(mob/user)
+/obj/item/clothing/under/examine(mob/user, infix)
. = ..()
- switch(src.sensor_mode)
+
+ switch(sensor_mode)
if(0)
- . += "\nIts sensors appear to be disabled."
+ . += "It's sensors appear to be disabled."
if(1)
- . += "\nIts binary life sensors appear to be enabled."
+ . += "It's binary life sensors appear to be enabled."
if(2)
- . += "\nIts vital tracker appears to be enabled."
+ . += "It's vital tracker appears to be enabled."
if(3)
- . += "\nIts vital tracker and tracking beacon appear to be enabled."
+ . += "It's vital tracker and tracking beacon appear to be enabled."
/obj/item/clothing/under/proc/set_sensors(mob/user as mob)
var/mob/M = user
diff --git a/code/modules/clothing/under/accessories/clothing.dm b/code/modules/clothing/under/accessories/clothing.dm
index 05cbaaeb9b4..f48a1d0e1f6 100644
--- a/code/modules/clothing/under/accessories/clothing.dm
+++ b/code/modules/clothing/under/accessories/clothing.dm
@@ -82,11 +82,11 @@
/obj/item/clothing/accessory/toggleable/on_attached(obj/item/clothing/under/S, mob/user as mob)
..()
- has_suit.verbs += /obj/item/clothing/accessory/toggleable/verb/toggle
+ has_suit.add_verb(has_suit.loc, /obj/item/clothing/accessory/toggleable/verb/toggle)
/obj/item/clothing/accessory/toggleable/on_removed(mob/user as mob)
if(has_suit)
- has_suit.verbs -= /obj/item/clothing/accessory/toggleable/verb/toggle
+ has_suit.remove_verb(has_suit.loc, /obj/item/clothing/accessory/toggleable/verb/toggle)
..()
/obj/item/clothing/accessory/toggleable/verb/toggle()
@@ -189,13 +189,13 @@
/obj/item/clothing/accessory/toggleable/flannel/on_attached(obj/item/clothing/under/S, mob/user as mob)
..()
- has_suit.verbs += /obj/item/clothing/accessory/toggleable/flannel/verb/tuck
- has_suit.verbs += /obj/item/clothing/accessory/toggleable/flannel/verb/roll_up_sleeves
+ has_suit.add_verb(has_suit.loc, /obj/item/clothing/accessory/toggleable/flannel/verb/tuck)
+ has_suit.add_verb(has_suit.loc, /obj/item/clothing/accessory/toggleable/flannel/verb/roll_up_sleeves)
/obj/item/clothing/accessory/toggleable/flannel/on_removed(mob/user as mob)
if(has_suit)
- has_suit.verbs -= /obj/item/clothing/accessory/toggleable/flannel/verb/tuck
- has_suit.verbs -= /obj/item/clothing/accessory/toggleable/flannel/verb/roll_up_sleeves
+ has_suit.remove_verb(has_suit.loc, /obj/item/clothing/accessory/toggleable/flannel/verb/tuck)
+ has_suit.remove_verb(has_suit.loc, /obj/item/clothing/accessory/toggleable/flannel/verb/roll_up_sleeves)
..()
/obj/item/clothing/accessory/toggleable/flannel/do_toggle(user)
@@ -280,11 +280,11 @@
/obj/item/clothing/accessory/security_shirt/on_attached(obj/item/clothing/under/S, mob/user)
..()
- has_suit.verbs += /obj/item/clothing/accessory/security_shirt/verb/roll_up_sleeves
+ has_suit.add_verb(has_suit.loc, /obj/item/clothing/accessory/security_shirt/verb/roll_up_sleeves)
/obj/item/clothing/accessory/security_shirt/on_removed(mob/user)
if(has_suit)
- has_suit.verbs -= /obj/item/clothing/accessory/security_shirt/verb/roll_up_sleeves
+ has_suit.remove_verb(has_suit.loc, /obj/item/clothing/accessory/security_shirt/verb/roll_up_sleeves)
..()
/obj/item/clothing/accessory/security_shirt/verb/roll_up_sleeves()
diff --git a/code/modules/clothing/under/accessories/holster.dm b/code/modules/clothing/under/accessories/holster.dm
index 72d83a97291..2a4ee03803a 100644
--- a/code/modules/clothing/under/accessories/holster.dm
+++ b/code/modules/clothing/under/accessories/holster.dm
@@ -33,7 +33,7 @@
/obj/item/clothing/accessory/holster/Destroy()
if(has_suit)
- has_suit.verbs -= /obj/item/clothing/accessory/holster/verb/holster_verb
+ has_suit.remove_verb(has_suit.loc, /obj/item/clothing/accessory/holster/verb/holster_verb)
QDEL_NULL(holstered)
QDEL_NULL(holster_action)
return ..()
@@ -119,20 +119,21 @@
holstered.emp_act(severity)
..()
-/obj/item/clothing/accessory/holster/_examine_text(mob/user)
+/obj/item/clothing/accessory/holster/examine(mob/user, infix)
. = ..()
- if (holstered)
- . += "\nA [holstered] is holstered here."
+
+ if(holstered)
+ . += "A [holstered] is holstered here."
else
- . += "\nIt is empty."
+ . += "It is empty."
/obj/item/clothing/accessory/holster/on_attached(obj/item/clothing/under/S, mob/user)
..()
- has_suit.verbs += /obj/item/clothing/accessory/holster/verb/holster_verb
+ has_suit.add_verb(has_suit.loc, /obj/item/clothing/accessory/holster/verb/holster_verb)
/obj/item/clothing/accessory/holster/on_removed(mob/user)
if(has_suit)
- has_suit.verbs -= /obj/item/clothing/accessory/holster/verb/holster_verb
+ has_suit.remove_verb(has_suit.loc, /obj/item/clothing/accessory/holster/verb/holster_verb)
..()
//For the holster hotkey
@@ -153,7 +154,7 @@
H = src
else if (istype(src, /obj/item/clothing/under))
var/obj/item/clothing/under/S = src
- if (S.accessories.len)
+ if(LAZYLEN(S.accessories))
H = locate() in S.accessories
if (!H)
diff --git a/code/modules/clothing/under/accessories/pins.dm b/code/modules/clothing/under/accessories/pins.dm
new file mode 100644
index 00000000000..081c4e4162d
--- /dev/null
+++ b/code/modules/clothing/under/accessories/pins.dm
@@ -0,0 +1,81 @@
+
+/obj/item/clothing/accessory/pin
+ name = "NT pin"
+ desc = "A Nanotrasen holographic pin to show off your loyalty to the company, reminding the crew of your unwavering commitment to whatever NanoTrasen's up to!"
+ icon_state = "nt"
+ slot_flags = SLOT_TIE
+ slot = ACCESSORY_SLOT_INSIGNIA
+
+/obj/item/clothing/accessory/pin/pig
+ name = "pig pin"
+ desc = "A holographic pin to show off your true nature."
+ icon_state = "pig"
+
+/obj/item/clothing/accessory/pin/skull
+ name = "skull pin"
+ desc = "A holographic pin to show off your edgy nature."
+ icon_state = "skull"
+
+/obj/item/clothing/accessory/pin/pride
+ name = "rainbow pin"
+ desc = "A Nanotrasen Diversity & Inclusion Center-sponsored holographic pin to show off your pride, reminding the crew of their unwavering commitment to equity, diversity, and inclusion!"
+ icon_state = "pride"
+
+ var/pride = 0
+ var/static/list/prides = list(
+ "rainbow:pride",
+ "bisexual:pride_bi",
+ "pansexual:pride_pan",
+ "asexual:pride_ace",
+ "non-binary:pride_enby",
+ "transgender:pride_trans",
+ "intersex:pride_intersex",
+ "lesbian:pride_lesbian"
+ )
+
+/obj/item/clothing/accessory/pin/pride/Initialize()
+ . = ..()
+ for(var/i = 1 to length(prides))
+ if(findtext(prides[i], icon_state))
+ pride = i
+ break
+
+/obj/item/clothing/accessory/pin/pride/attack_self(mob/user)
+ if(!pride)
+ return
+
+ to_chat(user, "You toggle the pin.")
+ add_fingerprint(user)
+
+ pride = pride >= length(prides) ? 1 : pride + 1
+ var/sep_pos = findtext(prides[pride], ":")
+ name = copytext(prides[pride], 1, sep_pos) + " pin"
+ icon_state = copytext(prides[pride], sep_pos + 1)
+
+/obj/item/clothing/accessory/pin/pride/bi
+ name = "bisexual pin"
+ icon_state = "pride_bi"
+
+/obj/item/clothing/accessory/pin/pride/pan
+ name = "pansexual pin"
+ icon_state = "pride_pan"
+
+/obj/item/clothing/accessory/pin/pride/ace
+ name = "asexual pin"
+ icon_state = "pride_ace"
+
+/obj/item/clothing/accessory/pin/pride/enby
+ name = "non-binary pin"
+ icon_state = "pride_enby"
+
+/obj/item/clothing/accessory/pin/pride/trans
+ name = "transgender pin"
+ icon_state = "pride_trans"
+
+/obj/item/clothing/accessory/pin/pride/intersex
+ name = "intersex pin"
+ icon_state = "pride_intersex"
+
+/obj/item/clothing/accessory/pin/pride/lesbian
+ name = "lesbian pin"
+ icon_state = "pride_lesbian"
diff --git a/code/modules/clothing/under/accessories/ties.dm b/code/modules/clothing/under/accessories/ties.dm
index 142463cfe64..9e78c4cd0dc 100644
--- a/code/modules/clothing/under/accessories/ties.dm
+++ b/code/modules/clothing/under/accessories/ties.dm
@@ -55,11 +55,11 @@
/obj/item/clothing/accessory/bowtie/on_attached(obj/item/clothing/under/S, mob/user as mob)
..()
- has_suit.verbs += /obj/item/clothing/accessory/bowtie/verb/toggle
+ has_suit.add_verb(has_suit.loc, /obj/item/clothing/accessory/bowtie/verb/toggle)
/obj/item/clothing/accessory/bowtie/on_removed(mob/user as mob)
if(has_suit)
- has_suit.verbs -= /obj/item/clothing/accessory/bowtie/verb/toggle
+ has_suit.remove_verb(has_suit.loc, /obj/item/clothing/accessory/bowtie/verb/toggle)
..()
/obj/item/clothing/accessory/bowtie/verb/toggle()
diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm
index 3781d6fdcb4..f9e40aedc1f 100644
--- a/code/modules/clothing/under/miscellaneous.dm
+++ b/code/modules/clothing/under/miscellaneous.dm
@@ -547,6 +547,11 @@
item_state = "sl_suit"
worn_state = "navy_suit"
+/obj/item/clothing/under/suit_jacket/navy/scholar
+ name = "scholar suit"
+ desc = "A navy suit. It resembles some sort of a school uniform."
+ starting_accessories = list(/obj/item/clothing/accessory/red)
+
/obj/item/clothing/under/suit_jacket/burgundy
name = "burgundy suit"
desc = "A burgundy suit and black tie. Somewhat formal."
diff --git a/code/modules/clothing/under/skirts.dm b/code/modules/clothing/under/skirts.dm
index 7f163d1c4c6..4c3db7762ce 100644
--- a/code/modules/clothing/under/skirts.dm
+++ b/code/modules/clothing/under/skirts.dm
@@ -29,21 +29,6 @@
worn_state = "plaid_purple"
// discreet skirts, dont cover upper/arms etc
-/obj/item/clothing/under/skirt/khaki
- name = "khaki skirt"
- desc = "A khaki skirt with a flare at the hem."
- icon_state = "skirt_khaki"
- worn_state = "skirt_khaki"
- body_parts_covered = LOWER_TORSO
- coverage = 0.7
-
-/obj/item/clothing/under/skirt/swept
- name = "swept skirt"
- desc = "A skirt that is swept to one side."
- icon_state = "skirt_swept"
- worn_state = "skirt_swept"
- body_parts_covered = LOWER_TORSO
- coverage = 0.6
// colour selection, needs to be different for loadout type selection
@@ -55,6 +40,61 @@
body_parts_covered = LOWER_TORSO
coverage = 0.7
+/obj/item/clothing/under/skirt_c/casual
+ name = "casual skirt"
+ desc = "A short, colorful skirt."
+ icon_state = "skirt_casual"
+ item_state = "skirt_casual"
+ worn_state = "skirt_casual"
+
+/obj/item/clothing/under/skirt_c/high
+ name = "high skirt"
+ desc = "A modest skirt going up to the waist."
+ icon_state = "skirt_high"
+ item_state = "skirt_high"
+ worn_state = "skirt_high"
+
+/obj/item/clothing/under/skirt_c/long
+ name = "long skirt"
+ desc = "A long, modest skirt."
+ icon_state = "skirt_long"
+ item_state = "skirt_long"
+ worn_state = "skirt_long"
+
+/obj/item/clothing/under/skirt_c/swept
+ name = "swept skirt"
+ desc = "A skirt that is swept to one side."
+ icon_state = "skirt_swept"
+ worn_state = "skirt_swept"
+
+/obj/item/clothing/under/skirt_c/pencil
+ name = "pencil skirt"
+ desc = "A professional-looking pencil skirt."
+ icon_state = "skirt_pencil"
+ item_state = "skirt_pencil"
+ worn_state = "skirt_pencil"
+
+/obj/item/clothing/under/skirt_c/plaid
+ name = "plaid skirt"
+ desc = "A preppy plaid skirt."
+ icon_state = "skirt_plaid"
+ item_state = "skirt_plaid"
+ worn_state = "skirt_plaid"
+
+/obj/item/clothing/under/skirt_c/skater
+ name = "skater skirt"
+ desc = "A plush skater skirt."
+ icon_state = "skirt_skater"
+ item_state = "skirt_skater"
+ worn_state = "skirt_skater"
+
+/obj/item/clothing/under/skirt_c/tube
+ name = "tube skirt"
+ desc = "A long tube skirt."
+ icon_state = "skirt_tube"
+ item_state = "skirt_tube"
+ worn_state = "skirt_tube"
+
// dresses
/obj/item/clothing/under/skirt_c/dress
name = "short dress"
diff --git a/code/modules/clothing/underwear/base.dm b/code/modules/clothing/underwear/base.dm
index 77b10349ca7..4e887320df8 100644
--- a/code/modules/clothing/underwear/base.dm
+++ b/code/modules/clothing/underwear/base.dm
@@ -74,17 +74,21 @@
/obj/item/underwear/proc/EquipUnderwear(mob/user, mob/living/carbon/human/H)
if(!CanEquipUnderwear(user, H))
return FALSE
- if(!user.drop(src))
- return FALSE
- return ForceEquipUnderwear(H)
+ return ForceEquipUnderwear(H, user)
-/obj/item/underwear/proc/ForceEquipUnderwear(mob/living/carbon/human/H, update_icons = TRUE)
+/obj/item/underwear/proc/ForceEquipUnderwear(mob/living/carbon/human/H, mob/user, update_icons = TRUE)
// No matter how forceful, we still don't allow multiples of the same underwear type
if(is_path_in_list(type, H.worn_underwear))
return FALSE
+ if(isnull(user))
+ forceMove(H)
+ _add_verb_to_stat(H, /obj/item/underwear/verb/RemoveSocks)
+ else if(!user.drop(src, H, changing_slots = H == user))
+ return FALSE
+
H.worn_underwear += src
- forceMove(H)
+
if(update_icons)
H.update_underwear()
diff --git a/code/modules/detectivework/tools/evidencebag.dm b/code/modules/detectivework/tools/evidencebag.dm
index 4e7e87b45bd..f99c79787fa 100644
--- a/code/modules/detectivework/tools/evidencebag.dm
+++ b/code/modules/detectivework/tools/evidencebag.dm
@@ -108,11 +108,13 @@
icon_state = "[base_icon_state]obj"
return
-/obj/item/evidencebag/_examine_text(mob/user)
+/obj/item/evidencebag/examine(mob/user, infix)
. = ..()
- if (!stored_item)
+
+ if(!stored_item)
return
- . += "\n[stored_item._examine_text(user)]"
+
+ . += user.run_examinate(stored_item)
/obj/item/evidencebag/cyborg
name = "integrated evidence bag dispenser"
diff --git a/code/modules/donations/donations.dm b/code/modules/donations/donations.dm
index f9753a3bd1c..17d19a1b1e1 100644
--- a/code/modules/donations/donations.dm
+++ b/code/modules/donations/donations.dm
@@ -50,13 +50,13 @@ SUBSYSTEM_DEF(donations)
var/was_donator = player.donator_info.donator
var/DBQuery/query = sql_query({"
- SELECT
+ SELECT
patron_types.type
- FROM
+ FROM
players
- JOIN
+ JOIN
patron_types ON players.patron_type = patron_types.id
- WHERE
+ WHERE
ckey = $ckey
LIMIT 0,1
"}, dbcon_don, list(ckey = player.ckey))
@@ -65,13 +65,13 @@ SUBSYSTEM_DEF(donations)
player.donator_info.patron_type = query.item[1]
query = sql_query({"
- SELECT
+ SELECT
`change`
- FROM
+ FROM
points_transactions
- JOIN
+ JOIN
players ON players.id = points_transactions.player
- WHERE
+ WHERE
ckey = $ckey
"}, dbcon_don, list(ckey = player.ckey))
@@ -94,11 +94,11 @@ SUBSYSTEM_DEF(donations)
return FALSE
var/DBQuery/query = sql_query({"
- SELECT
+ SELECT
item_path
- FROM
+ FROM
store_players_items
- WHERE
+ WHERE
player = (SELECT id FROM players WHERE ckey = $ckey)
"}, dbcon_don, list(ckey = player.ckey))
@@ -134,16 +134,16 @@ SUBSYSTEM_DEF(donations)
var/transaction_id
var/DBQuery/query = sql_query({"
- SELECT
+ SELECT
id
- FROM
+ FROM
points_transactions
WHERE
- player = (SELECT id FROM players WHERE ckey = $ckey)
+ player = (SELECT id FROM players WHERE ckey = $ckey)
AND
comment = $comment
- ORDER BY
- id
+ ORDER BY
+ id
DESC
"}, dbcon_don, list(ckey = player.ckey, comment = comment))
@@ -207,7 +207,24 @@ SUBSYSTEM_DEF(donations)
var/discord_id = query.item[2]
- sql_query("UPDATE players SET discord = $discord_id WHERE ckey = $ckey", dbcon_don, list(discord_id = discord_id, ckey = player.ckey))
+ // Check if we have two distinct records for user's discord and ckey in the players table
+ // If that's true, then we have to merge them
+ query = sql_query("SELECT id FROM players WHERE discord = $discord_id AND ckey IS NULL", dbcon_don, list(discord_id = discord_id))
+ if(!query.NextRow()) //We don't have that, use an old method
+ sql_query("UPDATE players SET discord = $discord_id WHERE ckey = $ckey", dbcon_don, list(discord_id = discord_id, ckey = player.ckey))
+ else
+ var/discord_player_id = query.item[1]
+ query = sql_query("SELECT id FROM players WHERE ckey = $ckey", dbcon_don, list(ckey = player.ckey))
+ if(query.NextRow())
+ var/ckey_player_id = query.item[1]
+
+ //Update donations to old record
+ sql_query("UPDATE points_transactions SET player = $discord_player_id WHERE player = $ckey_player_id", dbcon_don, list(discord_player_id = discord_player_id, ckey_player_id = ckey_player_id))
+ sql_query("UPDATE money_transactions SET player = $discord_player_id WHERE player = $ckey_player_id", dbcon_don, list(discord_player_id = discord_player_id, ckey_player_id = ckey_player_id))
+
+ sql_query("DELETE FROM players WHERE id = $ckey_player_id", dbcon_don, list(ckey_player_id = ckey_player_id))
+
+ sql_query("UPDATE players SET ckey = $ckey WHERE discord = $discord_id", dbcon_don, list(ckey = player.ckey, discord_id = discord_id))
sql_query("DELETE FROM tokens WHERE token = $token", dbcon_don, list(token = token))
diff --git a/code/modules/economy/cash.dm b/code/modules/economy/cash.dm
index 3c2d27e1157..dc06ee3cfa0 100644
--- a/code/modules/economy/cash.dm
+++ b/code/modules/economy/cash.dm
@@ -4,6 +4,7 @@
gender = PLURAL
icon = 'icons/obj/items.dmi'
icon_state = "spacecash1"
+ item_state = "cash"
opacity = 0
density = 0
anchored = 0.0
@@ -185,10 +186,13 @@
desc = "A card that holds an amount of money."
var/owner_name = "" //So the ATM can set it so the EFTPOS can put a valid name on transactions.
-/obj/item/spacecash/ewallet/_examine_text(mob/user)
+/obj/item/spacecash/ewallet/examine(mob/user, infix)
. = ..()
- if (!(user in view(2)) && user!=src.loc) return
- . += "\nCharge card's owner: [src.owner_name]. Credits remaining: [src.worth]."
+
+ if(!(user in view(2)) && user != loc)
+ return
+
+ . += SPAN_NOTICE("Charge card's owner: [src.owner_name]. Credits remaining: [src.worth].")
/obj/item/spacecash/ewallet/lotto
name = "space lottery card"
diff --git a/code/modules/emotes/emote.dm b/code/modules/emotes/emote.dm
index 2770b013d69..a940fd1ea03 100644
--- a/code/modules/emotes/emote.dm
+++ b/code/modules/emotes/emote.dm
@@ -146,14 +146,14 @@ GLOBAL_LIST_INIT(all_emotes, list(); for(var/emotepath in subtypesof(/datum/emot
var/msg_1p = get_emote_message_1p(user, target, additional_params)
var/text_3p = get_emote_message_3p(user, target, additional_params)
- var/msg_3p = text_3p ? "[user] [text_3p]" : null
+ var/msg_3p = text_3p ? "[user] [text_3p]" : null
var/range = !isnull(emote_range) ? emote_range : world.view
var/impaired_msg = get_impaired_msg(user)
if(impaired_msg)
if(message_type & VISIBLE_MESSAGE)
impaired_msg = "[impaired_msg]"
else if(message_type & AUDIBLE_MESSAGE)
- impaired_msg = "[user] [impaired_msg]"
+ impaired_msg = "[user] [impaired_msg]"
if(!msg_1p)
msg_1p = msg_3p
diff --git a/code/modules/emotes/emote_mob.dm b/code/modules/emotes/emote_mob.dm
index 42ac4f89115..e547bbe675d 100644
--- a/code/modules/emotes/emote_mob.dm
+++ b/code/modules/emotes/emote_mob.dm
@@ -18,7 +18,7 @@
var/datum/emote/E = GLOB.all_emotes[path]
set_emote(E.key, E)
if(!isnull(E.statpanel_proc))
- verbs |= E.statpanel_proc
+ grant_verb(src, E.statpanel_proc)
default_emotes = null
@@ -32,7 +32,7 @@
for(var/datum/emote/E in GLOB.all_emotes)
clear_emote(E.key)
if(!isnull(E.statpanel_proc))
- verbs -= E.statpanel_proc
+ revoke_verb(src, E.statpanel_proc)
/mob/proc/get_emote(key)
return LAZYACCESS(current_emotes, key)
@@ -66,7 +66,7 @@
var/datum/emote/E = GLOB.all_emotes[path]
set_emote(E.key, E)
if(!isnull(E.statpanel_proc))
- verbs |= E.statpanel_proc
+ grant_verb(src, E.statpanel_proc)
/// A simple emote - just the message, and it's type. For anything more complex use datumized emotes.
/mob/proc/custom_emote(message_type = VISIBLE_MESSAGE, message, intentional = FALSE)
@@ -79,9 +79,9 @@
message += "."
if(findtext(message, "^"))
- message = "[capitalize(replacetext(message, regex(@"\^+", "g"), user_name))]"
+ message = "[capitalize(replacetext(message, regex(@"\^+", "g"), user_name))]"
else
- message = "[user_name] [message]"
+ message = "[user_name] [message]"
if(message_type & VISIBLE_MESSAGE)
visible_message(message, checkghosts = /datum/client_preference/ghost_sight)
diff --git a/code/modules/emotes/generic/gesture.dm b/code/modules/emotes/generic/gesture.dm
index 11ad8c855e6..ea113331d04 100644
--- a/code/modules/emotes/generic/gesture.dm
+++ b/code/modules/emotes/generic/gesture.dm
@@ -108,6 +108,18 @@
/datum/emote/clap/get_sfx_volume()
return rand(25, 35)
+/datum/emote/clap/do_emote(mob/user, emote_key, intentional, target, additional_params)
+ . = ..()
+
+ if(rand(0, 5000))
+ return
+
+ var/area/A = get_area(user)
+ if(!istype(A))
+ return
+
+ A.set_lightswitch(!A.lightswitch)
+
/mob/proc/clap_emote()
set name = "Clap"
set category = "Emotes"
diff --git a/code/modules/error_handler/error_handler.dm b/code/modules/error_handler/error_handler.dm
index bde786d8fa6..8966ea58053 100644
--- a/code/modules/error_handler/error_handler.dm
+++ b/code/modules/error_handler/error_handler.dm
@@ -15,6 +15,7 @@ GLOBAL_VAR_INIT(total_runtimes_skipped, 0)
return ..()
GLOB.total_runtimes++
+ rustg_prom_counter_inc(PROM_RUNTIMES, null)
var/erroruid = "[E.file],[E.line]"
var/last_seen = error_last_seen[erroruid]
diff --git a/code/modules/examine/descriptions/armor.dm b/code/modules/examine/descriptions/armor.dm
deleted file mode 100644
index 8aad1dda377..00000000000
--- a/code/modules/examine/descriptions/armor.dm
+++ /dev/null
@@ -1,83 +0,0 @@
-/obj/item/clothing/proc/describe_armor(armor_type, descriptive_attack_type)
- if(armor[armor_type])
- switch(armor[armor_type])
- if(1 to 9)
- return "It barely protects against [descriptive_attack_type]."
- if(10 to 19)
- return "It provides a very small defense against [descriptive_attack_type]."
- if(20 to 39)
- return "It offers a small amount of protection against [descriptive_attack_type]."
- if(40 to 59)
- return "It offers a moderate defense against [descriptive_attack_type]."
- if(60 to 79)
- return "It provides a strong defense against [descriptive_attack_type]."
- if(80 to 99)
- return "It is very strong against [descriptive_attack_type]."
- if(100 to 124)
- return "This gives a very robust defense against [descriptive_attack_type]."
- if(125 to 149)
- return "Wearing this would make you nigh-invulerable against [descriptive_attack_type]."
- if(150 to INFINITY)
- return "You would be practically immune to [descriptive_attack_type] if you wore this."
-
-
-
-/obj/item/clothing/get_description_info()
- . = list()
- . += description_info + "\
-
"
-
- if(armor["melee"])
- . += "[describe_armor("melee","blunt force")] \n"
- if(armor["bullet"])
- . += "[describe_armor("bullet","ballistics")] \n"
- if(armor["laser"])
- . += "[describe_armor("laser","lasers")] \n"
- if(armor["energy"])
- . += "[describe_armor("energy","energy")] \n"
- if(armor["bomb"])
- . += "[describe_armor("bomb","explosions")] \n"
- if(armor["bio"])
- . += "[describe_armor("bio","biohazards")] \n"
-
- . += "\n"
-
- if(item_flags & ITEM_FLAG_AIRTIGHT)
- . += "It is airtight. \n"
-
- if(item_flags & ITEM_FLAG_STOPPRESSUREDAMAGE)
- . += "Wearing this will protect you from the vacuum of space. \n"
-
- if(item_flags & ITEM_FLAG_THICKMATERIAL)
- . += "The material is exceptionally thick. \n"
-
- if(max_heat_protection_temperature >= FIRESUIT_MAX_HEAT_PROTECTION_TEMPERATURE)
- . += "It provides very good protection against fire and heat. \n"
-
- if(min_cold_protection_temperature == SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE)
- . += "It provides very good protection against very cold temperatures. \n"
-
- var/islist_coverage = islist(coverage)
- var/list/covers = list()
- var/list/slots = list()
-
- for(var/name in string_part_flags)
- if(body_parts_covered & string_part_flags[name])
- var/coverage_entry = name
- if(islist_coverage)
- for(var/entry in coverage)
- if(entry == name)
- coverage_entry += " ([round(coverage[entry] * 100)]%)"
- covers += coverage_entry
-
- for(var/name in string_slot_flags)
- if(slot_flags & string_slot_flags[name])
- slots += name
-
- if(length(covers))
- . += "It covers [!islist_coverage ? ("[round(coverage * 100)]% of ") : ""]the [english_list(covers)]. \n"
-
- if(slots.len)
- . += "It can be worn on your [english_list(slots)]. \n"
-
- return jointext(., null)
diff --git a/code/modules/examine/descriptions/items.dm b/code/modules/examine/descriptions/items.dm
deleted file mode 100644
index 1da24ecc313..00000000000
--- a/code/modules/examine/descriptions/items.dm
+++ /dev/null
@@ -1,67 +0,0 @@
-
-/obj/item/get_description_combat()
- . = ""
-
- if(force)
- . = "Weight: "
- switch(mod_weight)
- if(0 to 0.4)
- . += "Very light"
- if(0.4 to 0.8)
- . += "Light"
- if(0.8 to 1.25)
- . += "Moderate"
- if(1.25 to 1.65)
- . += "Heavy"
- else
- . += "Very heavy"
-
- . += "\nReach: "
- switch(mod_reach)
- if(0 to 0.4)
- . += "Very short"
- if(0.4 to 0.8)
- . += "Short"
- if(0.8 to 1.25)
- . += "Average"
- if(1.25 to 1.65)
- . += "Long"
- else
- . += "Very long"
-
- . += "\nConvenience: "
- switch(mod_handy)
- if(0 to 0.4)
- . += "Unhandy"
- if(0.4 to 0.8)
- . += "Not that handy"
- if(0.8 to 1.25)
- . += "Handy"
- if(1.25 to 1.65)
- . += "Really handy"
- else
- . += "Outstandingly handy"
-
- if(armor_penetration)
- switch(armor_penetration)
- if(1 to 19)
- . += "\nIt's good for penetrating light armor."
- if(20 to 39)
- . += "\nIt's good for penetrating medium armor."
- if(40 to 59)
- . += "\nIt's good for penetrating above-average armor."
- if(60 to 79)
- . += "\nIt's good for penetrating heavy armor."
- if(80 to 99)
- . += "\nIt's exceptionally good for penetrating most armor."
- if(100 to INFINITY)
- . += "\nIt goes through most armor as a hot knife through butter."
- else
- . += "\nIt's not that good at penetrating armor."
-
- . += "\nAttack Cooldown: [round((attack_cooldown + DEFAULT_WEAPON_COOLDOWN * (mod_weight / mod_handy)) * mod_speed * 0.1, 0.1)]s"
- . += "\nParry Window: [round(mod_handy * 12 * 0.1, 0.1)]s"
- if(block_tier == BLOCK_TIER_ADVANCED)
- . += "\nIt may block or reflect projectiles really well."
- else if(mod_shield == BLOCK_TIER_PROJECTILE)
- . += "\nIt may block projectiles."
diff --git a/code/modules/examine/examine.dm b/code/modules/examine/examine.dm
index 9719c413491..62e43762040 100644
--- a/code/modules/examine/examine.dm
+++ b/code/modules/examine/examine.dm
@@ -1,77 +1,63 @@
-/* This code is responsible for the examine tab. When someone examines something, it copies the examined object's description_info,
- description_fluff, and description_antag, and shows it in a new tab.
+/atom/proc/get_description_info()
+ return description_info
- In this file, some atom and mob stuff is defined here. It is defined here instead of in the normal files, to keep the whole system self-contained.
- This means that this file can be unchecked, along with the other examine files, and can be removed entirely with no effort.
-*/
+/atom/proc/get_description_fluff()
+ return description_fluff
+/atom/proc/get_description_antag()
+ return description_antag
-/atom/
- var/description_info = null //Helpful blue text.
- var/description_fluff = null //Green text about the atom's fluff, if any exists.
- var/description_antag = null //Malicious red text, for the antags.
+/// Called when `user` examines this atom.
+/atom/proc/examine(mob/user, infix)
+ RETURN_TYPE(/list)
-//Override these if you need special behaviour for a specific type.
-/atom/proc/get_description_info()
- if(description_info)
- return description_info
- return
+ var/examine_string = get_examine_string(user, infix)
+ if(examine_string)
+ . = list(examine_string)
+ else
+ . = list()
-/atom/proc/get_description_fluff()
- if(description_fluff)
- return description_fluff
- return
+ if(desc)
+ . += desc
-/atom/proc/get_description_antag()
- if(description_antag)
- return description_antag
- return
-
-/atom/proc/get_description_combat()
- return
-
-/mob/living/get_description_fluff()
- if(flavor_text) //Get flavor text for the green text.
- return flavor_text
- else //No flavor text? Try for hardcoded fluff instead.
- return ..()
-
-/mob/living/carbon/human/get_description_fluff()
- return print_flavor_text(0)
-
-/* The examine panel itself */
-
-/client/var/description_holders[0]
-
-/client/proc/update_description_holders(atom/A, update_antag_info=0)
- description_holders["info"] = A.get_description_info()
- description_holders["fluff"] = A.get_description_fluff()
- description_holders["antag"] = (update_antag_info)? A.get_description_antag() : ""
- description_holders["combat"] = A.get_description_combat()
-
- description_holders["name"] = "[A.name]"
- description_holders["icon"] = "\icon[A]"
- description_holders["desc"] = A.desc
-
-/mob/Stat()
- . = ..()
- if(client && statpanel("Examine"))
- stat(null,"[client.description_holders["icon"]] [client.description_holders["name"]]") //The name, written in big letters.
- stat(null,"[client.description_holders["desc"]]") //the default examine text.
- if(client.description_holders["combat"])
- stat(null,"[client.description_holders["combat"]]") //Colorless, combat stats.
- if(client.description_holders["info"])
- stat(null,"[client.description_holders["info"]]") //Blue, informative text.
- if(client.description_holders["fluff"])
- stat(null,"[client.description_holders["fluff"]]") //Yellow, fluff-related text.
- if(client.description_holders["antag"])
- stat(null,"[client.description_holders["antag"]]") //Red, malicious antag-related text
-
-//override examinate verb to update description holders when things are examined
-/mob/examinate(atom/A as mob|obj|turf in view(src.client.eye))
- if(..())
- return 1
-
- var/is_antag = ((mind && mind.special_role) || isghost(src)) //ghosts don't have minds
- if(client)
- client.update_description_holders(A, is_antag)
+ SEND_SIGNAL(src, SIGNAL_EXAMINED, user, .)
+ SEND_SIGNAL(user, SIGNAL_MOB_EXAMINED, src, .)
+
+/// Called when `user` examines this atom multiple times in ~1 second window.
+/atom/proc/examine_more(mob/user)
+ RETURN_TYPE(/list)
+
+ . = list()
+
+ var/info_text = get_description_info()
+ if(info_text)
+ . += "[info_text]"
+
+ var/fluff_text = get_description_fluff()
+ if(fluff_text)
+ . += "[fluff_text]"
+
+ var/antag_text = get_description_antag()
+ if(antag_text && (user?.mind?.special_role || isghost(user)))
+ . += "[antag_text]"
+
+ SEND_SIGNAL(src, SIGNAL_EXAMINED_MORE, user, .)
+ SEND_SIGNAL(user, SIGNAL_MOB_EXAMINED_MORE, src, .)
+
+/// Generates fancy object's name including article and dirty status.
+/atom/proc/get_examine_name(mob/user, infix)
+ var/examine_name = "\a [SPAN_INFO("[src] [infix]")]."
+
+ if(is_bloodied)
+ examine_name = gender == PLURAL ? "some " : "a "
+
+ if(blood_color != SYNTH_BLOOD_COLOUR)
+ examine_name += "[SPAN_DANGER("blood-stained")] [SPAN_INFO("[name] [infix]")]!"
+ else
+ examine_name += "oil-stained [name] [infix]."
+
+ return examine_name
+
+/// Generates leading examine line containing object's name and icon.
+/atom/proc/get_examine_string(mob/user)
+ return "\icon[src] That's [get_examine_name(user)]"
diff --git a/code/modules/food/replicator.dm b/code/modules/food/replicator.dm
index b8a9f083efd..ff3bf13a977 100644
--- a/code/modules/food/replicator.dm
+++ b/code/modules/food/replicator.dm
@@ -155,7 +155,8 @@
start_making = 1
..()
-/obj/machinery/food_replicator/_examine_text(mob/user)
+/obj/machinery/food_replicator/examine(mob/user, infix)
. = ..()
+
if(panel_open)
- . += "\nThe maintenance hatch is open."
+ . += "The maintenance hatch is open."
diff --git a/code/modules/games/boardgame.dm b/code/modules/games/boardgame.dm
index 719740de71b..d463b526e37 100644
--- a/code/modules/games/boardgame.dm
+++ b/code/modules/games/boardgame.dm
@@ -9,11 +9,12 @@
var/board = list()
var/selected = -1
-/obj/item/board/_examine_text(mob/user)
+/obj/item/board/examine(mob/user, infix)
if(in_range(user,src))
user.set_machine(src)
interact(user)
return
+
. = ..()
/obj/item/board/attack_hand(mob/living/carbon/human/M)
diff --git a/code/modules/games/cards.dm b/code/modules/games/cards.dm
index 9cdd6c41e18..65a4232a645 100644
--- a/code/modules/games/cards.dm
+++ b/code/modules/games/cards.dm
@@ -229,12 +229,13 @@
update_icon()
user.visible_message("\The [user] [concealed ? "conceals" : "reveals"] their hand.")
-/obj/item/hand/_examine_text(mob/user)
+/obj/item/hand/examine(mob/user, infix)
. = ..()
+
if((!concealed || src.loc == user) && cards.len)
- . += "\nIt contains: "
+ . += "It contains: "
for(var/datum/playingcard/P in cards)
- . += "\nThe [P.name]."
+ . += "The [P.name]."
/obj/item/hand/on_update_icon(direction = 0)
diff --git a/code/modules/genetics/side_effects.dm b/code/modules/genetics/side_effects.dm
index 2fe66965e4a..aac89604141 100644
--- a/code/modules/genetics/side_effects.dm
+++ b/code/modules/genetics/side_effects.dm
@@ -15,19 +15,18 @@
/datum/genetics/side_effect/proc/trigger_side_effect(mob/living/carbon/human/H)
if(ishuman(H))
- addtimer(CALLBACK(src, nameof(.proc/do_side_effect), H), 0)
+ INVOKE_ASYNC(src, nameof(.proc/do_side_effect), H)
/datum/genetics/side_effect/proc/do_side_effect(mob/living/carbon/human/H)
var/tp = pick(typesof(/datum/genetics/side_effect) - /datum/genetics/side_effect)
var/datum/genetics/side_effect/S = new tp
S.start(H)
- addtimer(CALLBACK(H, nameof(/mob.proc/Weaken), rand(0, S.duration / 50)), 20)
+ H.set_next_think_ctx("weaken_context", world.time + rand(0, S.duration / 50), 20)
sleep(S.duration)
H.SetWeakened(0)
S.finish(H)
-
/datum/genetics/side_effect/genetic_burn
name = "Genetic Burn"
symptom = "Subject's skin turns unusualy red."
diff --git a/code/modules/holodeck/HolodeckControl.dm b/code/modules/holodeck/HolodeckControl.dm
deleted file mode 100644
index 6b1855b6c7d..00000000000
--- a/code/modules/holodeck/HolodeckControl.dm
+++ /dev/null
@@ -1,365 +0,0 @@
-/obj/machinery/computer/HolodeckControl
- name = "holodeck control console"
- desc = "A computer used to control a nearby holodeck."
- icon_keyboard = "tech_key"
- icon_screen = "holocontrol"
- light_color = "#41E0FC"
- req_access = list(access_heads)
- var/islocked = 0
-
- active_power_usage = 8 KILO WATTS // 8kW for the scenery + 500W per holoitem
-
- circuit = /obj/item/circuitboard/holodeckcontrol
-
- var/item_power_usage = 500
-
- var/area/linkedholodeck = null
- var/linkedholodeck_area
- var/active = 0
- var/list/holographic_objs = list()
- var/list/holographic_mobs = list()
- var/damaged = 0
- var/safety_disabled = 0
- var/mob/last_to_emag = null
- var/last_change = 0
- var/last_gravity_change = 0
- var/programs_list_id = null
- var/list/supported_programs = list()
- var/list/restricted_programs = list()
-
-/obj/machinery/computer/HolodeckControl/New()
- ..()
- linkedholodeck = locate(linkedholodeck_area)
- if (programs_list_id in GLOB.using_map.holodeck_supported_programs)
- supported_programs |= GLOB.using_map.holodeck_supported_programs[programs_list_id]
- if (programs_list_id in GLOB.using_map.holodeck_restricted_programs)
- restricted_programs |= GLOB.using_map.holodeck_restricted_programs[programs_list_id]
-
-/obj/machinery/computer/HolodeckControl/attack_ai(mob/user as mob)
- return src.attack_hand(user)
-
-/obj/machinery/computer/HolodeckControl/attack_hand(mob/user as mob)
- if(..())
- return 1
-
- user.set_machine(src)
- var/dat = ""
-
- dat += "Holodeck Control System
"
- if(!islocked)
- dat += "Holodeck is (UNLOCKED)
"
- else
- dat += "Holodeck is (LOCKED)
"
- show_browser(user, dat, "window=computer;size=400x500")
- onclose(user, "computer")
- return
-
- dat += "
Current Loaded Programs:
"
-
- if(!linkedholodeck)
- dat += "Warning: Unable to locate holodeck.
"
- show_browser(user, dat, "window=computer;size=400x500")
- onclose(user, "computer")
- return
-
- if(!supported_programs.len)
- dat += "Warning: No supported holo-programs loaded.
"
- show_browser(user, dat, "window=computer;size=400x500")
- onclose(user, "computer")
- return
-
- for(var/prog in supported_programs)
- dat += "([prog])
"
-
- dat += "
"
- dat += "(Turn Off)
"
-
- dat += "
"
- dat += "Please ensure that only holographic weapons are used in the holodeck if a combat simulation has been loaded.
"
-
- if(issilicon(user))
- dat += "
"
- if(safety_disabled)
- if (emagged)
- dat += "ERROR: Cannot re-enable Safety Protocols.
"
- else
- dat += "(Re-Enable Safety Protocols?)
"
- else
- dat += "(Override Safety Protocols?)
"
-
- dat += "
"
-
- if(safety_disabled)
- for(var/prog in restricted_programs)
- dat += "(Begin [prog])
"
- dat += "Ensure the holodeck is empty before testing.
"
- dat += "
"
- dat += "Safety Protocols are DISABLED
"
- else
- dat += "Safety Protocols are ENABLED
"
-
- if(linkedholodeck.has_gravity)
- dat += "Gravity is (ON)
"
- else
- dat += "Gravity is (OFF)
"
- show_browser(user, dat, "window=computer;size=400x500")
- onclose(user, "computer")
- return
-
-/obj/machinery/computer/HolodeckControl/Topic(href, href_list)
- if(..())
- return 1
- if((usr.contents.Find(src) || (in_range(src, usr) && istype(src.loc, /turf))) || (istype(usr, /mob/living/silicon)))
- usr.set_machine(src)
-
- if(href_list["program"])
- var/prog = href_list["program"]
- if(prog in GLOB.using_map.holodeck_programs)
- loadProgram(GLOB.using_map.holodeck_programs[prog])
-
- else if(href_list["AIoverride"])
- if(!issilicon(usr))
- return
-
- if(safety_disabled && emagged)
- return //if a traitor has gone through the trouble to emag the thing, let them keep it.
-
- safety_disabled = !safety_disabled
- update_projections()
- if(safety_disabled)
- message_admins("[key_name_admin(usr)] overrode the holodeck's safeties")
- log_game("[key_name(usr)] overrided the holodeck's safeties")
- else
- message_admins("[key_name_admin(usr)] restored the holodeck's safeties")
- log_game("[key_name(usr)] restored the holodeck's safeties")
-
- else if(href_list["gravity"])
- toggleGravity(linkedholodeck)
-
- else if(href_list["togglehololock"])
- togglelock(usr)
-
- src.add_fingerprint(usr)
- src.updateUsrDialog()
- return
-
-/obj/machinery/computer/HolodeckControl/emag_act(remaining_charges, mob/user as mob)
- last_to_emag = user //emag again to change the owner
- if (!emagged)
- playsound(src.loc, 'sound/effects/computer_emag.ogg', 25)
- emagged = 1
- safety_disabled = 1
- update_projections()
- to_chat(user, "You vastly increase projector power and override the safety and security protocols.")
- to_chat(user, "Warning. Automatic shutoff and derezing protocols have been corrupted. Please call [GLOB.using_map.company_name] maintenance and do not use the simulator.")
- log_game("[key_name(usr)] emagged the Holodeck Control Computer")
- src.updateUsrDialog()
- return 1
- else
- ..()
-
-/obj/machinery/computer/HolodeckControl/proc/update_projections()
- if (safety_disabled)
- item_power_usage = 2500
- for(var/obj/item/holo/esword/H in linkedholodeck)
- H.damtype = BRUTE
- else
- item_power_usage = initial(item_power_usage)
- for(var/obj/item/holo/esword/H in linkedholodeck)
- H.damtype = initial(H.damtype)
-
- for(var/mob/living/simple_animal/hostile/carp/holodeck/C in holographic_mobs)
- C.set_safety(!safety_disabled)
- if (last_to_emag)
- C.friends = list(weakref(last_to_emag))
-
-//This could all be done better, but it works for now.
-/obj/machinery/computer/HolodeckControl/Destroy()
- emergencyShutdown()
- ..()
-
-/obj/machinery/computer/HolodeckControl/ex_act(severity)
- emergencyShutdown()
- ..()
-
-/obj/machinery/computer/HolodeckControl/power_change()
- . = ..()
- if (. && active && (stat & NOPOWER))
- emergencyShutdown()
-
-/obj/machinery/computer/HolodeckControl/Process()
- for(var/item in holographic_objs) // do this first, to make sure people don't take items out when power is down.
- if(!(get_turf(item) in linkedholodeck))
- derez(item, 0)
-
- if (!safety_disabled)
- for(var/mob/living/simple_animal/hostile/carp/holodeck/C in holographic_mobs)
- if (get_area(C.loc) != linkedholodeck)
- holographic_mobs -= C
- C.death()
-
- if(!..())
- return
- if(active)
- use_power_oneoff(item_power_usage * (holographic_objs.len + holographic_mobs.len))
-
- if(!checkInteg(linkedholodeck))
- damaged = 1
- loadProgram(GLOB.using_map.holodeck_programs["turnoff"], 0)
- active = 0
- update_use_power(POWER_USE_IDLE)
- for(var/mob/M in range(10,src))
- M.show_message("The holodeck overloads!")
-
-
- for(var/turf/T in linkedholodeck)
- if(prob(30))
- var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
- s.set_up(2, 1, T)
- s.start()
- T.ex_act(3)
- T.hotspot_expose(1000,500,1)
-
-/obj/machinery/computer/HolodeckControl/proc/derez(obj/obj , silent = 1)
- holographic_objs.Remove(obj)
-
- if(obj == null)
- return
-
- if(isobj(obj))
- var/mob/M = obj.loc
- if(ismob(M))
- M.drop(obj)
- M.update_icons() //so their overlays update
-
- if(!silent)
- var/obj/oldobj = obj
- visible_message("The [oldobj.name] fades away!")
- qdel(obj)
-
-/obj/machinery/computer/HolodeckControl/proc/checkInteg(area/A)
- for(var/turf/T in A)
- if(istype(T, /turf/space))
- return 0
-
- return 1
-
-//Why is it called toggle if it doesn't toggle?
-/obj/machinery/computer/HolodeckControl/proc/togglePower(toggleOn = 0)
- if(toggleOn)
- loadProgram(GLOB.using_map.holodeck_programs["emptycourt"], 0)
- else
- loadProgram(GLOB.using_map.holodeck_programs["turnoff"], 0)
-
- if(!linkedholodeck.has_gravity)
- linkedholodeck.gravitychange(1)
-
- active = 0
- update_use_power(POWER_USE_IDLE)
-
-
-/obj/machinery/computer/HolodeckControl/proc/loadProgram(datum/holodeck_program/HP, check_delay = 1)
- if(!HP)
- return
- var/area/A = locate(HP.target)
- if(!A)
- return
-
- if(check_delay)
- if(world.time < (last_change + 25))
- if(world.time < (last_change + 15))//To prevent super-spam clicking, reduced process size and annoyance -Sieve
- return
- for(var/mob/M in range(3,src))
- M.show_message("ERROR. Recalibrating projection apparatus.")
- last_change = world.time
- return
-
- last_change = world.time
- active = 1
- update_use_power(POWER_USE_ACTIVE)
-
- for(var/item in holographic_objs)
- derez(item)
-
- for(var/mob/living/simple_animal/hostile/carp/holodeck/C in holographic_mobs)
- holographic_mobs -= C
- C.death()
-
- for(var/obj/effect/decal/cleanable/blood/B in linkedholodeck)
- qdel(B)
-
- holographic_objs = A.copy_contents_to(linkedholodeck, TRUE, FALSE)
- for(var/obj/holo_obj in holographic_objs)
- holo_obj.alpha *= 0.8 //give holodeck objs a slight transparency
-
- if(HP.ambience)
- linkedholodeck.ambience_powered = HP.ambience
-
- for(var/mob/living/M in mobs_in_area(linkedholodeck))
- if(M.mind)
- linkedholodeck.play_ambience(M, custom_period=30 SECONDS)
-
- linkedholodeck.sound_env = A.sound_env
-
- spawn(30)
- for(var/obj/effect/landmark/L in linkedholodeck)
- if(L.name=="Atmospheric Test Start")
- spawn(20)
- var/turf/T = get_turf(L)
- var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
- s.set_up(2, 1, T)
- s.start()
- if(T)
- T.temperature = 5000
- T.hotspot_expose(50000,50000,1)
- if(L.name=="Holocarp Spawn")
- holographic_mobs += new /mob/living/simple_animal/hostile/carp/holodeck(L.loc)
-
- if(L.name=="Holocarp Spawn Random")
- if (prob(4)) //With 4 spawn points, carp should only appear 15% of the time.
- holographic_mobs += new /mob/living/simple_animal/hostile/carp/holodeck(L.loc)
-
- update_projections()
-
-
-/obj/machinery/computer/HolodeckControl/proc/toggleGravity(area/A)
- if(world.time < (last_gravity_change + 25))
- if(world.time < (last_gravity_change + 15))//To prevent super-spam clicking
- return
- for(var/mob/M in range(3,src))
- M.show_message("ERROR. Recalibrating gravity field.")
- last_change = world.time
- return
-
- last_gravity_change = world.time
- active = 1
- update_use_power(POWER_USE_IDLE)
-
- if(A.has_gravity)
- A.gravitychange(0,A)
- else
- A.gravitychange(1,A)
-
-/obj/machinery/computer/HolodeckControl/proc/emergencyShutdown()
- //Turn it back to the regular non-holographic room
- loadProgram(GLOB.using_map.holodeck_programs["turnoff"], 0)
-
- if(!linkedholodeck.has_gravity)
- linkedholodeck.gravitychange(1,linkedholodeck)
-
- active = 0
- update_use_power(POWER_USE_IDLE)
-
-// Locking system
-
-/obj/machinery/computer/HolodeckControl/proc/togglelock(mob/user)
- if(cantogglelock(user))
- islocked = !islocked
- audible_message("\The [src] emits a series of beeps to announce it has been [islocked ? null : "un"]locked.", hearing_distance = 3, splash_override = "*beep-beep-beep*")
- return 0
- else
- to_chat(user, "Access denied.")
- return 1
-
-/obj/machinery/computer/HolodeckControl/proc/cantogglelock(mob/user)
- return allowed(user)
diff --git a/code/modules/holodeck/HolodeckObjects.dm b/code/modules/holodeck/HolodeckObjects.dm
deleted file mode 100644
index 87a0277e72a..00000000000
--- a/code/modules/holodeck/HolodeckObjects.dm
+++ /dev/null
@@ -1,437 +0,0 @@
-// Holographic Items!
-
-// Holographic tables are in code/modules/tables/presets.dm
-// Holographic racks are in code/modules/tables/rack.dm
-
-/turf/simulated/floor/holofloor
- thermal_conductivity = 0
-
-/turf/simulated/floor/holofloor/attackby(obj/item/W, mob/user)
- return
- // HOLOFLOOR DOES NOT GIVE A FUCK
-
-/turf/simulated/floor/holofloor/set_flooring()
- return
-
-/turf/simulated/floor/holofloor/carpet
- name = "brown carpet"
- icon = 'icons/turf/flooring/carpet.dmi'
- icon_state = "brown"
- initial_flooring = /decl/flooring/carpet
-
-/turf/simulated/floor/holofloor/tiled
- name = "floor"
- icon = 'icons/turf/flooring/tiles.dmi'
- icon_state = "steel"
- initial_flooring = /decl/flooring/tiling
-
-/turf/simulated/floor/holofloor/tiled/dark
- name = "dark floor"
- icon_state = "dark"
- initial_flooring = /decl/flooring/tiling/dark
-
-/turf/simulated/floor/holofloor/lino
- name = "lino"
- icon = 'icons/turf/flooring/linoleum.dmi'
- icon_state = "lino"
- initial_flooring = /decl/flooring/linoleum
-
-/turf/simulated/floor/holofloor/wood
- name = "wooden floor"
- icon = 'icons/turf/flooring/wood.dmi'
- icon_state = "wood"
- initial_flooring = /decl/flooring/wood
-
-/turf/simulated/floor/holofloor/grass
- name = "lush grass"
- icon = 'icons/turf/flooring/grass.dmi'
- icon_state = "grass0"
- initial_flooring = /decl/flooring/grass
-
-/turf/simulated/floor/holofloor/snow
- name = "snow"
- base_name = "snow"
- icon = 'icons/turf/floors.dmi'
- base_icon = 'icons/turf/floors.dmi'
- icon_state = "snow"
- base_icon_state = "snow"
-
-/turf/simulated/floor/holofloor/space
- icon = 'icons/turf/space.dmi'
- name = "\proper space"
- icon_state = "0"
-
-/turf/simulated/floor/holofloor/reinforced
- icon = 'icons/turf/flooring/tiles.dmi'
- initial_flooring = /decl/flooring/reinforced
- name = "reinforced holofloor"
- icon_state = "reinforced"
-
-/turf/simulated/floor/holofloor/space/New()
- icon_state = "[((x + y) ^ ~(x * y) + z) % 25]"
-
-/turf/simulated/floor/holofloor/beach
- desc = "Uncomfortably gritty for a hologram."
- base_desc = "Uncomfortably gritty for a hologram."
- icon = 'icons/misc/beach.dmi'
- base_icon = 'icons/misc/beach.dmi'
- initial_flooring = null
-
-/turf/simulated/floor/holofloor/beach/sand
- name = "sand"
- icon_state = "desert0"
- base_icon_state = "desert0"
-
-/turf/simulated/floor/holofloor/beach/coastline
- name = "coastline"
- icon = 'icons/misc/beach2.dmi'
- icon_state = "sandwater"
- base_icon_state = "sandwater"
-
-/turf/simulated/floor/holofloor/beach/water
- name = "water"
- icon_state = "seashallow"
- base_icon_state = "seashallow"
-
-/turf/simulated/floor/holofloor/desert
- name = "desert sand"
- base_name = "desert sand"
- desc = "Uncomfortably gritty for a hologram."
- base_desc = "Uncomfortably gritty for a hologram."
- icon_state = "sand0"
- base_icon_state = "sand0"
- icon = 'icons/turf/flooring/sand.dmi'
- base_icon = 'icons/turf/flooring/sand.dmi'
- initial_flooring = null
-
-/turf/simulated/floor/holofloor/desert/New()
- ..()
- if(prob(10))
- AddOverlays("asteroid[rand(0,9)]")
-
-/obj/structure/holostool
- name = "stool"
- desc = "Apply butt."
- icon = 'icons/obj/furniture.dmi'
- icon_state = "stool_padded_preview"
- anchored = 1.0
-
-/obj/item/clothing/gloves/boxing/hologlove
- name = "boxing gloves"
- desc = "Because you really needed another excuse to punch your crewmates."
- icon_state = "boxing"
- item_state = "boxing"
-
-/obj/structure/window/reinforced/holowindow/Destroy()
- return ..()
-
-/obj/structure/window/reinforced/holowindow/attackby(obj/item/W, mob/user)
-
- if(!istype(W) || W.item_flags & ITEM_FLAG_NO_BLUDGEON) return
-
- if(isScrewdriver(W))
- to_chat(user, ("It's a holowindow, you can't unfasten it!"))
- else if(isCrowbar(W) && reinf && state <= 1)
- to_chat(user, ("It's a holowindow, you can't pry it!"))
- else if(isWrench(W) && !anchored && (!state || !reinf))
- to_chat(user, ("It's a holowindow, you can't dismantle it!"))
- else
- if(W.damtype == BRUTE || W.damtype == BURN)
- hit(W.force)
- if(health <= 7)
- anchored = 0
- update_nearby_icons()
- step(src, get_dir(user, src))
- else
- playsound(loc, GET_SFX(SFX_GLASS_HIT), 75, 1)
- ..()
- return
-
-/obj/structure/window/reinforced/holowindow/shatter(display_message = 1)
- playsound(src, SFX_BREAK_WINDOW, 70, 1)
- if(display_message)
- visible_message("[src] fades away as it shatters!")
- qdel(src)
- return
-
-/obj/structure/window/reinforced/holowindow/disappearing/Destroy()
- return ..()
-
-/obj/machinery/door/window/holowindoor/Destroy()
- return ..()
-
-/obj/machinery/door/window/holowindoor/attackby(obj/item/I, mob/user)
-
- if (src.operating == 1)
- return
-
- if(density && user.a_intent == I_HURT && !(istype(I, /obj/item/card) || istype(I, /obj/item/device/pda)))
- var/aforce = I.force
- playsound(src.loc, GET_SFX(SFX_GLASS_HIT), 75, 1)
- visible_message("\The [src] was hit by \the [I].")
- if(I.damtype == BRUTE || I.damtype == BURN)
- take_damage(aforce)
- return
-
- src.add_fingerprint(user)
- if (!src.requiresID())
- user = null
-
- if (src.allowed(user))
- if (src.density)
- open()
- else
- close()
-
- else if (src.density)
- flick(text("[]deny", src.base_state), src)
-
- return
-
-/obj/machinery/door/window/holowindoor/shatter(display_message = 1)
- src.set_density(0)
- playsound(src, SFX_BREAK_WINDOW, 70, 1)
- if(display_message)
- visible_message("[src] fades away as it shatters!")
- qdel(src)
-
-/obj/structure/bed/chair/holochair/Destroy()
- return ..()
-
-/obj/structure/bed/chair/holochair/attackby(obj/item/W, mob/user)
- if(isWrench(W))
- to_chat(user, SPAN("notice", "It's a holochair, you can't dismantle it!"))
- return
-
-/obj/structure/bed/chair/holochair/fold(mob/user)
- if(!foldable)
- return
-
- var/list/collapse_message = list(SPAN_WARNING("\The [name] has collapsed!"), null)
-
- if(buckled_mob)
- collapse_message = list(\
- SPAN_WARNING("[buckled_mob] falls down [user ? "as [user] collapses" : "from collapsing"] \the [name]!"),\
- user ? SPAN_NOTICE("You collapse \the [name] and made [buckled_mob] fall down!") : null)
-
- var/mob/living/occupant = unbuckle_mob()
- var/blocked = occupant.run_armor_check(BP_GROIN, "melee")
-
- occupant.apply_effect(4, STUN, blocked)
- occupant.apply_effect(4, WEAKEN, blocked)
- occupant.apply_damage(rand(5,10), BRUTE, BP_GROIN, blocked)
- playsound(src, 'sound/effects/fighting/punch1.ogg', 50, 1, -1)
- else if(user)
- collapse_message = list("[user] collapses \the [name].", "You collapse \the [name].")
-
- visible_message(collapse_message[1], collapse_message[2])
- var/obj/item/foldchair/holochair/O = new /obj/item/foldchair/holochair(get_turf(src))
- if(user)
- O.add_fingerprint(user)
- QDEL_IN(src, 0)
-
-/obj/item/foldchair/holochair/attackby(obj/item/W, mob/user)
- if(isWrench(W))
- to_chat(user,SPAN("notice", "It's a holochair, you can't dismantle it!"))
-
-/obj/item/foldchair/holochair/attack_self(mob/user)
- var/obj/structure/bed/chair/holochair/O = new /obj/structure/bed/chair/holochair(user.loc)
- O.add_fingerprint(user)
- O.dir = user.dir
- O.update_icon()
- visible_message("[user] unfolds \the [O.name].")
- qdel(src)
-
-/obj/item/holo
- damtype = PAIN
- no_attack_log = 1
-
-/obj/item/holo/esword
- name = "holosword"
- desc = "May the force be within you. Sorta."
- icon = 'icons/obj/weapons.dmi'
- icon_state = "sword0"
- hitsound = 'sound/effects/fighting/energy1.ogg'
- force = 3.0
- throw_range = 5
- throwforce = 0
- w_class = ITEM_SIZE_SMALL
- atom_flags = ATOM_FLAG_NO_BLOOD
- var/active = 0
- var/item_color
-
-/obj/item/holo/esword/green
- New()
- item_color = "green"
-
-/obj/item/holo/esword/red
- New()
- item_color = "red"
-
-/obj/item/holo/esword/New()
- item_color = pick("red","blue","green","purple")
-
-/obj/item/holo/esword/attack_self(mob/living/user)
- active = !active
- if (active)
- force = 30
- icon_state = "sword[item_color]"
- w_class = ITEM_SIZE_HUGE
- playsound(user, 'sound/weapons/saberon.ogg', 50, 1)
- to_chat(user, "[src] is now active.")
- else
- force = 3
- icon_state = "sword0"
- w_class = ITEM_SIZE_SMALL
- playsound(user, 'sound/weapons/saberoff.ogg', 50, 1)
- to_chat(user, "[src] can now be concealed.")
-
- update_held_icon()
-
- add_fingerprint(user)
- return
-
-//BASKETBALL OBJECTS
-
-/obj/item/beach_ball/holoball
- icon = 'icons/obj/basketball.dmi'
- icon_state = "basketball"
- name = "basketball"
- item_state = "basketball"
- desc = "Here's your chance, do your dance at the Space Jam."
- w_class = ITEM_SIZE_LARGE //Stops people from hiding it in their pockets
-
-/obj/structure/holohoop
- name = "basketball hoop"
- desc = "Boom, Shakalaka!"
- icon = 'icons/obj/basketball.dmi'
- icon_state = "hoop"
- anchored = 1
- density = 1
- throwpass = 1
-
-/obj/structure/holohoop/CanPass(atom/movable/mover, turf/target)
- if(istype(mover,/obj/item) && mover.throwing)
- var/obj/item/I = mover
- if(istype(I, /obj/item/projectile))
- return TRUE
- if(prob(50))
- I.forceMove(loc)
- visible_message("Swish! \the [I] lands in \the [src].")
- else
- visible_message("\The [I] bounces off of \the [src]'s rim!")
- return FALSE
- return ..()
-
-
-/obj/machinery/readybutton
- name = "Ready Declaration Device"
- desc = "This device is used to declare ready. If all devices in an area are ready, the event will begin!"
- icon = 'icons/obj/monitors.dmi'
- icon_state = "auth_off"
- layer = ABOVE_WINDOW_LAYER
- var/ready = 0
- var/area/currentarea = null
- var/eventstarted = 0
-
- anchored = 1.0
- power_channel = STATIC_ENVIRON
-
-/obj/machinery/readybutton/attack_ai(mob/user)
- to_chat(user, "The AI is not to interact with these devices!")
- return
-
-/obj/machinery/readybutton/New()
- ..()
-
-
-/obj/machinery/readybutton/attackby(obj/item/W, mob/user)
- to_chat(user, "The device is a holographic button, there's nothing you can do with it!")
-
-/obj/machinery/readybutton/attack_hand(mob/user)
-
- if(user.stat)
- to_chat(src, "You are incapacitated.")
- return
-
- if(stat & BROKEN)
- to_chat(user, "This device is broken.")
- return
-
- if(!user.IsAdvancedToolUser())
- return 0
-
- currentarea = get_area(src.loc)
- if(!currentarea)
- qdel(src)
-
- if(eventstarted)
- to_chat(usr, "The event has already begun!")
- return
-
- ready = !ready
-
- update_icon()
-
- var/numbuttons = 0
- var/numready = 0
- for(var/obj/machinery/readybutton/button in currentarea)
- numbuttons++
- if (button.ready)
- numready++
-
- if(numbuttons == numready)
- begin_event()
-
-/obj/machinery/readybutton/on_update_icon()
- if(ready)
- icon_state = "auth_on"
- else
- icon_state = "auth_off"
-
-/obj/machinery/readybutton/proc/begin_event()
-
- eventstarted = 1
-
- for(var/obj/structure/window/reinforced/holowindow/disappearing/W in currentarea)
- qdel(W)
-
- for(var/mob/M in currentarea)
- to_chat(M, "FIGHT!")
-
-//Holocarp
-
-/mob/living/simple_animal/hostile/carp/holodeck
- icon = 'icons/mob/hologram.dmi'
- icon_state = "Carp"
- icon_living = "Carp"
- icon_dead = "Carp"
- alpha = 127
- icon_gib = null
- meat_amount = 0
- meat_type = null
-
-/mob/living/simple_animal/hostile/carp/holodeck/New()
- ..()
- set_light(0.5, 0.1, 2) //hologram lighting
-
-/mob/living/simple_animal/hostile/carp/holodeck/proc/set_safety(safe)
- if (safe)
- faction = "neutral"
- melee_damage_lower = 0
- melee_damage_upper = 0
- environment_smash = 0
- destroy_surroundings = 0
- else
- faction = "carp"
- melee_damage_lower = initial(melee_damage_lower)
- melee_damage_upper = initial(melee_damage_upper)
- environment_smash = initial(environment_smash)
- destroy_surroundings = initial(destroy_surroundings)
-
-/mob/living/simple_animal/hostile/carp/holodeck/gib(anim, do_gibs)
- death()
-
-/mob/living/simple_animal/hostile/carp/holodeck/death()
- ..(null, "fades away!", "You have been destroyed.")
- qdel(src)
diff --git a/code/modules/holodeck/HolodeckPrograms.dm b/code/modules/holodeck/HolodeckPrograms.dm
deleted file mode 100644
index f46cedfe851..00000000000
--- a/code/modules/holodeck/HolodeckPrograms.dm
+++ /dev/null
@@ -1,8 +0,0 @@
-
-/datum/holodeck_program
- var/target
- var/list/ambience = null
-
-/datum/holodeck_program/New(target, list/ambience = null)
- src.target = target
- src.ambience = ambience
diff --git a/code/modules/holodeck/README.md b/code/modules/holodeck/README.md
new file mode 100644
index 00000000000..3679810a9ca
--- /dev/null
+++ b/code/modules/holodeck/README.md
@@ -0,0 +1,23 @@
+## Структура
+
+- computer.dm - реализация консоли управления голодеком.
+- effects.dm - реализация и подтипы эффектов голодека.
+- objects.dm - объекты, используемые **ТОЛЬКО** внутри голодека.
+- templates.dm - реализация и подтипы шаблонов карт.
+- turfs.dm - полы, используемые **ТОЛЬКО** внутри голодека.
+
+## Использование
+
+### Создание программы
+
+Карты хранятся в отдельных файлах в папке `maps/templates` с префиксом `holodeck_`, размер сетки должен составлять **10х10**.
+
+Каждому файлу карты должен соответствовать шаблон `/datum/map_template/holodeck`, для редактирования доступны поля: name, template_id, mappaths, restticted, ambience, ambience_music. Подробнее о переменных можно прочесть над их объявлениями.
+
+### Добавление интерактивности
+
+Для добавления специальных эффектов или созданя сущностей, зависящих от статуса взлома консоли, к примеру, голографические карпы, требуется использовать `/obj/effect/holodeck_effect`.
+
+### Использование объектов на картах
+
+Любой атом может быть размещен внутри карты, но стоит учитывать: не у всех их может быть логика, проверябщая является ли он реальным, а не голографическим. Это может привести к "дюпам" и иным ошибкам, в следтсвие чего стоит проверять наличие логики, проверяющей наличие флагов `ATOM_FLAG_HOLOGRAM` и `ATOM_FLAG_NO_DECONSTRUCTION` у размещаемых атомов.
diff --git a/code/modules/holodeck/computer.dm b/code/modules/holodeck/computer.dm
new file mode 100644
index 00000000000..6f694a7a54e
--- /dev/null
+++ b/code/modules/holodeck/computer.dm
@@ -0,0 +1,414 @@
+#define PROJECTION_POWER_COST 5 HECTO WATTS
+
+/obj/machinery/computer/holodeck
+ name = "holodeck control console"
+ desc = "A computer used to control a nearby holodeck."
+
+ req_access = list(access_heads)
+
+ circuit = /obj/item/circuitboard/holodeckcontrol
+
+ icon_keyboard = "tech_key"
+ icon_screen = "holocontrol"
+ light_color = "#41E0FC"
+
+ active_power_usage = 8 KILO WATTS
+
+ /// Area type holodeck console should look for.
+ var/mapped_start_area_typepath = /area/holodeck
+ /// Reference to a linked area.
+ var/area/holodeck/linked_area
+ /// Reference to a bottom left turf.
+ var/turf/bottom_left
+
+ /// Reference to a currently used map template.
+ var/datum/map_template/holodeck/using_template
+ /// List of all atoms included in map template plus extra added via `add_to_spawned`.
+ var/list/atom/spawned
+ /// List of all special effect included in map template.
+ var/list/obj/effect/effects
+
+ /// List of json-like objects representing programs, used by UI.
+ var/list/programs_cache
+ /// List of json-like objects representing restricted programs, used by UI.
+ var/list/emag_programs_cache
+
+ /// Whether holodeck is currently loading a program. Blocks other `load_program` calls.
+ var/loading_map = FALSE
+
+ /// Currently loaded program's `template_id`.
+ var/program
+ /// Previously loaded program's `template_id`.
+ var/last_program
+ /// `template_id` of the template that should be loaded by default.
+ var/offline_program = "holodeck_offline"
+
+ /// Whether not `offline_program` is currently loaded.
+ var/active = FALSE
+ /// Whether controls are locked.
+ var/locked = FALSE
+ /// Whether safety is disabled. Allows to spawn unnerfed weapons ant etc.
+ var/safety_disabled = FALSE
+ /// Whether gravity is disabled inside a holodeck zone.
+ var/gravity_disabled = FALSE
+
+/obj/machinery/computer/holodeck/Initialize()
+ . = ..()
+
+ LAZYINITLIST(spawned)
+ LAZYINITLIST(effects)
+
+ return INITIALIZE_HINT_LATELOAD
+
+/obj/machinery/computer/holodeck/LateInitialize()
+ linked_area = pick_area_by_type(mapped_start_area_typepath, list())
+ if(isnull(linked_area))
+ log_debug("[src] has no matching holodeck area.")
+ qdel(src)
+ return
+
+ if(get_area(src) == linked_area)
+ log_debug("[src] was placed inside managed area! This might cause recursion and other errors.")
+ qdel(src)
+ return
+
+ bottom_left = locate(linked_area.x, linked_area.y, z)
+ if(isnull(bottom_left))
+ log_debug("[src] has an invalid holodeck area.")
+ qdel(src)
+ return
+
+ if(isnull(offline_program))
+ log_debug("[src] created without offline ptogram.")
+ qdel(src)
+ return
+
+ generate_programs_list()
+ load_program(offline_program, TRUE)
+
+/obj/machinery/computer/holodeck/proc/generate_programs_list()
+ for(var/typepath in subtypesof(/datum/map_template/holodeck))
+ var/datum/map_template/holodeck/program = typepath
+ var/list/program_data = list("id" = initial(program.template_id), "name" = initial(program.name))
+ if(initial(program.restricted))
+ LAZYADD(emag_programs_cache, list(program_data))
+ else
+ LAZYADD(programs_cache, list(program_data))
+
+/obj/machinery/computer/holodeck/proc/load_program(map_id, force = FALSE)
+ if(program == map_id)
+ return
+
+ THROTTLE(cooldown, 10 SECONDS)
+ if(!cooldown && !force)
+ audible_message(SPAN_WARNING("ERROR. Recalibrating projection apparatus."))
+ return
+
+ if(loading_map)
+ return
+
+ loading_map = TRUE
+
+ clear_projections()
+
+ using_template = SSmapping.holodeck_templates[map_id]
+ using_template.load(bottom_left)
+
+ spawned = using_template.created_atoms
+
+ last_program = program
+ program = map_id
+
+ active = program != offline_program
+
+ linked_area.forced_ambience = length(using_template.ambience) ? using_template.ambience : initial(linked_area.forced_ambience)
+ linked_area.ambient_music_tags = length(using_template.ambience_music) ? using_template.ambience_music : initial(linked_area.ambient_music_tags)
+
+ finish_loading()
+ nerf(!emagged)
+
+ loading_map = FALSE
+
+ update_use_power(active ? POWER_USE_ACTIVE : POWER_USE_IDLE)
+
+/obj/machinery/computer/holodeck/proc/clear_projections()
+ for(var/holo_atom in spawned)
+ derez(holo_atom)
+
+ for(var/obj/effect/holodeck_effect/holo_effect as anything in effects)
+ effects -= holo_effect
+ holo_effect.deactivate()
+
+/obj/machinery/computer/holodeck/proc/finish_loading()
+ for(var/atom/holo_atom as anything in spawned)
+ if(QDELETED(holo_atom))
+ spawned -= holo_atom
+ continue
+
+ if(isturf(holo_atom))
+ spawned -= holo_atom
+
+ finalize_spawned(holo_atom)
+
+/obj/machinery/computer/holodeck/proc/nerf(nerf = TRUE)
+ for(var/obj/item/nerfing_item in spawned)
+ nerfing_item.damtype = nerf ? PAIN : initial(nerfing_item.damtype)
+
+ for(var/obj/effect/holodeck_effect/nerfing_effect as anything in effects)
+ nerfing_effect.nerf(nerf)
+
+/obj/machinery/computer/holodeck/proc/finalize_spawned(atom/holo_atom)
+ holo_atom.atom_flags |= ATOM_FLAG_HOLOGRAM
+
+ if(isturf(holo_atom))
+ holo_atom.atom_flags |= ATOM_FLAG_NO_DECONSTRUCTION
+ return
+
+ register_signal(holo_atom, SIGNAL_QDELETING, nameof(.proc/remove_from_spawned))
+
+ if(isholoeffect(holo_atom))
+ var/obj/effect/holodeck_effect/holo_effect = holo_atom
+
+ effects += holo_effect
+ spawned -= holo_effect
+
+ var/atom/holo_effect_product = holo_effect.activate()
+ if(istype(holo_effect_product))
+ add_to_spawned(holo_effect_product)
+
+ if(islist(holo_effect_product))
+ for(var/atom/atom_product as anything in holo_effect_product)
+ add_to_spawned(holo_effect_product)
+
+ return
+
+ if(isobj(holo_atom))
+ var/obj/holo_obj = holo_atom
+ holo_obj.unacidable = TRUE
+ holo_obj.atom_flags |= ATOM_FLAG_NO_DECONSTRUCTION
+ return
+
+/obj/machinery/computer/holodeck/proc/add_to_spawned(atom/holo_atom)
+ spawned |= holo_atom
+
+ if(emagged && isitem(holo_atom))
+ var/obj/item/holo_item = holo_atom
+ holo_item.damtype = PAIN
+
+ finalize_spawned(holo_atom)
+
+/obj/machinery/computer/holodeck/proc/remove_from_spawned(datum/to_remove, _force)
+ SIGNAL_HANDLER
+ spawned -= to_remove
+ unregister_signal(to_remove, SIGNAL_QDELETING)
+
+/obj/machinery/computer/holodeck/proc/derez(atom/holo_atom, silent = TRUE)
+ spawned -= holo_atom
+ if(isnull(holo_atom) || isturf(holo_atom))
+ return
+
+ unregister_signal(holo_atom, SIGNAL_QDELETING)
+
+ var/turf/target_turf = get_turf(holo_atom)
+ for(var/atom/movable/atom_contents as anything in holo_atom)
+ if(atom_contents.atom_flags & ATOM_FLAG_HOLOGRAM)
+ continue
+
+ atom_contents.forceMove(target_turf)
+
+ if(!silent)
+ visible_message(SPAN_NOTICE("\The [holo_atom] fades away!"))
+
+ qdel(holo_atom)
+
+/obj/machinery/computer/holodeck/Destroy()
+ emergency_shutdown()
+ return ..()
+
+/obj/machinery/computer/holodeck/proc/reset_to_default()
+ if(program == offline_program)
+ return
+
+ program = offline_program
+ clear_projections()
+
+ var/offline_template = SSmapping.holodeck_templates[offline_program]
+ INVOKE_ASYNC(CALLBACK(offline_template, nameof(/datum/map_template.proc/load), bottom_left))
+
+/obj/machinery/computer/holodeck/Process()
+ if(!active)
+ return
+
+ if(!check_flooring())
+ audible_message(SPAN_WARNING("ERROR! Structural damage detected, overload imminent."))
+ emergency_shutdown()
+
+ for(var/turf/affected_turf in linked_area)
+ if(prob(30))
+ var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
+ s.set_up(2, 1, affected_turf)
+ s.start()
+
+ affected_turf.ex_act(EXPLODE_LIGHT)
+ affected_turf.hotspot_expose(1000, 500, 1)
+
+ if(!emagged)
+ for(var/spawned_atom in spawned)
+ if(get_area(spawned_atom) != linked_area)
+ derez(spawned_atom, FALSE)
+
+ if(active)
+ use_power_oneoff(active_power_usage + length(spawned) * PROJECTION_POWER_COST + length(effects) * PROJECTION_POWER_COST)
+
+/obj/machinery/computer/holodeck/proc/check_flooring()
+ for(var/turf/checking_turf in linked_area)
+ if(!checking_turf.holodeck_compatible && !(checking_turf.atom_flags & ATOM_FLAG_HOLOGRAM))
+ return FALSE
+
+ return TRUE
+
+/obj/machinery/computer/holodeck/proc/emergency_shutdown()
+ load_program(offline_program, TRUE)
+ set_gravity()
+
+/obj/machinery/computer/holodeck/proc/set_gravity(new_value)
+ if(isnull(new_value))
+ var/obj/machinery/gravity_generator/main/gravity_generator = GLOB.station_gravity_generator
+ linked_area.gravitychange(gravity_generator?.enabled)
+ return
+
+ linked_area.gravitychange(new_value)
+
+/obj/machinery/computer/holodeck/power_change()
+ . = ..()
+ INVOKE_ASYNC(src, nameof(.proc/toggle_power), !(stat & NOPOWER))
+
+/obj/machinery/computer/holodeck/proc/toggle_power(new_state)
+ if(active == new_state)
+ return
+
+ if(active)
+ load_program(offline_program)
+ set_gravity()
+ return
+
+ if(last_program)
+ load_program(last_program)
+ set_gravity(!gravity_disabled)
+
+/obj/machinery/computer/holodeck/attack_hand(mob/user)
+ tgui_interact(user)
+
+/obj/machinery/computer/holodeck/attack_ai(mob/user)
+ tgui_interact(user)
+
+/obj/machinery/computer/holodeck/tgui_state(mob/user)
+ return GLOB.tgui_machinery_noaccess_state
+
+/obj/machinery/computer/holodeck/tgui_interact(mob/user, datum/tgui/ui)
+ ui = SStgui.try_update_ui(user, src, ui)
+
+ if(!ui)
+ ui = new(user, src, "Holodeck")
+ ui.open()
+
+/obj/machinery/computer/holodeck/tgui_data(mob/user)
+ var/list/data = list()
+
+ data["isLocked"] = locked
+ data["canToggleSafety"] = allowed(user)
+ data["isSafetyDisabled"] = safety_disabled
+ data["isGravityDisabled"] = gravity_disabled
+
+ data["currentProgram"] = program
+ data["programs"] = emagged ? programs_cache + emag_programs_cache : programs_cache
+
+ return data
+
+/obj/machinery/computer/holodeck/tgui_act(action, params)
+ . = ..()
+ if(.)
+ return
+
+ switch(action)
+ if("toggleLock")
+ if(!allowed(usr))
+ return
+
+ locked = !locked
+ return TRUE
+
+ if("toggleSafety")
+ if(locked)
+ return
+
+ if(!allowed(usr))
+ return
+
+ toggle_safety()
+ return TRUE
+
+ if("toggleGravity")
+ if(locked)
+ return
+
+ toggle_gravity()
+ return TRUE
+
+ if("changeProgram")
+ if(locked)
+ return
+
+ var/program_id = params["id"]
+ if(isnull(program_id))
+ return
+
+ if(!is_valid_program_id(program_id))
+ return
+
+ load_program(program_id)
+ return TRUE
+
+/obj/machinery/computer/holodeck/proc/toggle_safety(new_value)
+ safety_disabled = isnull(new_value) ? !safety_disabled : new_value
+ nerf(!safety_disabled)
+
+ log_game("[key_name(usr)] [safety_disabled ? "restored" : "overrode"] the holodeck's safeties", notify_admin = TRUE)
+
+/obj/machinery/computer/holodeck/proc/toggle_gravity()
+ THROTTLE(cooldown, 3 SECONDS)
+ if(!cooldown)
+ audible_message(SPAN_WARNING("ERROR. Recalibrating gravity field."))
+ return
+
+ gravity_disabled = !gravity_disabled
+ set_gravity(!gravity_disabled)
+
+/obj/machinery/computer/holodeck/proc/is_valid_program_id(verifying_id)
+ var/programs = emagged ? programs_cache + emag_programs_cache : programs_cache
+
+ for(var/list/program as anything in programs)
+ if(program["id"] == verifying_id)
+ return TRUE
+
+ return FALSE
+
+/obj/machinery/computer/holodeck/emag_act(remaining_charges, mob/user, emag_source)
+ if(emagged)
+ return FALSE
+
+ toggle_safety(FALSE)
+ emagged = TRUE
+
+ audible_message(SPAN_WARNING("WARNING! Automatic shutoff and derezing protocols have been corrupted. Please call [GLOB.using_map.company_name] maintenance and do not use the simulator."))
+ show_splash_text(user, "projector power increased")
+
+ log_game("[key_name(usr)] emagged the holodeck computer", notify_admin = TRUE)
+
+ return TRUE
+
+/obj/machinery/computer/holodeck/ex_act(severity)
+ emergency_shutdown()
+ return ..()
+
+#undef PROJECTION_POWER_COST
diff --git a/code/modules/holodeck/effects.dm b/code/modules/holodeck/effects.dm
new file mode 100644
index 00000000000..76694eaf17c
--- /dev/null
+++ b/code/modules/holodeck/effects.dm
@@ -0,0 +1,40 @@
+/obj/effect/holodeck_effect
+ icon = 'icons/misc/landmarks.dmi'
+ invisibility = INVISIBILITY_MAXIMUM
+
+/obj/effect/holodeck_effect/proc/activate()
+ return
+
+/obj/effect/holodeck_effect/proc/deactivate()
+ SHOULD_CALL_PARENT(TRUE)
+
+ qdel(src)
+
+/obj/effect/holodeck_effect/proc/nerf(nerf = TRUE)
+ return
+
+/obj/effect/holodeck_effect/carp
+ icon_state = "holocarp"
+
+ var/weakref/carp_ref
+
+/obj/effect/holodeck_effect/carp/activate()
+ var/mob/living/simple_animal/hostile/carp/holographic/holo_carp = new(get_turf(src))
+
+ carp_ref = weakref(holo_carp)
+
+ return holo_carp
+
+/obj/effect/holodeck_effect/carp/nerf(nerf = TRUE)
+ var/mob/living/simple_animal/hostile/carp/holographic/holo_carp = carp_ref?.resolve()
+ if(!istype(holo_carp))
+ return
+
+ holo_carp.faction = nerf ? "neutral" : "carp"
+
+/obj/effect/holodeck_effect/carp/random
+ icon_state = "holocarp_random"
+
+/obj/effect/holodeck_effect/carp/random/activate()
+ if(prob(50))
+ return ..()
diff --git a/code/modules/holodeck/objects.dm b/code/modules/holodeck/objects.dm
new file mode 100644
index 00000000000..70b4987b869
--- /dev/null
+++ b/code/modules/holodeck/objects.dm
@@ -0,0 +1,57 @@
+/obj/machinery/button/minigame
+ name = "Ready Declaration Device"
+ desc = "This device is used to declare ready. If all devices in an area are ready, the event will begin!"
+
+ icon = 'icons/obj/monitors.dmi'
+ icon_state = "auth_off"
+
+ var/area/current_area
+ var/disabled = FALSE
+
+/obj/machinery/button/minigame/Initialize()
+ . = ..()
+ return INITIALIZE_HINT_LATELOAD
+
+/obj/machinery/button/minigame/LateInitialize()
+ current_area = get_area(loc)
+ if(isnull(current_area))
+ log_debug("[src] has no area.")
+ qdel(src)
+ return
+
+/obj/machinery/button/minigame/on_update_icon()
+ icon_state = "auth_[active ? "on" : "off"]"
+
+/obj/machinery/button/minigame/attackby(obj/item/W, mob/user)
+ return
+
+/obj/machinery/button/minigame/attack_ai(mob/user)
+ return
+
+/obj/machinery/button/minigame/activate(mob/living/user)
+ if(disabled)
+ show_splash_text(user, "event already started")
+ return
+
+ active = !active
+ update_icon()
+
+ var/buttons_total = 0
+ var/buttons_ready = 0
+ for(var/obj/machinery/button/minigame/button in current_area)
+ buttons_total++
+
+ if(button.active)
+ buttons_ready++
+
+ if(buttons_total == buttons_ready)
+ inititate_event()
+
+/obj/machinery/button/minigame/proc/inititate_event()
+ disabled = TRUE
+
+ for(var/obj/structure/window/basic/window in current_area)
+ qdel(window)
+
+ for(var/mob/participant in current_area)
+ to_chat(participant, SPAN_DANGER("FIGHT!"))
diff --git a/code/modules/holodeck/templates.dm b/code/modules/holodeck/templates.dm
new file mode 100644
index 00000000000..d2a6327039e
--- /dev/null
+++ b/code/modules/holodeck/templates.dm
@@ -0,0 +1,107 @@
+/datum/map_template/holodeck
+ returns_created_atoms = TRUE
+ /// Internal template identifier, might be or might not be a file name, used generally by UI.
+ var/template_id
+ /// Whether the template can be unlocked by emagging a console.
+ var/restricted = FALSE
+ /// List of SFX tags to be played when template is loaded.
+ var/list/ambience
+ /// List of SFX tags to be played as ambience music when template is loaded.
+ var/list/ambience_music
+
+/datum/map_template/holodeck/update_blacklist(turf/source_turf, centered, list/turf_blacklist)
+ for(var/turf/affecting_turf as anything in get_affected_turfs(source_turf, centered))
+ if(affecting_turf.holodeck_compatible || (affecting_turf.atom_flags & ATOM_FLAG_HOLOGRAM))
+ continue
+
+ turf_blacklist[affecting_turf] = TRUE
+
+/datum/map_template/holodeck/basketball
+ name = "basketball field"
+ template_id = "holodeck_basketball"
+ mappaths = list("maps/templates/holodeck_basketball.dmm")
+ ambience_music = list(SFX_AMBIENT_MUSIC_THUNDERDOME)
+
+/datum/map_template/holodeck/beach
+ name = "sunny beach"
+ template_id = "holodeck_beach"
+ mappaths = list("maps/templates/holodeck_beach.dmm")
+
+/datum/map_template/holodeck/boxing
+ name = "boxing arena"
+ template_id = "holodeck_boxing"
+ mappaths = list("maps/templates/holodeck_boxing.dmm")
+ ambience_music = list(SFX_AMBIENT_MUSIC_THUNDERDOME)
+
+/datum/map_template/holodeck/chess
+ name = "space chess"
+ template_id = "holodeck_chess"
+ mappaths = list("maps/templates/holodeck_chess.dmm")
+
+/datum/map_template/holodeck/courtroom
+ name = "courtroom"
+ template_id = "holodeck_courtroom"
+ mappaths = list("maps/templates/holodeck_courtroom.dmm")
+ ambience_music = list(SFX_AMBIENT_MUSIC_COURT)
+
+/datum/map_template/holodeck/desert
+ name = "space-mexican desert"
+ template_id = "holodeck_desert"
+ mappaths = list("maps/templates/holodeck_desert.dmm")
+ ambience = list(SFX_AMBIENT_DESERT)
+
+/datum/map_template/holodeck/disco
+ name = "disco room"
+ template_id = "holodeck_disco"
+ mappaths = list("maps/templates/holodeck_disco.dmm")
+
+/datum/map_template/holodeck/lasertag
+ name = "lasertag arena"
+ template_id = "holodeck_lasertag"
+ mappaths = list("maps/templates/holodeck_lasertag.dmm")
+ ambience_music = list(SFX_AMBIENT_MUSIC_THUNDERDOME)
+
+/datum/map_template/holodeck/meetingroom
+ name = "meeting room"
+ template_id = "holodeck_meetingroom"
+ mappaths = list("maps/templates/holodeck_meetingroom.dmm")
+
+/datum/map_template/holodeck/offline
+ name = "offline"
+ template_id = "holodeck_offline"
+ mappaths = list("maps/templates/holodeck_offline.dmm")
+
+/datum/map_template/holodeck/picnic
+ name = "mediterranean picnic"
+ template_id = "holodeck_picnic"
+ mappaths = list("maps/templates/holodeck_picnic.dmm")
+ ambience_music = list(SFX_AMBIENT_MUSIC_PICNIC)
+
+/datum/map_template/holodeck/snow
+ name = "snow desert"
+ template_id = "holodeck_snow"
+ mappaths = list("maps/templates/holodeck_snow.dmm")
+ ambience = list(SFX_AMBIENT_DESERT)
+
+/datum/map_template/holodeck/space
+ name = "totally accurate space"
+ template_id = "holodeck_space"
+ mappaths = list("maps/templates/holodeck_space.dmm")
+ ambience = list(SFX_AMBIENT_SPACE)
+
+/datum/map_template/holodeck/theatre
+ name = "space theatre"
+ template_id = "holodeck_theatre"
+ mappaths = list("maps/templates/holodeck_theatre.dmm")
+
+/datum/map_template/holodeck/thunderdome
+ name = "thunderdome arena"
+ template_id = "holodeck_thunderdome"
+ mappaths = list("maps/templates/holodeck_thunderdome.dmm")
+ ambience_music = list(SFX_AMBIENT_MUSIC_THUNDERDOME)
+
+/datum/map_template/holodeck/wildlife
+ name = "wildlife simulation"
+ template_id = "holodeck_wildlife"
+ mappaths = list("maps/templates/holodeck_wildlife.dmm")
+ restricted = TRUE
diff --git a/code/modules/holodeck/turfs.dm b/code/modules/holodeck/turfs.dm
new file mode 100644
index 00000000000..b1f46b512ee
--- /dev/null
+++ b/code/modules/holodeck/turfs.dm
@@ -0,0 +1,10 @@
+/turf/simulated/floor/holospace
+ name = "\proper space"
+ desc = "It's spa-a-ace!1!"
+
+ icon_state = "0"
+ icon = 'icons/turf/space.dmi'
+
+/turf/simulated/floor/holospace/Initialize(mapload, ...)
+ . = ..()
+ icon_state = "[((x + y) ^ ~(x * y) + z) % 25]"
diff --git a/code/modules/hydroponics/beekeeping/beehive.dm b/code/modules/hydroponics/beekeeping/beehive.dm
index 5e207a51fd4..71a4bf76791 100644
--- a/code/modules/hydroponics/beekeeping/beehive.dm
+++ b/code/modules/hydroponics/beekeeping/beehive.dm
@@ -34,10 +34,11 @@
if(81 to 100)
AddOverlays("bees3")
-/obj/machinery/beehive/_examine_text(mob/user)
+/obj/machinery/beehive/examine(mob/user, infix)
. = ..()
+
if(!closed)
- . += "\nThe lid is open."
+ . += "The lid is open."
/obj/machinery/beehive/attackby(obj/item/I, mob/user)
if(isCrowbar(I))
diff --git a/code/modules/hydroponics/grown_predefined.dm b/code/modules/hydroponics/grown_predefined.dm
index 7ad98dcd253..b40d6ac4d14 100644
--- a/code/modules/hydroponics/grown_predefined.dm
+++ b/code/modules/hydroponics/grown_predefined.dm
@@ -112,3 +112,15 @@
plantname = "flamechili"
name = "flamechili"
icon_state = "flamechili-product"
+
+/obj/item/reagent_containers/food/grown/coffee
+ plantname = "coffeea"
+ name = "coffee arabica beans"
+ desc = "Dry them out to make coffee."
+ icon_state = "arabica_beans"
+
+/obj/item/reagent_containers/food/grown/coffee/robusta
+ plantname = "coffeea_robusta"
+ name = "coffee robusta beans"
+ desc = "Dry them out to make coffee. Increases your robustness!"
+ icon_state = "robusta_beans"
diff --git a/code/modules/hydroponics/seed_datums.dm b/code/modules/hydroponics/seed_datums.dm
index 57f0ea18483..d3a8a69fd78 100644
--- a/code/modules/hydroponics/seed_datums.dm
+++ b/code/modules/hydroponics/seed_datums.dm
@@ -28,7 +28,7 @@
mutants = null
chems = list(/datum/reagent/frostoil = list(3,5), /datum/reagent/nutriment = list(1,50))
kitchen_tag = "icechili"
- canonical_icon = "icechili"
+ canonical_icon = "chiliice"
/datum/seed/chili/ice/New()
..()
@@ -44,7 +44,7 @@
chems = list(/datum/reagent/fuel = list(5,10))
kitchen_tag = "flamechili"
fun_level = 1
- canonical_icon = "chili"
+ canonical_icon = null
/datum/seed/chili/flame/New()
..()
@@ -1561,3 +1561,35 @@
set_trait(TRAIT_PLANT_COLOUR,"#4c7f28")
set_trait(TRAIT_WATER_CONSUMPTION, 10)
set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.25)
+
+/datum/seed/coffeea
+ name = "coffeea"
+ seed_name = "coffeea"
+ display_name = "coffee arabica bush"
+ mutants = list("coffeea_robusta")
+ kitchen_tag = "coffeebean"
+ canonical_icon = "coffeea"
+ has_custom_product = /obj/item/reagent_containers/food/grown/coffee
+
+/datum/seed/coffeea/New()
+ ..()
+ set_trait(TRAIT_HARVEST_REPEAT, 1)
+ set_trait(TRAIT_MATURATION, 5)
+ set_trait(TRAIT_YIELD, 5)
+ set_trait(TRAIT_POTENCY, 3)
+ set_trait(TRAIT_PRODUCTION, 3)
+ set_trait(TRAIT_IDEAL_LIGHT, 6)
+ set_trait(TRAIT_PRODUCT_ICON, "arabica_beans")
+ set_trait(TRAIT_PLANT_ICON, "coffeea")
+ set_trait(TRAIT_WATER_CONSUMPTION, 10)
+ set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.3)
+
+/datum/seed/coffeea/robusta
+ name = "coffeea_robusta"
+ display_name = "coffee robusta bush"
+ seed_name = "coffeea-robusta"
+ has_custom_product = /obj/item/reagent_containers/food/grown/coffee/robusta
+
+/datum/seed/coffeea/robusta/New()
+ ..()
+ set_trait(TRAIT_PRODUCT_ICON, "robusta_beans")
diff --git a/code/modules/hydroponics/seed_packets.dm b/code/modules/hydroponics/seed_packets.dm
index 1a85b4d99d5..4648e11d31d 100644
--- a/code/modules/hydroponics/seed_packets.dm
+++ b/code/modules/hydroponics/seed_packets.dm
@@ -57,10 +57,11 @@ var/global/list/plant_seed_sprites = list()
src.SetName("sample of [seed.seed_name] [seed.seed_noun]")
src.desc = "It's labelled as coming from [seed.display_name]."
-/obj/item/seeds/_examine_text(mob/user)
- . = ..(user)
+/obj/item/seeds/examine(mob/user, infix)
+ . = ..()
+
if(seed && !seed.roundstart)
- . += "\nIt's tagged as variety #[seed.uid]."
+ . += "It's tagged as variety #[seed.uid]."
/obj/item/seeds/cutting
name = "cuttings"
@@ -329,3 +330,6 @@ var/global/list/plant_seed_sprites = list()
/obj/item/seeds/cowcownutseed
seed_type = "cowcownut"
+
+/obj/item/seeds/coffeea
+ seed_type = "coffeea"
diff --git a/code/modules/hydroponics/trays/tray.dm b/code/modules/hydroponics/trays/tray.dm
index 9de4939e805..dda716e23c7 100644
--- a/code/modules/hydroponics/trays/tray.dm
+++ b/code/modules/hydroponics/trays/tray.dm
@@ -220,12 +220,14 @@
update_icon()
/obj/machinery/portable_atmospherics/hydroponics/proc/die()
- dead = 1
+ dead = TRUE
mutation_level = 0
harvest = 0
weedlevel += 1 * HYDRO_SPEED_MULTIPLIER
pestlevel = 0
+ update_icon() // Explicitly calling update_icons here since our processing is an entangled mess.
+
//Process reagents being input into the tray.
/obj/machinery/portable_atmospherics/hydroponics/proc/process_reagents()
@@ -565,31 +567,30 @@
else if(dead)
remove_dead(user)
-/obj/machinery/portable_atmospherics/hydroponics/_examine_text(mob/user)
-
+/obj/machinery/portable_atmospherics/hydroponics/examine(mob/user, infix)
. = ..()
if(!seed)
- . += "\n[src] is empty."
+ . += "[src] is empty."
return
- . += "\n[seed.display_name] are growing here."
+ . += SPAN_NOTICE("[seed.display_name] are growing here.")
if(!Adjacent(usr))
return
- . += "\nWater: [round(waterlevel,0.1)]/100"
- . += "\nNutrient: [round(nutrilevel,0.1)]/10"
+ . += "Water: [round(waterlevel,0.1)]/100"
+ . += "Nutrient: [round(nutrilevel,0.1)]/10"
if(weedlevel >= 5)
- . += "\n\The [src] is infested with weeds!"
+ . += "\The [src] is infested with weeds!"
if(pestlevel >= 5)
- . += "\n\The [src] is infested with tiny worms!"
+ . += "\The [src] is infested with tiny worms!"
if(dead)
- . += "\nThe plant is dead."
+ . += SPAN_DANGER("The plant is dead.")
else if(health <= (seed.get_trait(TRAIT_ENDURANCE)/ 2))
- . += "\nThe plant looks unhealthy."
+ . += "The plant looks [SPAN_DANGER("unhealthy")]."
if(mechanical)
var/turf/T = loc
@@ -612,7 +613,7 @@
var/light_available = T.get_lumcount() * 5
light_string = "a light level of [light_available] lumens"
- . += "\nThe tray's sensor suite is reporting [light_string] and a temperature of [environment.temperature]K."
+ . += "The tray's sensor suite is reporting [light_string] and a temperature of [environment.temperature]K."
/obj/machinery/portable_atmospherics/hydroponics/verb/close_lid_verb()
set name = "Toggle Tray Lid"
diff --git a/code/modules/hydroponics/trays/tray_update_icons.dm b/code/modules/hydroponics/trays/tray_update_icons.dm
index b3502c559a3..4d6b55436af 100644
--- a/code/modules/hydroponics/trays/tray_update_icons.dm
+++ b/code/modules/hydroponics/trays/tray_update_icons.dm
@@ -75,7 +75,7 @@
new_overlays += plant_overlay
if(harvest && overlay_stage == seed.growth_stages)
- ikey = "product-[seed.get_trait(TRAIT_PRODUCT_ICON)]" + (seed.customsprite ? "" : "-[seed.get_trait(TRAIT_PLANT_COLOUR)]")
+ ikey = "product-[seed.get_trait(TRAIT_PRODUCT_ICON)]" + (seed.customsprite ? "" : "-[seed.get_trait(TRAIT_PRODUCT_COLOUR)]")
var/image/harvest_overlay = SSplants.plant_icon_cache[ikey]
if(!harvest_overlay)
diff --git a/code/modules/integrated_electronics/core/assemblies.dm b/code/modules/integrated_electronics/core/assemblies.dm
index c3e425e1ce4..dd7453ae5ee 100644
--- a/code/modules/integrated_electronics/core/assemblies.dm
+++ b/code/modules/integrated_electronics/core/assemblies.dm
@@ -74,8 +74,9 @@
/obj/item/device/electronic_assembly/GetAccess()
return access_card ? access_card.GetAccess() : list()
-/obj/item/device/electronic_assembly/_examine_text(mob/user)
+/obj/item/device/electronic_assembly/examine(mob/user, infix)
. = ..()
+
if(can_anchor)
to_chat(user, SPAN_NOTICE("The anchoring bolts [anchored ? "are" : "can be"] wrenched in place and the maintenance panel [opened ? "can be" : "is"] screwed in place."))
else
@@ -86,6 +87,7 @@
for(var/obj/item/integrated_circuit/I in assembly_components)
I.external_examine(user)
+
interact(user)
/obj/item/device/electronic_assembly/proc/check_interactivity(mob/user, datum/topic = GLOB.physical_state)
@@ -650,9 +652,6 @@
/obj/item/device/electronic_assembly/proc/welder_act(mob/living/user, obj/item/weldingtool/I)
var/type_to_use
- if(!I.isOn())
- return
-
if(!sealed)
type_to_use = input("What would you like to do?","[src] type setting") as null|anything in list("repair", "seal")
else
@@ -670,10 +669,12 @@
if("seal")
if(!opened)
- if(I.remove_fuel(3,user))
- sealed = TRUE
- to_chat(user,SPAN_NOTICE("You seal the assembly, making it impossible to be opened."))
- return TRUE
+ if(!I.use_tool(src, user, amount = 3))
+ return
+
+ sealed = TRUE
+ to_chat(user,SPAN_NOTICE("You seal the assembly, making it impossible to be opened."))
+ return TRUE
else
to_chat(user,SPAN_NOTICE("You need to close the assembly first before sealing it indefinitely!"))
@@ -681,14 +682,16 @@
if("unseal")
to_chat(user,SPAN_NOTICE("You start unsealing the assembly carefully..."))
- if(I.remove_fuel(3,user))
- for(var/obj/item/integrated_circuit/IC in assembly_components)
- if(prob(50))
- IC.disconnect_all()
+ if(!I.use_tool(src, user, amount = 3))
+ return
- to_chat(user,SPAN_NOTICE("You unsealed the assembly."))
- sealed = FALSE
- return TRUE
+ for(var/obj/item/integrated_circuit/IC in assembly_components)
+ if(prob(50))
+ IC.disconnect_all()
+
+ to_chat(user,SPAN_NOTICE("You unsealed the assembly."))
+ sealed = FALSE
+ return TRUE
/obj/item/device/electronic_assembly/proc/default_unfasten_wrench(mob/user, obj/item/I, time = 20)
if(isWrench(I) && istype(loc, /turf) && can_anchor)
diff --git a/code/modules/integrated_electronics/core/integrated_circuit.dm b/code/modules/integrated_electronics/core/integrated_circuit.dm
index c82e0f8a95f..2e3b5427429 100644
--- a/code/modules/integrated_electronics/core/integrated_circuit.dm
+++ b/code/modules/integrated_electronics/core/integrated_circuit.dm
@@ -38,7 +38,7 @@
a creative player the means to solve many problems. Circuits are held inside an electronic assembly, and are wired using special tools.
*/
-/obj/item/integrated_circuit/_examine_text(mob/user)
+/obj/item/integrated_circuit/examine(mob/user, infix)
interact(user)
external_examine(user)
. = ..()
diff --git a/code/modules/integrated_electronics/core/printer.dm b/code/modules/integrated_electronics/core/printer.dm
index 7e58ffb589a..ce3d3f9c694 100644
--- a/code/modules/integrated_electronics/core/printer.dm
+++ b/code/modules/integrated_electronics/core/printer.dm
@@ -18,6 +18,10 @@
var/metal_max = 25 * SHEET_MATERIAL_AMOUNT
var/weakref/idlock = null
+/obj/item/device/integrated_circuit_printer/Initialize()
+ . = ..()
+ add_think_ctx("print_context", CALLBACK(src, nameof(.proc/print_program)), 0)
+
/obj/item/device/integrated_circuit_printer/proc/check_interactivity(mob/user)
return CanUseTopic(user) && (get_dist(src, user) < 2)
@@ -363,7 +367,7 @@
cloning = TRUE
to_chat(usr, SPAN_NOTICE("You begin printing a custom assembly. This will take approximately [round(cloning_time/10)] seconds. You can still print off normal parts during this time."))
playsound(src, 'sound/items/poster_being_created.ogg', 50, TRUE)
- addtimer(CALLBACK(src, nameof(.proc/print_program), usr), cloning_time)
+ set_next_think_ctx("print_context", world.time + cloning_time, usr)
if("cancel")
if(!cloning || !program)
diff --git a/code/modules/integrated_electronics/core/special_pins/color_pin.dm b/code/modules/integrated_electronics/core/special_pins/color_pin.dm
index f0932cbad13..0c0af5bf3b5 100644
--- a/code/modules/integrated_electronics/core/special_pins/color_pin.dm
+++ b/code/modules/integrated_electronics/core/special_pins/color_pin.dm
@@ -3,7 +3,7 @@
name = "color pin"
/datum/integrated_io/color/ask_for_pin_data(mob/user)
- var/new_data = input("Please select a color.","[src] color writing") as color|null
+ var/new_data = tgui_color_picker("Please select a color.","[src] color writing")
if(holder.check_interactivity(user) )
to_chat(user, SPAN("notice", "You input a new color into the pin."))
write_data_to_pin(new_data)
diff --git a/code/modules/integrated_electronics/subtypes/input.dm b/code/modules/integrated_electronics/subtypes/input.dm
index d2f48e6d171..7c0e9b60465 100644
--- a/code/modules/integrated_electronics/subtypes/input.dm
+++ b/code/modules/integrated_electronics/subtypes/input.dm
@@ -141,7 +141,7 @@
radial_menu_icon = "colorpad"
/obj/item/integrated_circuit/input/colorpad/ask_for_input(mob/user)
- var/new_color = input(user, "Enter a color, please.", "Color", "#ffffff") as color|null
+ var/new_color = tgui_color_picker(user, "Enter a color, please.", "Color", "#ffffff")
if(new_color && user.IsAdvancedToolUser())
set_pin_data(IC_OUTPUT, 1, new_color)
push_data()
@@ -152,7 +152,7 @@
/obj/item/integrated_circuit/input/colorpad/OnICTopic(href_list, mob/user)
if(href_list["enter_color"])
- var/new_color = input(user, "Enter a color, please.", "Color", "#ffffff") as color|null
+ var/new_color = tgui_color_picker(user, "Enter a color, please.", "Color", "#ffffff")
if(new_color && user.IsAdvancedToolUser())
set_pin_data(IC_OUTPUT, 1, new_color)
push_data()
@@ -355,7 +355,7 @@
if(istype(H, /mob/living/carbon/human))
var/mob/living/carbon/human/M = H
- var/msg = M._examine_text()
+ var/msg = M.run_examinate(src)
if(msg)
set_pin_data(IC_OUTPUT, 2, msg)
diff --git a/code/modules/integrated_electronics/subtypes/manipulation.dm b/code/modules/integrated_electronics/subtypes/manipulation.dm
index 4cf6b3d6334..965e92711ed 100644
--- a/code/modules/integrated_electronics/subtypes/manipulation.dm
+++ b/code/modules/integrated_electronics/subtypes/manipulation.dm
@@ -87,7 +87,7 @@
else
return ..()
-/obj/item/integrated_circuit/manipulation/grenade/proc/before_activation_action()
+/obj/item/integrated_circuit/manipulation/grenade/think()
grenade_activated = FALSE
detach_grenade()
@@ -99,8 +99,8 @@
dt = Clamp(detonation_time.data, 1, 12)*10
else
dt = 15
- addtimer(CALLBACK(attached_grenade, nameof(/obj/item/grenade.proc/activate)), dt)
- addtimer(CALLBACK(src, nameof(.proc/before_activation_action)), dt - 1)
+ attached_grenade.set_next_think_ctx("think_activate", world.time + dt)
+ set_next_think(world.time + dt - 1)
grenade_activated = TRUE
var/atom/holder = loc
var/atom/A = get_object()
diff --git a/code/modules/integrated_electronics/subtypes/memory.dm b/code/modules/integrated_electronics/subtypes/memory.dm
index 90d6416aebb..d26946dca70 100644
--- a/code/modules/integrated_electronics/subtypes/memory.dm
+++ b/code/modules/integrated_electronics/subtypes/memory.dm
@@ -18,8 +18,9 @@
complexity = number_of_pins
. = ..()
-/obj/item/integrated_circuit/memory/_examine_text(mob/user)
+/obj/item/integrated_circuit/memory/examine(mob/user, infix)
. = ..()
+
var/i
for(i = 1, i <= outputs.len, i++)
var/datum/integrated_io/O = outputs[i]
@@ -30,7 +31,7 @@
data = "[d]"
else if(!isnull(O.data))
data = O.data
- to_chat(user, "\The [src] has [data] saved to address [i].")
+ . += "\The [src] has [data] saved to address [i]."
/obj/item/integrated_circuit/memory/do_work()
for(var/i = 1 to inputs.len)
diff --git a/code/modules/integrated_electronics/subtypes/mining.dm b/code/modules/integrated_electronics/subtypes/mining.dm
index 5e1e9bc4b9d..d5897f387a5 100644
--- a/code/modules/integrated_electronics/subtypes/mining.dm
+++ b/code/modules/integrated_electronics/subtypes/mining.dm
@@ -150,8 +150,10 @@
usedx = assembly.loc.x
usedy = assembly.loc.y
playsound(src, 'sound/items/Ratchet.ogg',50,1)
- addtimer(CALLBACK(src, nameof(.proc/drill)), 50)
+ set_next_think(world.time + 5 SECONDS)
+/obj/item/integrated_circuit/mining/mining_drill/think()
+ drill()
/obj/item/integrated_circuit/mining/mining_drill/proc/drill()
busy = FALSE
diff --git a/code/modules/integrated_electronics/subtypes/reagents.dm b/code/modules/integrated_electronics/subtypes/reagents.dm
index 5e846d9a86a..6c41a7b4270 100644
--- a/code/modules/integrated_electronics/subtypes/reagents.dm
+++ b/code/modules/integrated_electronics/subtypes/reagents.dm
@@ -104,6 +104,11 @@
var/transfer_amount = 10
var/busy = FALSE
+/obj/item/integrated_circuit/reagent/injector/Initialize()
+ . = ..()
+ add_think_ctx("inject_after", CALLBACK(src, nameof(.proc/inject_after)), 0)
+ add_think_ctx("draw_after", CALLBACK(src, nameof(.proc/draw_after)), 0)
+
/obj/item/integrated_circuit/reagent/injector/on_reagent_change(changetype)
push_vol()
@@ -188,7 +193,7 @@
L.visible_message(SPAN("danger", "[acting_object] is trying to inject [L]!"), \
SPAN("danger", "[acting_object] is trying to inject you!"))
busy = TRUE
- addtimer(CALLBACK(src, nameof(.proc/inject_after), weakref(L)), injection_status * 3 SECONDS)
+ set_next_think_ctx("inject_after", world.time + injection_status * 3 SECONDS, weakref(L))
return
else
if(!AM.is_open_container())
@@ -215,7 +220,7 @@
C.visible_message(SPAN("danger", "[acting_object] takes a blood sample from [C]!"), \
SPAN("danger", "[acting_object] takes a blood sample from you!"))
busy = TRUE
- addtimer(CALLBACK(src, nameof(.proc/draw_after), weakref(C), tramount), injection_status * 3 SECONDS)
+ set_next_think_ctx("draw_after", world.time + injection_status * 3 SECONDS, weakref(C), tramount)
return
else
diff --git a/code/modules/integrated_electronics/subtypes/time.dm b/code/modules/integrated_electronics/subtypes/time.dm
index b0e185b0576..f82b125a2a8 100644
--- a/code/modules/integrated_electronics/subtypes/time.dm
+++ b/code/modules/integrated_electronics/subtypes/time.dm
@@ -16,8 +16,12 @@
spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH
power_draw_per_use = 2
+/obj/item/integrated_circuit/time/delay/Initialize()
+ . = ..()
+ add_think_ctx("activate_pin", CALLBACK(src, nameof(.proc/activate_pin)), 0)
+
/obj/item/integrated_circuit/time/delay/do_work()
- addtimer(CALLBACK(src, nameof(.proc/activate_pin), 2), delay)
+ set_next_think_ctx("activate_pin", world.time + delay, 2)
/obj/item/integrated_circuit/time/delay/five_sec
name = "five-sec delay circuit"
diff --git a/code/modules/library/lib_machines.dm b/code/modules/library/lib_machines.dm
index aea811de460..700fcbae046 100644
--- a/code/modules/library/lib_machines.dm
+++ b/code/modules/library/lib_machines.dm
@@ -76,6 +76,10 @@
obj_flags = OBJ_FLAG_ANCHORABLE
var/obj/item/print_object
+/obj/machinery/bookbinder/Initialize()
+ . = ..()
+ add_think_ctx("handle_paper", CALLBACK(src, nameof(.proc/handle_paper)), 0)
+
/obj/machinery/bookbinder/attack_hand(mob/user)
if(print_object)
src.visible_message("[src] whirs as it spitting out \the [print_object].")
@@ -96,7 +100,7 @@
if((istype(O, /obj/item/paper) || istype(O, /obj/item/book/wiki/template)) && user.drop(O, src))
user.visible_message("[user] loads some paper into [src].", "You load some paper into [src].")
visible_message("[src] begins to hum as it warms up its printing drums.")
- addtimer(CALLBACK(src, nameof(.proc/handle_paper), O), rand(200,400))
+ set_next_think_ctx("handle_paper", world.time + rand(20 SECONDS, 40 SECONDS), O)
else if(istype(O, /obj/item/canvas) && user.drop(O, src))
print_object = O
user.visible_message("[user] loads \the [O] into [src].", "You load \the [O] into [src].")
diff --git a/code/modules/lighting/lighting_atom.dm b/code/modules/lighting/lighting_atom.dm
index db412969853..f3f63ffe0c8 100644
--- a/code/modules/lighting/lighting_atom.dm
+++ b/code/modules/lighting/lighting_atom.dm
@@ -90,7 +90,7 @@ if(loc != old_loc) {\
}\
}
-/atom/movable/Move()
+/atom/movable/Move(newloc, direct)
LIGHT_MOVE_UPDATE
/atom/movable/forceMove()
diff --git a/code/modules/maps/map_template.dm b/code/modules/maps/map_template.dm
index 90a950c28dc..cdc9ef95f07 100644
--- a/code/modules/maps/map_template.dm
+++ b/code/modules/maps/map_template.dm
@@ -9,6 +9,10 @@
var/base_turf_for_zs = null
var/accessibility_weight = 0
var/template_flags = TEMPLATE_FLAG_ALLOW_DUPLICATES
+ /// Whether this template will put initialized atoms in `created_atoms`.
+ var/returns_created_atoms = FALSE
+ /// List of all atoms created during template loading, use with `returns_created_atoms`.
+ var/list/atom/created_atoms
/datum/map_template/New(list/paths = null, rename = null)
if(paths && !islist(paths))
@@ -54,7 +58,10 @@
if(istype(A, /obj/machinery))
machines += A
- SSatoms.InitializeAtoms(atoms)
+ if(returns_created_atoms)
+ created_atoms = SSatoms.InitializeAtoms(atoms)
+ else
+ SSatoms.InitializeAtoms(atoms)
SSmachines.setup_template_powernets(cables)
SSair.setup_template_machinery(atmos_machines)
@@ -100,21 +107,27 @@
return locate(world.maxx/2, world.maxy/2, world.maxz)
-/datum/map_template/proc/load(turf/T, centered=FALSE, clear_contents=FALSE)
+/datum/map_template/proc/load(turf/T, centered = FALSE, clear_contents = FALSE)
if(centered)
T = locate(T.x - round(width/2) , T.y - round(height/2) , T.z)
+
if(!T)
return
+
if(T.x+width > world.maxx)
return
+
if(T.y+height > world.maxy)
return
var/list/atoms_to_initialise = list()
- for (var/mappath in mappaths)
- var/datum/map_load_metadata/M = maploader.load_map(file(mappath), T.x, T.y, T.z, cropMap=TRUE, clear_contents= clear_contents)
- if (M)
+ var/list/turf_blacklist = list()
+ update_blacklist(T, centered, turf_blacklist)
+
+ for(var/mappath in mappaths)
+ var/datum/map_load_metadata/M = maploader.load_map(file(mappath), T.x, T.y, T.z, cropMap=TRUE, clear_contents= clear_contents, turf_blacklist=turf_blacklist)
+ if(M)
atoms_to_initialise += M.atoms_to_initialise
else
return FALSE
@@ -128,6 +141,9 @@
return TRUE
+/datum/map_template/proc/update_blacklist(turf/source_turf, centered = FALSE, list/turf_blacklist)
+ return
+
/datum/map_template/proc/extend_bounds_if_needed(list/existing_bounds, list/new_bounds)
var/list/bounds_to_combine = existing_bounds.Copy()
for (var/min_bound in list(MAP_MINX, MAP_MINY, MAP_MINZ))
diff --git a/code/modules/maps/reader.dm b/code/modules/maps/reader.dm
index df0338a3289..fe703dd6dc4 100644
--- a/code/modules/maps/reader.dm
+++ b/code/modules/maps/reader.dm
@@ -33,21 +33,21 @@ GLOBAL_DATUM_INIT(_preloader, /dmm_suite/preloader, new)
* 2) Read the map line by line, parsing the result (using parse_grid)
*
*/
-/dmm_suite/load_map(dmm_file, x_offset, y_offset, z_offset, cropMap, measureOnly, no_changeturf, clear_contents, lower_crop_x, lower_crop_y, upper_crop_x, upper_crop_y)
+/dmm_suite/load_map(dmm_file, x_offset, y_offset, z_offset, cropMap, measureOnly, no_changeturf, clear_contents, lower_crop_x, lower_crop_y, upper_crop_x, upper_crop_y, turf_blacklist)
//How I wish for RAII
Master.StartLoadingMap()
space_key = null
#ifdef TESTING
turfsSkipped = 0
#endif
- . = load_map_impl(dmm_file, x_offset, y_offset, z_offset, cropMap, measureOnly, no_changeturf, clear_contents, lower_crop_x, upper_crop_x, lower_crop_y, upper_crop_y)
+ . = load_map_impl(dmm_file, x_offset, y_offset, z_offset, cropMap, measureOnly, no_changeturf, clear_contents, lower_crop_x, upper_crop_x, lower_crop_y, upper_crop_y, turf_blacklist)
#ifdef TESTING
if(turfsSkipped)
testing("Skipped loading [turfsSkipped] default turfs")
#endif
Master.StopLoadingMap()
-/dmm_suite/proc/load_map_impl(dmm_file, x_offset, y_offset, z_offset, cropMap, measureOnly, no_changeturf, clear_contents, x_lower = -INFINITY, x_upper = INFINITY, y_lower = -INFINITY, y_upper = INFINITY)
+/dmm_suite/proc/load_map_impl(dmm_file, x_offset, y_offset, z_offset, cropMap, measureOnly, no_changeturf, clear_contents, x_lower = -INFINITY, x_upper = INFINITY, y_lower = -INFINITY, y_upper = INFINITY, turf_blacklist)
var/tfile = dmm_file//the map file we're creating
if(isfile(tfile))
tfile = file2text(tfile)
@@ -169,7 +169,7 @@ GLOBAL_DATUM_INIT(_preloader, /dmm_suite/preloader, new)
if(!no_afterchange || (model_key != space_key))
if(!grid_models[model_key])
throw EXCEPTION("Undefined model key in DMM.")
- var/datum/grid_load_metadata/M = parse_grid(grid_models[model_key], model_key, xcrd, ycrd, zcrd, no_changeturf || zexpansion, clear_contents)
+ var/datum/grid_load_metadata/M = parse_grid(grid_models[model_key], model_key, xcrd, ycrd, zcrd, no_changeturf || zexpansion, clear_contents, turf_blacklist)
if (M)
atoms_to_initialise += M.atoms_to_initialise
atoms_to_delete += M.atoms_to_delete
@@ -233,7 +233,7 @@ GLOBAL_DATUM_INIT(_preloader, /dmm_suite/preloader, new)
/obj/structure,
)
-/dmm_suite/proc/parse_grid(model as text, model_key as text, xcrd as num,ycrd as num,zcrd as num, no_changeturf as num, clear_contents as num)
+/dmm_suite/proc/parse_grid(model as text, model_key as text, xcrd as num,ycrd as num,zcrd as num, no_changeturf as num, clear_contents as num, turf_blacklist)
/*Method parse_grid()
- Accepts a text string containing a comma separated list of type paths of the
same construction as those contained in a .dmm file, and instantiates them.
@@ -320,6 +320,9 @@ GLOBAL_DATUM_INIT(_preloader, /dmm_suite/preloader, new)
//The next part of the code assumes there's ALWAYS an /area AND a /turf on a given tile
var/turf/crds = locate(xcrd,ycrd,zcrd)
+ if(turf_blacklist?[crds])
+ return
+
var/is_not_noop = FALSE
var/atoms_to_delete = list()
diff --git a/code/modules/materials/material_recipes.dm b/code/modules/materials/material_recipes.dm
index 0b12d2f243a..fcda78d13bc 100644
--- a/code/modules/materials/material_recipes.dm
+++ b/code/modules/materials/material_recipes.dm
@@ -69,7 +69,7 @@
recipes += new /datum/stack_recipe("machine frame", /obj/machinery/constructable_frame/machine_frame, 5, time = 25, one_per_turf = 1, on_floor = 1)
recipes += new /datum/stack_recipe("vending frame", /obj/machinery/vending_frame, 5, time = 25, one_per_turf = 1, on_floor = 1)
recipes += new /datum/stack_recipe("turret frame", /obj/machinery/turret_frame, 5, time = 25, one_per_turf = 1, on_floor = 1)
- recipes += new /datum/stack_recipe("turret frame", /obj/structure/turret_control_frame, 5, time = 25, one_per_turf = 1, on_floor = 1)
+ recipes += new /datum/stack_recipe("turret control frame", /obj/structure/turret_control_frame, 5, time = 25, one_per_turf = 1, on_floor = 1)
recipes += new /datum/stack_recipe("shutters assembly", /obj/structure/secure_door_assembly/shutters, 10, time = 50, one_per_turf = 1, on_floor = 1)
recipes += new /datum/stack_recipe_list("airlock assemblies", list( \
new /datum/stack_recipe("standard airlock assembly", /obj/structure/door_assembly, 4, time = 50, one_per_turf = 1, on_floor = 1), \
@@ -155,12 +155,14 @@
recipes += new /datum/stack_recipe("large box", /obj/item/storage/box/large, 2)
recipes += new /datum/stack_recipe("donut box", /obj/item/storage/box/donut/empty)
recipes += new /datum/stack_recipe("egg box", /obj/item/storage/fancy/egg_box/empty)
+ recipes += new /datum/stack_recipe("condiments display", /obj/structure/coffee_condi_display)
recipes += new /datum/stack_recipe("light tubes box", /obj/item/storage/box/lights/tubes/empty)
recipes += new /datum/stack_recipe("light bulbs box", /obj/item/storage/box/lights/bulbs/empty)
recipes += new /datum/stack_recipe("mouse traps box", /obj/item/storage/box/mousetraps/empty)
recipes += new /datum/stack_recipe("cardborg suit", /obj/item/clothing/suit/cardborg, 3)
recipes += new /datum/stack_recipe("cardborg helmet", /obj/item/clothing/head/cardborg)
recipes += new /datum/stack_recipe("pizza box", /obj/item/pizzabox)
+ recipes += new /datum/stack_recipe("takeaway cups", /obj/item/reagent_containers/vessel/takeaway, 1, 4)
recipes += new /datum/stack_recipe_list("folders",list( \
new /datum/stack_recipe("blue folder", /obj/item/folder/blue), \
new /datum/stack_recipe("grey folder", /obj/item/folder), \
diff --git a/code/modules/materials/material_sheets.dm b/code/modules/materials/material_sheets.dm
index e119e6dd46b..3386c447695 100644
--- a/code/modules/materials/material_sheets.dm
+++ b/code/modules/materials/material_sheets.dm
@@ -1,5 +1,6 @@
// Stacked resources. They use a material datum for a lot of inherited values.
/obj/item/stack/material
+ item_state = "sheet-metal" // Placeholder, since we don't have icons for all the sheets yet. Better than invisible icons, I suppose ~ToTh
force = 5.0
throwforce = 5
w_class = ITEM_SIZE_NORMAL
@@ -101,8 +102,9 @@
/obj/item/stack/material/iron
name = "iron"
icon_state = "silver"
+ item_state = "sheet-silver"
default_type = MATERIAL_IRON
- apply_colour = 1
+ apply_colour = TRUE
/obj/item/stack/material/sandstone
name = "sandstone brick"
@@ -126,6 +128,7 @@
/obj/item/stack/material/diamond
name = "diamond"
icon_state = "diamond"
+ item_state = "sheet-diamond"
default_type = MATERIAL_DIAMOND
/obj/item/stack/material/diamond/ten
@@ -134,6 +137,7 @@
/obj/item/stack/material/uranium
name = MATERIAL_URANIUM
icon_state = "uranium"
+ item_state = "sheet-uranium"
default_type = MATERIAL_URANIUM
/obj/item/stack/material/uranium/ten
@@ -142,6 +146,7 @@
/obj/item/stack/material/plasma
name = "solid plasma"
icon_state = "solid_plasma"
+ item_state = "sheet-plasma"
default_type = MATERIAL_PLASMA
/obj/item/stack/material/plasma/ten
@@ -153,6 +158,7 @@
/obj/item/stack/material/plastic
name = "plastic"
icon_state = "plastic"
+ item_state = "sheet-plastic"
default_type = MATERIAL_PLASTIC
/obj/item/stack/material/plastic/ten
@@ -164,6 +170,7 @@
/obj/item/stack/material/gold
name = "gold"
icon_state = "gold"
+ item_state = "sheet-gold"
default_type = MATERIAL_GOLD
/obj/item/stack/material/gold/ten
@@ -172,6 +179,7 @@
/obj/item/stack/material/silver
name = "silver"
icon_state = "silver"
+ item_state = "sheet-silver"
default_type = MATERIAL_SILVER
/obj/item/stack/material/silver/ten
@@ -181,6 +189,7 @@
/obj/item/stack/material/platinum
name = "platinum"
icon_state = "adamantine"
+ item_state = "sheet-platinum"
default_type = MATERIAL_PLATINUM
/obj/item/stack/material/platinum/ten
@@ -190,17 +199,26 @@
/obj/item/stack/material/mhydrogen
name = "metallic hydrogen"
icon_state = "hydrogen"
+ item_state = "sheet-hydrogen"
default_type = MATERIAL_HYDROGEN
/obj/item/stack/material/mhydrogen/ten
amount = 10
+//God tier resource, cargo can sell it.
+/obj/item/stack/material/adamantine
+ name = "adamantine"
+ icon_state = "adamantine"
+ default_type = MATERIAL_ADAMANTINE
+ apply_colour = TRUE
+
//Fuel for MRSPACMAN generator.
/obj/item/stack/material/tritium
name = "tritium"
icon_state = "silver"
+ item_state = "sheet-silver"
default_type = MATERIAL_TRITIUM
- apply_colour = 1
+ apply_colour = TRUE
/obj/item/stack/material/tritium/ten
amount = 10
@@ -211,8 +229,9 @@
/obj/item/stack/material/osmium
name = "osmium"
icon_state = "silver"
+ item_state = "sheet-silver"
default_type = MATERIAL_OSMIUM
- apply_colour = 1
+ apply_colour = TRUE
/obj/item/stack/material/osmium/ten
amount = 10
@@ -220,9 +239,9 @@
/obj/item/stack/material/ocp
name = "osmium-carbide plasteel"
icon_state = "plasteel"
- item_state = "sheet-metal"
+ item_state = "sheet-plasteel"
default_type = MATERIAL_OSMIUM_CARBIDE_PLASTEEL
- apply_colour = 1
+ apply_colour = TRUE
/obj/item/stack/material/ocp/ten
amount = 10
@@ -234,8 +253,9 @@
/obj/item/stack/material/deuterium
name = "deuterium"
icon_state = "silver"
+ item_state = "sheet-silver"
default_type = MATERIAL_DEUTERIUM
- apply_colour = 1
+ apply_colour = TRUE
/obj/item/stack/material/deuterium/fifty
amount = 50
@@ -243,6 +263,7 @@
/obj/item/stack/material/steel
name = "steel"
icon_state = "metal"
+ item_state = "sheet-metal"
default_type = MATERIAL_STEEL
/obj/item/stack/material/steel/ten
@@ -254,7 +275,7 @@
/obj/item/stack/material/plasteel
name = "plasteel"
icon_state = "plasteel"
- item_state = "sheet-metal"
+ item_state = "sheet-plasteel"
default_type = MATERIAL_PLASTEEL
/obj/item/stack/material/plasteel/ten
@@ -266,9 +287,9 @@
/obj/item/stack/material/plasteel/titanium
name = "titanium"
icon_state = "metal"
- item_state = "metal"
+ item_state = "sheet-titanium"
default_type = MATERIAL_TITANIUM
- apply_colour = 1
+ apply_colour = TRUE
/obj/item/stack/material/plasteel/titanium/ten
amount = 10
@@ -279,6 +300,7 @@
/obj/item/stack/material/wood
name = "wooden plank"
icon_state = "wood"
+ item_state = "sheet-wood"
default_type = MATERIAL_WOOD
drop_sound = SFX_DROP_WOODEN
pickup_sound = SFX_PICKUP_WOODEN
@@ -292,6 +314,7 @@
/obj/item/stack/material/darkwood
name = "darkwood plank"
icon_state = "darkwood"
+ item_state = "sheet-wood"
default_type = MATERIAL_DARKWOOD
/obj/item/stack/material/darkwood/ten
@@ -308,6 +331,7 @@
/obj/item/stack/material/cardboard
name = "cardboard"
icon_state = "card"
+ item_state = "sheet-card"
default_type = MATERIAL_CARDBOARD
/obj/item/stack/material/cardboard/ten
@@ -320,6 +344,7 @@
name = "leather"
desc = "The by-product of mob grinding."
icon_state = "leather"
+ item_state = "clipboard"
default_type = MATERIAL_LEATHER
drop_sound = SFX_DROP_LEATHER
@@ -328,6 +353,7 @@
/obj/item/stack/material/glass
name = "glass"
icon_state = "glass"
+ item_state = "sheet-glass"
default_type = MATERIAL_GLASS
drop_sound = SFX_DROP_GLASS
pickup_sound = SFX_PICKUP_GLASS
@@ -341,6 +367,7 @@
/obj/item/stack/material/glass/reinforced
name = "reinforced glass"
icon_state = "rglass"
+ item_state = "sheet-rglass"
default_type = MATERIAL_REINFORCED_GLASS
/obj/item/stack/material/glass/reinforced/ten
@@ -354,6 +381,7 @@
desc = "This sheet is special plasma-glass alloy designed to withstand large temperatures."
singular_name = "plass sheet"
icon_state = "plass"
+ item_state = "sheet-plass"
default_type = MATERIAL_PLASS
/obj/item/stack/material/glass/plass/ten
@@ -367,6 +395,7 @@
desc = "This sheet is special plasma-glass alloy designed to withstand large temperatures. It is reinforced with few rods."
singular_name = "reinforced plass sheet"
icon_state = "rplass"
+ item_state = "sheet-rplass"
default_type = MATERIAL_REINFORCED_PLASS
/obj/item/stack/material/glass/rplass/ten
@@ -379,6 +408,7 @@
name = "tinted glass"
singular_name = "tinted glass sheet"
icon_state = "bglass"
+ item_state = "sheet-glass"
default_type = MATERIAL_BLACK_GLASS
/obj/item/stack/material/glass/black/ten
@@ -391,6 +421,7 @@
name = "reinforced tinted glass"
singular_name = "reinforced tinted glass sheet"
icon_state = "rbglass"
+ item_state = "sheet-rglass"
default_type = MATERIAL_REINFORCED_BLACK_GLASS
/obj/item/stack/material/glass/rblack/ten
diff --git a/code/modules/materials/materials.dm b/code/modules/materials/materials.dm
index 6601d8c8919..360a55f3815 100644
--- a/code/modules/materials/materials.dm
+++ b/code/modules/materials/materials.dm
@@ -743,6 +743,17 @@ var/list/name_to_material
sheet_singular_name = "ingot"
sheet_plural_name = "ingots"
+/material/adamantine
+ name = MATERIAL_ADAMANTINE
+ stack_type = /obj/item/stack/material/adamantine
+ icon_colour = "#b2ffe8"
+ weight = 27
+ resilience = 16
+ reflectance = 20
+ stack_origin_tech = list(TECH_MATERIAL = 6)
+ sheet_singular_name = "ingot"
+ sheet_plural_name = "ingots"
+
/material/iron
name = MATERIAL_IRON
stack_type = /obj/item/stack/material/iron
diff --git a/code/modules/mining/drilling/drill.dm b/code/modules/mining/drilling/drill.dm
index e7c80910162..521faa1936e 100644
--- a/code/modules/mining/drilling/drill.dm
+++ b/code/modules/mining/drilling/drill.dm
@@ -283,6 +283,7 @@
name = "mining drill brace"
desc = "A machinery brace for an industrial drill. It looks easily two feet thick."
icon_state = "mining_brace"
+ obj_flags = OBJ_FLAG_ANCHOR_BLOCKS_ROTATION
var/obj/machinery/mining/drill/connected
/obj/machinery/mining/brace/New()
@@ -291,6 +292,8 @@
component_parts = list()
component_parts += new /obj/item/circuitboard/miningdrillbrace(src)
+ AddElement(/datum/element/simple_rotation)
+
/obj/machinery/mining/brace/attackby(obj/item/W as obj, mob/user as mob)
if(connected && connected.active)
to_chat(user, "You can't work with the brace of a running drill!")
@@ -347,17 +350,3 @@
connected.supports -= src
connected.check_supports()
connected = null
-
-/obj/machinery/mining/brace/verb/rotate()
- set name = "Rotate"
- set category = "Object"
- set src in oview(1)
-
- if(usr.stat) return
-
- if (src.anchored)
- to_chat(usr, "It is anchored in place!")
- return 0
-
- src.set_dir(turn(src.dir, 90))
- return 1
diff --git a/code/modules/mining/drilling/scanner.dm b/code/modules/mining/drilling/scanner.dm
index 06ee11154c3..f4ba7b27572 100644
--- a/code/modules/mining/drilling/scanner.dm
+++ b/code/modules/mining/drilling/scanner.dm
@@ -10,9 +10,9 @@
matter = list(MATERIAL_STEEL = 150)
var/survey_data = 0
-/obj/item/mining_scanner/_examine_text(mob/user)
+/obj/item/mining_scanner/examine(mob/user, infix)
. = ..()
- . += "\nTiny indicator shows it holds [survey_data] Good Explorer Points worth of data."
+ . += "Tiny indicator shows it holds [survey_data] Good Explorer Points worth of data."
/obj/item/mining_scanner/attack_self(mob/user as mob)
to_chat(user, "You begin sweeping \the [src] about, scanning for metal deposits.")
@@ -99,9 +99,9 @@
icon_state = "nucleardisk"
var/data
-/obj/item/disk/survey/_examine_text(mob/user)
+/obj/item/disk/survey/examine(mob/user, infix)
. = ..()
- . += "\nTiny indicator shows it holds [data] Good Explorer Points of data."
+ . += "Tiny indicator shows it holds [data] Good Explorer Points of data."
/obj/item/disk/survey/Value()
if(data < 10000)
diff --git a/code/modules/mining/machines/mineral.dm b/code/modules/mining/machines/mineral.dm
index a8f7bda7c13..a4f6e024112 100644
--- a/code/modules/mining/machines/mineral.dm
+++ b/code/modules/mining/machines/mineral.dm
@@ -30,7 +30,7 @@
/obj/machinery/mineral/attackby(obj/item/W, mob/user)
if(!(stat & POWEROFF))
- show_splash_text(user, "turn off first!")
+ show_splash_text(user, "turn off first!", "You have to turn \the [src] off first!")
return
if(default_deconstruction_screwdriver(user, W))
@@ -104,7 +104,7 @@
if(istype(hhelper))
qdel(hhelper)
- show_splash_text(usr, "holo-projector enabled.")
+ show_splash_text(usr, "holo-projector enabled.", "You toggle the holo-projector!")
holohelper = weakref(new holodir_helper_path(loc, src))
/obj/machinery/mineral/power_change()
diff --git a/code/modules/mining/machines/processing.dm b/code/modules/mining/machines/processing.dm
index 1cc5aa13ca5..32c44a456ca 100644
--- a/code/modules/mining/machines/processing.dm
+++ b/code/modules/mining/machines/processing.dm
@@ -39,7 +39,7 @@
if(response == "Yes" && Adjacent(user))
var/obj/machinery/mineral/processing_unit/p_unit = locate_unit(/obj/machinery/mineral/processing_unit)
if(!p_unit)
- show_splash_text(user, "no ore processing unit found!")
+ show_splash_text(user, "no ore processing unit found!", SPAN("warning", "\The [src] has failed to detect any ore stacking units!"))
return
p_unit.console_ref = weakref(src)
diff --git a/code/modules/mining/machines/stacking.dm b/code/modules/mining/machines/stacking.dm
index 8e496ccc107..8f2d59fe883 100644
--- a/code/modules/mining/machines/stacking.dm
+++ b/code/modules/mining/machines/stacking.dm
@@ -32,7 +32,7 @@
if(response == "Yes" && Adjacent(user))
var/obj/machinery/mineral/stacking_machine/s_machine = locate_unit(/obj/machinery/mineral/stacking_machine)
if(!s_machine)
- show_splash_text(user, "no ore stacking units found!")
+ show_splash_text(user, "no ore stacking units found!", SPAN("warning", "\The [src] has failed to detect any ore stacking units!"))
return
machine_ref = weakref(s_machine)
@@ -137,6 +137,9 @@
unload_item(incoming_stack.type, stack_amt)
/obj/machinery/mineral/stacking_machine/unload_item(type, amount)
+ if(amount <= 0)
+ return
+
var/obj/item/stack/material/out = new type()
out.amount = amount
machine_storage[type] -= amount
diff --git a/code/modules/mining/machines/unloading.dm b/code/modules/mining/machines/unloading.dm
index 42b5ebb2098..a9f5c63f33f 100644
--- a/code/modules/mining/machines/unloading.dm
+++ b/code/modules/mining/machines/unloading.dm
@@ -38,7 +38,7 @@
return
toggle()
- show_splash_text(user, "you toggle \the [src] [!(stat & POWEROFF) ? "on" : "off"].")
+ show_splash_text(user, "you toggle \the [src] [!(stat & POWEROFF) ? "on" : "off"].", "You toggle \the [src] [!(stat & POWEROFF) ? "on" : "off"].")
/obj/machinery/mineral/unloading_machine/attackby(obj/item/W, mob/user)
..()
diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm
index 23545b9f7fc..0a18b03acaf 100644
--- a/code/modules/mining/mine_items.dm
+++ b/code/modules/mining/mine_items.dm
@@ -159,12 +159,14 @@
mod_handy = 1.2
mod_weight = 2.0
mod_reach = 1.5
+ improper_held_icon = TRUE
else
wielded = FALSE
force = 17.5
mod_weight = 1.5
mod_reach = 1.0
mod_handy = 0.4
+ improper_held_icon = FALSE
update_icon()
..()
@@ -443,12 +445,13 @@
if(!malfunctioning)
malfunctioning = TRUE
-/obj/item/lazarus_injector/_examine_text(mob/user)
+/obj/item/lazarus_injector/examine(mob/user, infix)
. = ..()
+
if(!loaded)
- . += "\n[src] is empty."
+ . += SPAN_INFO("[src] is empty.")
if(malfunctioning || emagged)
- . += "\nThe display on [src] seems to be flickering."
+ . += SPAN_INFO("The display on [src] seems to be flickering.")
/**********************Point Transfer Card**********************/
@@ -469,9 +472,9 @@
to_chat(user, "There's no points left on [src].")
..()
-/obj/item/card/mining_point_card/_examine_text(mob/user)
+/obj/item/card/mining_point_card/examine(mob/user, infix)
. = ..()
- . += "\nThere's [points] point\s on the card."
+ . += "There's [points] point\s on the card."
/**********************Resonator**********************/
@@ -542,8 +545,8 @@
var/creator
var/obj/item/resonator/res
-/obj/effect/resonance/New(loc, set_creator, timetoburst, set_resonator)
- ..()
+/obj/effect/resonance/Initialize(mapload, loc, set_creator, timetoburst, set_resonator)
+ . = ..()
creator = set_creator
res = set_resonator
var/turf/proj_turf = get_turf(src)
@@ -555,7 +558,7 @@
name = "strong resonance field"
resonance_damage = 30
- addtimer(CALLBACK(src, nameof(.proc/burst), loc), timetoburst)
+ add_think_ctx("burst_context", CALLBACK(src, nameof(.proc/burst)), world.time + timetoburst, loc)
/obj/effect/resonance/Destroy()
if(res)
@@ -652,6 +655,7 @@
desc = "A finely chiselled sculpting block, it is ready to be your canvas."
icon = 'icons/obj/mining.dmi'
icon_state = "sculpting_block"
+ obj_flags = OBJ_FLAG_ANCHOR_BLOCKS_ROTATION
density = 1
opacity = 1
anchored = 0
@@ -660,16 +664,10 @@
var/times_carved = 0
var/last_struck = 0
-/obj/structure/sculpting_block/verb/rotate()
- set name = "Rotate"
- set category = "Object"
- set src in oview(1)
+/obj/structure/sculpting_block/Initialize()
+ . = ..()
- if (src.anchored || usr:stat)
- to_chat(usr, "It is fastened to the floor!")
- return 0
- src.set_dir(turn(src.dir, 90))
- return 1
+ AddElement(/datum/element/simple_rotation)
/obj/structure/sculpting_block/attackby(obj/item/C as obj, mob/user as mob)
diff --git a/code/modules/mining/satchel_ore_boxdm.dm b/code/modules/mining/satchel_ore_boxdm.dm
index 1f23dc4cab2..3c51904f43a 100644
--- a/code/modules/mining/satchel_ore_boxdm.dm
+++ b/code/modules/mining/satchel_ore_boxdm.dm
@@ -40,7 +40,7 @@
else
stored_ore[O.name] = 1
-/obj/structure/ore_box/_examine_text(mob/user)
+/obj/structure/ore_box/examine(mob/user, infix)
. = ..()
// Borgs can now check contents too.
@@ -53,18 +53,16 @@
add_fingerprint(user)
if(!contents.len)
- . += "\nIt is empty."
+ . += "It is empty."
return
if(world.time > last_update + 10)
update_ore_count()
last_update = world.time
- . += "\nIt holds:"
+ . += "It holds:"
for(var/ore in stored_ore)
- . += "\n- [stored_ore[ore]] [ore]"
- return
-
+ . += "- [stored_ore[ore]] [ore]"
/obj/structure/ore_box/verb/empty_box()
set name = "Empty Ore Box"
diff --git a/code/modules/mob/death.dm b/code/modules/mob/death.dm
index 1bfaa8e26a2..6899b53cdb1 100644
--- a/code/modules/mob/death.dm
+++ b/code/modules/mob/death.dm
@@ -21,9 +21,9 @@
if(do_gibs)
gibs(loc, dna)
- addtimer(CALLBACK(src, nameof(.proc/check_delete), animation), 15)
+ set_next_think_ctx("dust_delete", world.time + 1.5 SECONDS, animation)
-/mob/proc/check_delete(atom/movable/fake_overlay/animation)
+/mob/proc/dust_check_delete(atom/movable/fake_overlay/animation)
if(animation)
qdel(animation)
if(src)
@@ -50,8 +50,7 @@
new remains(loc)
remove_from_dead_mob_list()
- addtimer(CALLBACK(src, nameof(.proc/check_delete), animation), 15)
-
+ set_next_think_ctx("dust_deletion", world.time + 1.5 SECONDS, animation)
/mob/proc/death(gibbed, deathmessage = "seizes up and falls limp...", show_dead_message = "You have died.")
diff --git a/code/modules/mob/grab/grab_object.dm b/code/modules/mob/grab/grab_object.dm
index 0ec8f3071ca..8bf743832ae 100644
--- a/code/modules/mob/grab/grab_object.dm
+++ b/code/modules/mob/grab/grab_object.dm
@@ -39,13 +39,15 @@
SetName("[name] ([O.name])")
+ add_think_ctx("handle_resist", CALLBACK(src, nameof(.proc/handle_resist)), 0)
+
if(start_grab_name)
current_grab = all_grabstates[start_grab_name]
-/obj/item/grab/_examine_text(user)
+/obj/item/grab/examine(mob/user, infix)
. = ..()
var/obj/item/O = get_targeted_organ()
- . += "\nA grab on \the [affecting]'s [O.name]."
+ . += "A grab on \the [affecting]'s [O.name]."
/obj/item/grab/think()
current_grab.process(src)
diff --git a/code/modules/mob/grab/normal/grab_normal.dm b/code/modules/mob/grab/normal/grab_normal.dm
index 8fcf9c237af..5a647878cae 100644
--- a/code/modules/mob/grab/normal/grab_normal.dm
+++ b/code/modules/mob/grab/normal/grab_normal.dm
@@ -25,6 +25,11 @@
if(!(affecting.a_intent == I_HELP))
upgrade(TRUE)
+/// For when we start choking 'em straight away
+/obj/item/grab/normal/quickchoke
+ type_name = GRAB_QUICKCHOKE
+ start_grab_name = NORM_KILL
+
/datum/grab/normal
type_name = GRAB_NORMAL
diff --git a/code/modules/mob/grab/normal/norm_kill.dm b/code/modules/mob/grab/normal/norm_kill.dm
index 173fd6f84af..1e22c475678 100644
--- a/code/modules/mob/grab/normal/norm_kill.dm
+++ b/code/modules/mob/grab/normal/norm_kill.dm
@@ -33,7 +33,11 @@
affecting.Weaken(3)
affecting.Stun(2)
- affecting.adjustOxyLoss(1)
+ if((MUTATION_HULK in G.assailant.mutations) || (MUTATION_STRONG in G.assailant.mutations))
+ affecting.adjustOxyLoss(3)
+ affecting.Stun(2)
+ else
+ affecting.adjustOxyLoss(1)
affecting.apply_effect(STUTTER, 5) //It will hamper your voice, being choked and all.
affecting.losebreath = max(affecting.losebreath + 2, 3)
diff --git a/code/modules/mob/grab/normal/norm_struggle.dm b/code/modules/mob/grab/normal/norm_struggle.dm
index 9535f24bf06..8f5273cd165 100644
--- a/code/modules/mob/grab/normal/norm_struggle.dm
+++ b/code/modules/mob/grab/normal/norm_struggle.dm
@@ -43,7 +43,7 @@
else
affecting.visible_message("[affecting] struggles against [assailant]!")
G.done_struggle = FALSE
- addtimer(CALLBACK(G, nameof(.proc/handle_resist)), 1 SECOND)
+ G.set_next_think_ctx("handle_resist", 1 SECOND)
resolve_struggle(G)
/datum/grab/normal/struggle/proc/resolve_struggle(obj/item/grab/G)
diff --git a/code/modules/mob/hear_say.dm b/code/modules/mob/hear_say.dm
index 5528ea440d1..c936f5bcec2 100644
--- a/code/modules/mob/hear_say.dm
+++ b/code/modules/mob/hear_say.dm
@@ -29,11 +29,11 @@
return
//non-verbal languages are garbled if you can't see the speaker. Yes, this includes if they are inside a closet.
- if (language?.flags & NONVERBAL)
+ if (language?.language_flags & NONVERBAL)
if (!speaker || (src.sdisabilities & BLIND || src.blinded) || !near)
message = stars(message)
- if(!(language && (language.flags & INNATE))) // skip understanding checks for INNATE languages
+ if(!(language && (language.language_flags & INNATE))) // skip understanding checks for INNATE languages
if(!say_understands(speaker,language))
if(istype(speaker,/mob/living/simple_animal))
var/understand_animals = FALSE
@@ -82,7 +82,7 @@
message = "[message]"
if(is_deaf())
- if(!language || !(language.flags & INNATE)) // INNATE is the flag for audible-emote-language, so we don't want to show an "x talks but you cannot hear them" message if it's set
+ if(!language || !(language.language_flags & INNATE)) // INNATE is the flag for audible-emote-language, so we don't want to show an "x talks but you cannot hear them" message if it's set
if(speaker == src)
to_chat(src, SPAN("warning", "You cannot hear yourself speak!"))
else if(!is_blind())
@@ -149,11 +149,11 @@
var/track = null
//non-verbal languages are garbled if you can't see the speaker. Yes, this includes if they are inside a closet.
- if (language?.flags & NONVERBAL)
+ if (language?.language_flags & NONVERBAL)
if (!speaker || (src.sdisabilities & BLIND || src.blinded) || !(speaker in view(src)))
message = stars(message)
- if(!(language?.flags & INNATE)) // skip understanding checks for INNATE languages
+ if(!(language?.language_flags & INNATE)) // skip understanding checks for INNATE languages
if(!say_understands(speaker, language))
if(istype(speaker,/mob/living/simple_animal))
var/mob/living/simple_animal/S = speaker
diff --git a/code/modules/mob/language/generic.dm b/code/modules/mob/language/generic.dm
index 78a41a6a168..adfb3570c97 100644
--- a/code/modules/mob/language/generic.dm
+++ b/code/modules/mob/language/generic.dm
@@ -3,7 +3,7 @@
name = "Noise"
desc = "Noises"
key = ""
- flags = RESTRICTED|NONGLOBAL|INNATE|NO_TALK_MSG|NO_STUTTER
+ language_flags = RESTRICTED|NONGLOBAL|INNATE|NO_TALK_MSG|NO_STUTTER
/datum/language/noise/format_message(message, verb)
return " "
@@ -25,7 +25,7 @@
speech_verb = "says"
whisper_verb = "whispers"
key = "0"
- flags = RESTRICTED
+ language_flags = RESTRICTED
syllables = list("blah","blah","blah","bleh","meh","neh","nah","wah")
shorthand = "GC"
@@ -72,5 +72,5 @@
signlang_verb = list("gestures")
colour = "say_quote"
key = "s"
- flags = SIGNLANG | NO_STUTTER | NONVERBAL
+ language_flags = SIGNLANG | NO_STUTTER | NONVERBAL
shorthand = "HS"
diff --git a/code/modules/mob/language/language.dm b/code/modules/mob/language/language.dm
index 53f95881d92..c7efb3a3305 100644
--- a/code/modules/mob/language/language.dm
+++ b/code/modules/mob/language/language.dm
@@ -14,7 +14,7 @@
var/signlang_verb = list("signs", "gestures") // list of emotes that might be displayed if this language has NONVERBAL or SIGNLANG flags
var/colour = "body" // CSS style to use for strings in this language.
var/key = "x" // Character used to speak in language eg. :o for Unathi.
- var/flags = 0 // Various language flags.
+ var/language_flags = 0 // Various language flags.
var/native // If set, non-native speakers will have trouble speaking.
var/list/syllables // Used when scrambling text for a non-speaker.
var/list/space_chance = 55 // Likelihood of getting a space in the random scramble string
@@ -166,7 +166,7 @@
if (only_species_language && speaking != all_languages[species_language])
return 0
- return (speaking.can_speak_special(src) && (universal_speak || (speaking && speaking.flags & INNATE) || (speaking in src.languages)))
+ return (speaking.can_speak_special(src) && (universal_speak || (speaking && speaking.language_flags & INNATE) || (speaking in src.languages)))
/mob/proc/get_language_prefix()
return get_prefix_key(/decl/prefix/language)
@@ -174,59 +174,16 @@
/mob/proc/is_language_prefix(prefix)
return prefix == get_prefix_key(/decl/prefix/language)
-//TBD
/mob/verb/check_languages()
set name = "Check Known Languages"
set category = "IC"
set src = usr
- var/dat = "Known Languages
"
-
- for(var/datum/language/L in languages)
- if(!(L.flags & NONGLOBAL))
- dat += "[L.name]([L.shorthand]) ([get_language_prefix()][L.key])
[L.desc]
"
-
- show_browser(src, dat, "window=checklanguage")
- return
-
-/mob/living/check_languages()
- var/dat = "Known Languages
"
-
- if(default_language)
- dat += "Current default language: [default_language] - reset
"
-
- for(var/datum/language/L in languages)
- if(!(L.flags & NONGLOBAL))
- if(L == default_language)
- dat += "[L.name]([L.shorthand]) ([get_language_prefix()][L.key]) - default - reset
[L.desc]
"
- else if (can_speak(L))
- dat += "[L.name]([L.shorthand]) ([get_language_prefix()][L.key]) - set default
[L.desc]
"
- else
- dat += "[L.name]([L.shorthand]) ([get_language_prefix()][L.key]) - cannot speak!
[L.desc]
"
-
- show_browser(src, dat, "window=checklanguage")
-
-/mob/living/Topic(href, href_list)
- if(href_list["default_lang"])
- if(href_list["default_lang"] == "reset")
-
- if (species_language)
- set_default_language(all_languages[species_language])
- else
- set_default_language(null)
-
- else
- var/datum/language/L = locate(href_list["default_lang"])
- if(L && (L in languages))
- set_default_language(L)
- check_languages()
- return 1
- else
- return ..()
+ language_menu.tgui_interact(usr)
/proc/transfer_languages(mob/source, mob/target, except_flags)
for(var/datum/language/L in source.languages)
- if(L.flags & except_flags)
+ if(L.language_flags & except_flags)
continue
target.add_language(L.name)
diff --git a/code/modules/mob/language/outsider.dm b/code/modules/mob/language/outsider.dm
index 3579b23570c..1d85d9999df 100644
--- a/code/modules/mob/language/outsider.dm
+++ b/code/modules/mob/language/outsider.dm
@@ -6,7 +6,7 @@
ask_verb = "hisses"
exclaim_verb = "hisses"
key = "4"
- flags = RESTRICTED
+ language_flags = RESTRICTED
syllables = list("sss","sSs","SSS")
machine_understands = 0
shorthand = "Xeno"
@@ -19,7 +19,7 @@
exclaim_verb = "hisses"
colour = "alien"
key = "a"
- flags = RESTRICTED | HIVEMIND
+ language_flags = RESTRICTED | HIVEMIND
shorthand = "N/A"
/datum/language/xenos/check_special_condition(mob/other)
@@ -38,7 +38,7 @@
speech_verb = "says"
colour = "changeling"
key = "g"
- flags = RESTRICTED | HIVEMIND
+ language_flags = RESTRICTED | HIVEMIND
shorthand = "N/A"
/datum/language/ling/broadcast(mob/living/speaker,message,speaker_mask)
@@ -56,7 +56,7 @@
exclaim_verb = "sings"
colour = "alien"
key = "x"
- flags = RESTRICTED | HIVEMIND
+ language_flags = RESTRICTED | HIVEMIND
shorthand = "N/A"
/datum/language/corticalborer/broadcast(mob/living/speaker,message,speaker_mask)
@@ -81,7 +81,7 @@
exclaim_verb = "SHRIEKS"
colour = "vox"
key = "5"
- flags = WHITELISTED
+ language_flags = WHITELISTED
syllables = list("ti","ti","ti","hi","hi","ki","ki","ki","ki","ya","ta","ha","ka","ya","chi","cha","kah", \
"SKRE","AHK","EHK","RAWK","KRA","AAA","EEE","KI","II","KRI","KA")
machine_understands = 0
@@ -98,7 +98,7 @@
exclaim_verb = "chants"
colour = "cult"
key = "f"
- flags = RESTRICTED
+ language_flags = RESTRICTED
space_chance = 100
syllables = list("ire","ego","nahlizet","certum","veri","jatkaa","mgar","balaq", "karazet", "geeri", \
"orkan", "allaq", "sas'so", "c'arta", "forbici", "tarem", "n'ath", "reth", "sh'yro", "eth", "d'raggathnor", \
@@ -118,5 +118,5 @@
exclaim_verb = "chants"
colour = "cult"
key = "y"
- flags = RESTRICTED | HIVEMIND
+ language_flags = RESTRICTED | HIVEMIND
shorthand = "N/A"
diff --git a/code/modules/mob/language/station.dm b/code/modules/mob/language/station.dm
index 304544a3655..ec276a54af4 100644
--- a/code/modules/mob/language/station.dm
+++ b/code/modules/mob/language/station.dm
@@ -6,7 +6,7 @@
exclaim_verb = "rustles"
colour = "soghun"
key = "q"
- flags = RESTRICTED
+ language_flags = RESTRICTED
syllables = list("hs","zt","kr","st","sh")
shorthand = "RT"
@@ -19,7 +19,7 @@
name = LANGUAGE_ROOTGLOBAL
desc = "A complex language known instinctively by Dionaea, 'spoken' by emitting modulated radio waves. This version uses low frequency waves for slow communication at long ranges."
key = "w"
- flags = RESTRICTED | HIVEMIND
+ language_flags = RESTRICTED | HIVEMIND
shorthand = "N/A"
/datum/language/unathi
@@ -30,7 +30,7 @@
exclaim_verb = "roars"
colour = "soghun"
key = "o"
- flags = WHITELISTED
+ language_flags = WHITELISTED
space_chance = 40
syllables = list(
"za", "az", "ze", "ez", "zi", "iz", "zo", "oz", "zu", "uz", "zs", "sz",
@@ -51,7 +51,7 @@
exclaim_verb = "yowls"
colour = "tajaran"
key = "j"
- flags = WHITELISTED
+ language_flags = WHITELISTED
syllables = list("mrr","rr","tajr","kir","raj","kii","mir","kra","ahk","nal","vah","khaz","jri","ran","darr",
"mi","jri","dynh","manq","rhe","zar","rrhaz","kal","chur","eech","thaa","dra","jurl","mah","sanu","dra","ii'r",
"ka","aasi","far","wa","baq","ara","qara","zir","sam","mak","hrar","nja","rir","khan","jun","dar","rik","kah",
@@ -75,7 +75,7 @@
exclaim_verb = "warbles"
colour = "skrell"
key = "k"
- flags = WHITELISTED
+ language_flags = WHITELISTED
syllables = list("qr","qrr","xuq","qil","quum","xuqm","vol","xrim","zaoo","qu-uu","qix","qoo","zix","*","!")
shorthand = "SK"
@@ -86,7 +86,7 @@
whisper_verb = "whispers"
colour = "solcom"
key = "1"
- flags = WHITELISTED
+ language_flags = WHITELISTED
shorthand = "Sol"
//syllables are at the bottom of the file
@@ -116,7 +116,7 @@
exclaim_verb = "whistles loudly"
colour = "changeling"
key = "6"
- flags = NO_STUTTER
+ language_flags = NO_STUTTER
syllables = list("beep","beep","beep","beep","beep","boop","boop","boop","bop","bop","dee","dee","doo","doo","hiss","hss","buzz","buzz","bzz","ksssh","keey","wurr","wahh","tzzz")
space_chance = 10
shorthand = "EAL"
@@ -196,7 +196,7 @@
signlang_verb = list("uses their tail to convey", "gestures with their tail", "gestures with their tail elaborately")
colour = "tajaran"
key = "l"
- flags = WHITELISTED | SIGNLANG | NO_STUTTER | NONVERBAL
+ language_flags = WHITELISTED | SIGNLANG | NO_STUTTER | NONVERBAL
shorthand = "TS"
/datum/language/confederate
diff --git a/code/modules/mob/language/synthetic.dm b/code/modules/mob/language/synthetic.dm
index 76a59bc67a2..94cccf31799 100644
--- a/code/modules/mob/language/synthetic.dm
+++ b/code/modules/mob/language/synthetic.dm
@@ -6,7 +6,7 @@
ask_verb = "queries"
exclaim_verb = "declares"
key = "b"
- flags = RESTRICTED | HIVEMIND
+ language_flags = RESTRICTED | HIVEMIND
shorthand = "N/A"
var/drone_only
@@ -62,6 +62,6 @@
exclaim_verb = "transmits"
colour = "say_quote"
key = "d"
- flags = RESTRICTED | HIVEMIND
+ language_flags = RESTRICTED | HIVEMIND
drone_only = 1
shorthand = "N/A"
diff --git a/code/modules/mob/living/autohiss.dm b/code/modules/mob/living/autohiss.dm
index 538bc74365d..16a9736e5a5 100644
--- a/code/modules/mob/living/autohiss.dm
+++ b/code/modules/mob/living/autohiss.dm
@@ -24,7 +24,7 @@
/datum/species/proc/handle_autohiss(message, datum/language/lang)
if(!hiss_letters)
return message
- if(lang.flags & NO_STUTTER) // Currently prevents EAL, Sign language, and emotes from autohissing
+ if(lang.language_flags & NO_STUTTER) // Currently prevents EAL, Sign language, and emotes from autohissing
return message
if(autohiss_exempt && (lang.name in autohiss_exempt))
return message
diff --git a/code/modules/mob/living/bot/ed209bot.dm b/code/modules/mob/living/bot/ed209bot.dm
index aea1241c37a..86ad573cd81 100644
--- a/code/modules/mob/living/bot/ed209bot.dm
+++ b/code/modules/mob/living/bot/ed209bot.dm
@@ -121,10 +121,12 @@
if(3)
if(isWelder(W))
var/obj/item/weldingtool/WT = W
- if(WT.remove_fuel(0, user))
- build_step++
- SetName("shielded frame assembly")
- to_chat(user, "You welded the vest to [src].")
+ if(!WT.use_tool(src, user, amount = 1))
+ return
+
+ build_step++
+ SetName("shielded frame assembly")
+ to_chat(user, "You welded the vest to [src].")
if(4)
if(istype(W, /obj/item/clothing/head/helmet))
if(!user.drop(W))
diff --git a/code/modules/mob/living/bot/remotebot.dm b/code/modules/mob/living/bot/remotebot.dm
index e1502d95c0d..3ae1495a574 100644
--- a/code/modules/mob/living/bot/remotebot.dm
+++ b/code/modules/mob/living/bot/remotebot.dm
@@ -14,10 +14,11 @@
. = ..()
add_movespeed_modifier(/datum/movespeed_modifier/remotebot)
-/mob/living/bot/remotebot/_examine_text(mob/user)
+/mob/living/bot/remotebot/examinate(atom/to_axamine)
. = ..()
+
if(holding)
- . += "\nIt is holding \the \icon[holding] [holding]."
+ . += SPAN_NOTICE("It is holding \the \icon[holding] [holding].")
/mob/living/bot/remotebot/explode()
on = 0
diff --git a/code/modules/mob/living/bot/secbot.dm b/code/modules/mob/living/bot/secbot.dm
index 49638c3bcc7..f7feb1fe5f5 100644
--- a/code/modules/mob/living/bot/secbot.dm
+++ b/code/modules/mob/living/bot/secbot.dm
@@ -111,7 +111,7 @@
handcuffs = new(src)
- src.verbs |= secbot_verbs_default
+ grant_verb(src, secbot_verbs_default)
hud_list[ID_HUD] = new /image/hud_overlay('icons/mob/huds/hud.dmi', src, "hudblank")
hud_list[WANTED_HUD] = new /image/hud_overlay('icons/mob/huds/hud.dmi', src, "hudblank")
@@ -372,10 +372,12 @@
..()
if(isWelder(O) && !build_step)
var/obj/item/weldingtool/WT = O
- if(WT.remove_fuel(0, user))
- build_step = 1
- AddOverlays(image('icons/obj/aibots.dmi', "hs_hole"))
- to_chat(user, "You weld a hole in \the [src].")
+ if(!WT.use_tool(src, user, amount = 1))
+ return
+
+ build_step = 1
+ AddOverlays(image('icons/obj/aibots.dmi', "hs_hole"))
+ to_chat(user, "You weld a hole in \the [src].")
else if(isprox(O) && (build_step == 1))
if(!user.drop(O))
@@ -468,44 +470,6 @@
if(!client && prob(10))
to_chat(src, SPAN_NOTICE("...[pick(secbot_dreams)]..."))
-/mob/living/bot/secbot/Stat()
- ..()
- if(statpanel("Status"))
- stat(null,"-------------")
- switch(emagged)
- if(0)
- stat(null,"Threat identifier status: Normal")
- if(1)
- stat(null,"Threat identifier status: Scrambled (DANGER)")
- if(2)
- stat(null,"Threat identifier status: ERROROROROROR-----")
- if(idcheck)
- stat(null,"Check for weapon authorization: Yes")
- else
- stat(null,"Check for weapon authorization: No")
-
- if(check_records)
- stat(null,"Check security records:: Yes")
- else
- stat(null,"Check security records:: No")
-
- if(check_arrest)
- stat(null,"Check arrest status: Yes")
- else
- stat(null,"Check arrest status: No")
-
- if(declare_arrests)
- stat(null,"Report arrests: Yes")
- else
- stat(null,"Report arrests: No")
-
- if(will_patrol)
- stat(null,"Auto patrol: On")
- else
- stat(null,"Auto patrol: Off")
-
- stat(null,"-------------")
-
//**///////////////////////////////////////////////////////////**//
//**///////////////////////////BOOPSKY/////////////////////////**//
//**///////////////////////////////////////////////////////////**//
diff --git a/code/modules/mob/living/carbon/alien/alien.dm b/code/modules/mob/living/carbon/alien/alien.dm
index f2a338f3055..4e7114ff462 100644
--- a/code/modules/mob/living/carbon/alien/alien.dm
+++ b/code/modules/mob/living/carbon/alien/alien.dm
@@ -25,8 +25,10 @@
time_of_birth = world.time
- verbs += /mob/living/proc/ventcrawl
- verbs += /mob/living/proc/hide
+ grant_verb(src, list(
+ /mob/living/proc/ventcrawl,
+ /mob/living/proc/hide,
+ ))
instance_num = rand(1, 1000)
name = "[initial(name)] ([instance_num])"
@@ -43,9 +45,6 @@
/mob/living/carbon/alien/__unequip(obj/W)
return
-/mob/living/carbon/alien/Stat()
- . = ..()
-
/mob/living/carbon/alien/restrained()
return 0
diff --git a/code/modules/mob/living/carbon/alien/alien_attacks.dm b/code/modules/mob/living/carbon/alien/alien_attacks.dm
index ab846f0aba2..ec2c816c8b2 100644
--- a/code/modules/mob/living/carbon/alien/alien_attacks.dm
+++ b/code/modules/mob/living/carbon/alien/alien_attacks.dm
@@ -15,7 +15,7 @@
else
var/damage = rand(1, 9)
if (prob(90))
- if (MUTATION_HULK in M.mutations)
+ if((MUTATION_HULK in M.mutations) || (MUTATION_STRONG in M.mutations))
damage += 5
spawn(0)
Paralyse(1)
diff --git a/code/modules/mob/living/carbon/alien/diona/diona.dm b/code/modules/mob/living/carbon/alien/diona/diona.dm
index 182f9e52de4..5b1e3a4cc2a 100644
--- a/code/modules/mob/living/carbon/alien/diona/diona.dm
+++ b/code/modules/mob/living/carbon/alien/diona/diona.dm
@@ -27,19 +27,20 @@
var/mob/living/carbon/alien/diona/next_nymph
var/mob/living/carbon/alien/diona/last_nymph
-/mob/living/carbon/alien/diona/_examine_text(mob/user)
+/mob/living/carbon/alien/diona/examinate(atom/to_axamine)
. = ..()
+
if(holding_item)
- to_chat(user, SPAN("notice", "It is holding \icon[holding_item] \a [holding_item]."))
+ . += SPAN("notice", "It is holding \icon[holding_item] \a [holding_item].")
if(hat)
- to_chat(user, SPAN("notice", "It is wearing \icon[hat] \a [hat]."))
+ . += SPAN("notice", "It is wearing \icon[hat] \a [hat].")
/mob/living/carbon/alien/diona/drop(obj/item/W, atom/Target = null, force = null, changing_slots)
. = ..()
if(W == hat)
hat = null
update_icons()
- verbs -= /mob/living/carbon/alien/diona/proc/drop_hat
+ revoke_verb(src, /mob/living/carbon/alien/diona/proc/drop_hat)
else if(W == holding_item)
holding_item = null
@@ -51,8 +52,11 @@
species = all_species[SPECIES_DIONA]
add_language(LANGUAGE_ROOTGLOBAL)
add_language(LANGUAGE_GALCOM)
- verbs += /mob/living/carbon/alien/diona/proc/merge
- verbs += /mob/living/carbon/alien/diona/proc/drop_holding_item
+
+ grant_verb(src, list(
+ /mob/living/carbon/alien/diona/proc/merge,
+ /mob/living/carbon/alien/diona/proc/drop_holding_item,
+ ))
/mob/living/carbon/alien/diona/put_in_hands(obj/item/W) // No hands. Use mouth.
if(can_collect(W))
@@ -67,7 +71,7 @@
hat = new_hat
new_hat.forceMove(src)
update_icons()
- verbs += /mob/living/carbon/alien/diona/proc/drop_hat
+ grant_verb(src, /mob/living/carbon/alien/diona/proc/drop_hat)
return TRUE
/mob/living/carbon/alien/diona/proc/handle_npc(mob/living/carbon/alien/diona/D)
@@ -142,7 +146,7 @@
src.hat.forceMove(get_turf(src))
src.hat = null
update_icons()
- verbs -= /mob/living/carbon/alien/diona/proc/drop_hat
+ revoke_verb(src, /mob/living/carbon/alien/diona/proc/drop_hat)
/mob/living/carbon/alien/diona/drop_active_hand()
if(holding_item)
diff --git a/code/modules/mob/living/carbon/alien/diona/diona_powers.dm b/code/modules/mob/living/carbon/alien/diona/diona_powers.dm
index 1346c4d466d..b69a84e9b5f 100644
--- a/code/modules/mob/living/carbon/alien/diona/diona_powers.dm
+++ b/code/modules/mob/living/carbon/alien/diona/diona_powers.dm
@@ -8,8 +8,8 @@
if(is_ooc_dead() || paralysis || weakened || stunned || restrained())
return
- if(istype(src.loc,/mob/living/carbon))
- src.verbs -= /mob/living/carbon/alien/diona/proc/merge
+ if(iscarbon(loc))
+ revoke_verb(src, /mob/living/carbon/alien/diona/proc/merge)
return
var/list/choices = list()
@@ -36,8 +36,8 @@
H.status_flags |= PASSEMOTES
to_chat(src, "You feel your being twine with that of \the [H] as you merge with its biomass.")
forceMove(H)
- verbs += /mob/living/carbon/alien/diona/proc/split
- verbs -= /mob/living/carbon/alien/diona/proc/merge
+ grant_verb(src, /mob/living/carbon/alien/diona/proc/split)
+ revoke_verb(src, /mob/living/carbon/alien/diona/proc/merge)
return 1
/mob/living/carbon/alien/diona/proc/split()
@@ -49,8 +49,8 @@
if(is_ooc_dead() || paralysis || weakened || stunned || restrained())
return
- if(!(istype(src.loc,/mob/living/carbon)))
- src.verbs -= /mob/living/carbon/alien/diona/proc/split
+ if(!iscarbon(loc))
+ revoke_verb(src, /mob/living/carbon/alien/diona/proc/split)
return
to_chat(src.loc, "You feel a pang of loss as [src] splits away from your biomass.")
@@ -59,8 +59,9 @@
var/mob/living/M = src.loc
dropInto(loc)
- src.verbs -= /mob/living/carbon/alien/diona/proc/split
- src.verbs += /mob/living/carbon/alien/diona/proc/merge
+
+ revoke_verb(src, /mob/living/carbon/alien/diona/proc/split)
+ grant_verb(src, /mob/living/carbon/alien/diona/proc/merge)
if(istype(M))
for(var/atom/A in M.contents)
diff --git a/code/modules/mob/living/carbon/alien/larva/larva.dm b/code/modules/mob/living/carbon/alien/larva/larva.dm
index 1a360d58426..c6e1e208479 100644
--- a/code/modules/mob/living/carbon/alien/larva/larva.dm
+++ b/code/modules/mob/living/carbon/alien/larva/larva.dm
@@ -18,7 +18,7 @@
. = ..()
add_language("Xenomorph") //Bonus language.
internal_organs |= new /obj/item/organ/internal/xenos/hivenode(src)
- verbs += /mob/living/carbon/proc/toggle_darksight
+ grant_verb(src, /mob/living/carbon/proc/toggle_darksight)
/obj/structure/alien/egg/CanUseTopic(mob/user)
return isghost(user) ? STATUS_INTERACTIVE : STATUS_CLOSE
diff --git a/code/modules/mob/living/carbon/alien/progression.dm b/code/modules/mob/living/carbon/alien/progression.dm
index b472c77e67f..4f247bfcfb4 100644
--- a/code/modules/mob/living/carbon/alien/progression.dm
+++ b/code/modules/mob/living/carbon/alien/progression.dm
@@ -1,7 +1,8 @@
-/mob/living/carbon/alien/Stat()
+/mob/living/carbon/alien/get_status_tab_items()
. = ..()
- if(. && statpanel("Status") && adult_form)
- stat("Growth", "[round(amount_grown)]/[max_grown]")
+
+ if(adult_form)
+ . += "Growth: [round(amount_grown)]/[max_grown]"
/mob/living/carbon/alien/verb/evolve()
@@ -13,7 +14,7 @@
return
if(!adult_form)
- verbs -= /mob/living/carbon/alien/verb/evolve
+ revoke_verb(src, /mob/living/carbon/alien/verb/evolve)
return
if(handcuffed)
diff --git a/code/modules/mob/living/carbon/brain/say.dm b/code/modules/mob/living/carbon/brain/say.dm
index 61b7456a67a..22c09fcd300 100644
--- a/code/modules/mob/living/carbon/brain/say.dm
+++ b/code/modules/mob/living/carbon/brain/say.dm
@@ -27,7 +27,7 @@
else
message = Gibberish(message, (emp_damage*6))//scrambles the message, gets worse when emp_damage is higher
- if(speaking && speaking.flags & HIVEMIND)
+ if(speaking && speaking.language_flags & HIVEMIND)
speaking.broadcast(src,trim(message))
return
diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm
index fe4d9f27adb..9053f5ee4b0 100644
--- a/code/modules/mob/living/carbon/carbon.dm
+++ b/code/modules/mob/living/carbon/carbon.dm
@@ -47,7 +47,7 @@
set_nutrition(300)
..()
-/mob/living/carbon/Move(NewLoc, direct)
+/mob/living/carbon/Move(newloc, direct)
. = ..()
if(!.)
return
@@ -56,6 +56,7 @@
remove_nutrition(min(nutrition, DEFAULT_HUNGER_FACTOR / 10))
if(m_intent == M_RUN)
remove_nutrition(min(nutrition, DEFAULT_HUNGER_FACTOR / 10))
+
if((MUTATION_FAT in mutations) && m_intent == M_RUN && bodytemperature <= 360)
bodytemperature += 2
@@ -296,6 +297,10 @@
return
/mob/living/carbon/throw_item(atom/target)
+ THROTTLE(cooldown, 0.2 SECONDS)
+ if(!cooldown)
+ return
+
throw_mode_off()
if(!isturf(loc))
return
diff --git a/code/modules/mob/living/carbon/carbon_defense.dm b/code/modules/mob/living/carbon/carbon_defense.dm
index 156635bbe6f..bb06149e6d5 100644
--- a/code/modules/mob/living/carbon/carbon_defense.dm
+++ b/code/modules/mob/living/carbon/carbon_defense.dm
@@ -7,6 +7,9 @@
if(MUTATION_HULK in user.mutations)
effective_force *= 2
+ if(MUTATION_STRONG in user.mutations)
+ effective_force *= 2
+
//Apply weapon damage
var/damage_flags = I.damage_flags()
if(prob(blocked)) //armour provides a chance to turn sharp/edge weapon attacks into blunt ones
diff --git a/code/modules/mob/living/carbon/hallucinations.dm b/code/modules/mob/living/carbon/hallucinations.dm
index 30e08b9145c..e04954b12a9 100644
--- a/code/modules/mob/living/carbon/hallucinations.dm
+++ b/code/modules/mob/living/carbon/hallucinations.dm
@@ -171,7 +171,7 @@
to_chat(holder,"[talker.name] points at [holder.name]")
to_chat(holder,"[talker.name] says something softly.")
- show_bubble_to_client(holder.bubble_icon, holder.say_test(message), talker, holder.client)
+ holder.show_bubble_to_client(holder.bubble_icon, holder.say_test(message), talker, holder.client)
sanity-- //don't spam them in very populated rooms.
if(!sanity)
@@ -281,18 +281,18 @@
/datum/hallucination/telepahy/start()
to_chat(holder,"You expand your mind outwards.")
- holder.verbs += /mob/living/carbon/human/proc/fakeremotesay
+ grant_verb(holder, /mob/living/carbon/human/proc/fakeremotesay)
/datum/hallucination/telepahy/end()
if(holder)
- holder.verbs -= /mob/living/carbon/human/proc/fakeremotesay
+ revoke_verb(holder, /mob/living/carbon/human/proc/fakeremotesay)
/mob/living/carbon/human/proc/fakeremotesay()
set name = "Telepathic Message"
set category = "Superpower"
if(!hallucination_power)
- src.verbs -= /mob/living/carbon/human/proc/fakeremotesay
+ revoke_verb(src, /mob/living/carbon/human/proc/fakeremotesay)
return
if(stat)
@@ -420,6 +420,10 @@
if(fake.lying)
fake_look.SetTransform(others = fake.transform, rotation = -90)
holder.client.images |= fake_look
+
+ register_signal(holder, SIGNAL_MOB_EXAMINED, nameof(.proc/on_mob_examined))
+ register_signal(holder, SIGNAL_MOB_EXAMINED_MORE, nameof(.proc/on_mob_examined_more))
+
log_misc("[holder.name] is hallucinating that [origin.name] is the [fake.name]")
/datum/hallucination/fake_appearance/proc/get_living_sublist(list/subtypes, list/exclude)
@@ -442,14 +446,25 @@
holder.hallucinations -= src
if(!fake_look)
return // No ASSERT is needed, ending is correct
+
if(holder.client)
holder.client.images -= fake_look
+
+ unregister_signal(holder, SIGNAL_EXAMINED)
+ unregister_signal(holder, SIGNAL_EXAMINED_MORE)
+
QDEL_NULL(fake_look)
/datum/hallucination/fake_appearance/Destroy()
end()
. = ..()
+/datum/hallucination/fake_appearance/proc/on_mob_examined(datum/source, mob/user, list/examine_result)
+ examine_result = fake.examine(user)
+
+/datum/hallucination/fake_appearance/proc/on_mob_examined_more(datum/source, mob/user, list/examine_result)
+ examine_result = fake.examine_more(user)
+
/mob/living/carbon/proc/get_fake_appearance(mob/M)
for(var/datum/hallucination/fake_appearance/hallutination in hallucinations)
if(M == hallutination.origin)
diff --git a/code/modules/mob/living/carbon/human/appearance.dm b/code/modules/mob/living/carbon/human/appearance.dm
index 32cc46dcf11..9a81b50ba66 100644
--- a/code/modules/mob/living/carbon/human/appearance.dm
+++ b/code/modules/mob/living/carbon/human/appearance.dm
@@ -76,7 +76,7 @@
f_style = facial_hair_style
- update_hair()
+ update_facial_hair()
return 1
/mob/living/carbon/human/proc/reset_hair()
@@ -96,6 +96,7 @@
f_style = "Shaved"
update_hair()
+ update_facial_hair()
/mob/living/carbon/human/proc/change_eye_color(red, green, blue)
if(red == r_eyes && green == g_eyes && blue == b_eyes)
@@ -143,7 +144,7 @@
g_facial = green
b_facial = blue
- update_hair()
+ update_facial_hair()
return 1
/mob/living/carbon/human/proc/change_skin_color(red, green, blue)
diff --git a/code/modules/mob/living/carbon/human/body_build.dm b/code/modules/mob/living/carbon/human/body_build.dm
index 80d46777d45..b28be2533dd 100644
--- a/code/modules/mob/living/carbon/human/body_build.dm
+++ b/code/modules/mob/living/carbon/human/body_build.dm
@@ -39,19 +39,25 @@ var/global/datum/body_build/default_body_build = new
var/stomach_capacity = STOMACH_CAPACITY_NORMAL
var/ambiguous_gender = FALSE // If TRUE, both females and females will be PLURAL if there's no beard and their groin is covered
+ var/list/equip_adjust
+ var/list/equip_overlays = list()
+
/datum/body_build/proc/get_mob_icon(slot, icon_state)
var/icon/I
+
if(!(slot in default_onmob_slots))
to_world_log("##ERROR. Wrong sprite group for mob icon \"[slot]\"")
return I // Nonexistent slot, just give 'em an empty icon
+
for(var/datum/body_build/BB in list(src, default_body_build))
- switch(slot)
- if(slot_handcuffed_str, slot_legcuffed_str)
- I = BB.misk_icon
- else
- I = BB.clothing_icons[slot]
+ if(slot == slot_handcuffed_str || slot == slot_legcuffed_str)
+ I = BB.misk_icon
+ else
+ I = BB.clothing_icons[slot]
+
if(icon_state in GLOB.bb_clothing_icon_states[BB.type][slot])
break
+
return I
/datum/body_build/slim
@@ -87,6 +93,19 @@ var/global/datum/body_build/default_body_build = new
stomach_capacity = STOMACH_CAPACITY_LOW
poise_pool = HUMAN_LOW_POISE
+ equip_adjust = list(
+ "slot_l_hand" = list(
+ "SOUTH" = list("x" = -1, "y" = 0),
+ "NORTH" = list("x" = 1, "y" = 0),
+ "EAST" = list("x" = -2, "y" = 0)
+ ),
+ "slot_r_hand" = list(
+ "SOUTH" = list("x" = 1, "y" = 0),
+ "NORTH" = list("x" = -1, "y" = 0),
+ "WEST" = list("x" = 2, "y" = 0)
+ )
+ )
+
/datum/body_build/slim/alt
name = "Slim Alt"
index = "_slim_alt"
diff --git a/code/modules/mob/living/carbon/human/death.dm b/code/modules/mob/living/carbon/human/death.dm
index a811f3676a8..472e06505b2 100644
--- a/code/modules/mob/living/carbon/human/death.dm
+++ b/code/modules/mob/living/carbon/human/death.dm
@@ -108,3 +108,4 @@
if(h_style)
h_style = "Bald"
update_hair(FALSE)
+ update_facial_hair(FALSE)
diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm
index 4d8f413bd27..8d6485ca76b 100644
--- a/code/modules/mob/living/carbon/human/examine.dm
+++ b/code/modules/mob/living/carbon/human/examine.dm
@@ -1,4 +1,6 @@
-/mob/living/carbon/human/_examine_text(mob/user)
+/mob/living/carbon/human/examine(mob/user, infix)
+ . = ..()
+
var/skipgloves = FALSE
var/skipsuitstorage = FALSE
var/skipjumpsuit = FALSE
@@ -202,7 +204,7 @@
msg += SPAN("warning", "[T.He] [T.is] on fire!.\n")
for(var/datum/modifier/M in modifiers)
- var/modifier_txt = M._examine_text()
+ var/modifier_txt = M.examine()
if(!isnull(modifier_txt))
msg += "[]\n"
@@ -345,9 +347,9 @@
pose = addtext(pose,".") //Makes sure all emotes end with a period.
msg += "[T.He] [pose]"
- return jointext(msg, null)
+ . = list(jointext(msg, null))
-// Helper procedure. Called by /mob/living/carbon/human/_examine_text() and /mob/living/carbon/human/Topic() to determine HUD access to security and medical records.
+// Helper procedure. Called by /mob/living/carbon/human/examine() and /mob/living/carbon/human/Topic() to determine HUD access to security and medical records.
/proc/hasHUD(mob/M as mob, hudtype)
if(istype(M, /mob/living/carbon/human))
var/mob/living/carbon/human/H = M
diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index ac6bebb4396..102389618c3 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -79,6 +79,9 @@
QDEL_NULL(vessel)
return ..()
+/mob/living/carbon/human/get_description_fluff()
+ return print_flavor_text(FALSE)
+
/mob/living/carbon/human/get_ingested_reagents()
if(should_have_organ(BP_STOMACH))
var/obj/item/organ/internal/stomach/stomach = internal_organs_by_name[BP_STOMACH]
@@ -92,54 +95,46 @@
if(stomach)
stomach.metabolize()
-/mob/living/carbon/human/Stat()
+/mob/living/carbon/human/get_status_tab_items()
. = ..()
- if(statpanel("Status"))
- stat("Intent:", "[a_intent]")
- stat("Move Mode:", "[m_intent]")
- stat("Poise:", "[round(100/poise_pool*poise)]%")
- stat("Special Ability:", "[active_ability]")
-
- if(evacuation_controller)
- var/eta_status = evacuation_controller.get_status_panel_eta()
- if(eta_status)
- stat(null, eta_status)
-
- if (istype(internal))
- if (!internal.air_contents)
- qdel(internal)
- else
- stat("Internal Atmosphere Info: ", internal.name)
- stat("Tank Pressure: ", internal.air_contents.return_pressure())
- stat("Distribution Pressure: ", internal.distribute_pressure)
- var/obj/item/organ/internal/xenos/plasmavessel/P = internal_organs_by_name[BP_PLASMA]
- if(P)
- stat(null, "Plasma Stored: [P.stored_plasma]/[P.max_plasma]")
+ . += "Intent: [a_intent]"
+ . += "Move Mode: [m_intent]"
+ . += "Poise: [round(100/poise_pool*poise)]%"
+ . += "Special Ability: [active_ability]"
+
+ if(istype(internal))
+ if(!internal.air_contents)
+ qdel(internal)
+ else
+ . += "Internal Atmosphere Info: [internal.name]"
+ . += "Tank Pressure: [internal.air_contents.return_pressure()]"
+ . += "Distribution Pressure: [internal.distribute_pressure]"
- var/obj/item/organ/internal/cell/potato = internal_organs_by_name[BP_CELL]
- if(potato && potato.cell)
- stat("Battery charge:", "[potato.get_charge()]/[potato.cell.maxcharge]")
+ var/obj/item/organ/internal/xenos/plasmavessel/P = internal_organs_by_name[BP_PLASMA]
+ if(P)
+ . += "Plasma Stored: [P.stored_plasma]/[P.max_plasma]"
- if(back && istype(back,/obj/item/rig))
- var/obj/item/rig/suit = back
- var/cell_status = "ERROR"
- if(suit.cell) cell_status = "[suit.cell.charge]/[suit.cell.maxcharge]"
- stat(null, "Suit charge: [cell_status]")
+ var/obj/item/organ/internal/cell/potato = internal_organs_by_name[BP_CELL]
+ if(potato && potato.cell)
+ . += "Battery charge: [potato.get_charge()]/[potato.cell.maxcharge]"
- if(mind)
- if(mind.vampire)
- stat("Usable Blood: ", mind.vampire.blood_usable)
- stat("Total Blood: ", mind.vampire.blood_total)
+ if(back && istype(back, /obj/item/rig))
+ var/obj/item/rig/suit = back
+ . += "RIG Charge: [isnull(suit.cell) ? "ERROR" : "[suit.cell.charge]/[suit.cell.maxcharge]"]"
- if(mind.changeling)
- stat("Chemical Storage: ", mind.changeling.chem_charges)
- stat("Genetic Damage Time: ", mind.changeling.genome_damage)
+ if(mind)
+ if(mind.vampire)
+ . += "Usable Blood: [mind.vampire.blood_usable]"
+ . += "Total Blood: [mind.vampire.blood_total]"
- if(mind.special_role == "Borer Husk")
- var/mob/living/simple_animal/borer/B = get_organ(BP_BRAIN)
- stat("Chemicals: ", B?.chemicals)
+ if(mind.changeling)
+ . += "Chemical Storage: [mind.changeling.chem_charges]"
+ . += "Genetic Damage Time: [mind.changeling.genome_damage]"
+ if(mind.special_role == "Borer Husk")
+ var/mob/living/simple_animal/borer/B = get_organ(BP_BRAIN)
+ . += "Chemicals: [B?.chemicals]"
/mob/living/carbon/human/ex_act(severity)
if(!blinded)
@@ -270,7 +265,7 @@
dat += "[slot_ref["name"]]: [istype(thing_in_slot) ? thing_in_slot : "nothing"]"
if(istype(thing_in_slot, /obj/item/clothing))
var/obj/item/clothing/C = thing_in_slot
- if(C.accessories.len)
+ if(LAZYLEN(C.accessories))
dat += "
Remove accessory"
dat += "
"
@@ -791,7 +786,7 @@
return
if(!(mRemotetalk in src.mutations))
- src.verbs -= /mob/living/carbon/human/proc/remotesay
+ revoke_verb(src, /mob/living/carbon/human/proc/remotesay)
return
var/list/creatures = list()
for(var/mob/living/carbon/h in world)
@@ -863,7 +858,8 @@
blood_DNA[M.dna.unique_enzymes] = M.dna.b_type
hand_blood_color = blood_color
update_inv_gloves(1) // handles bloody hands overlays and updating
- verbs += /mob/living/carbon/human/proc/bloody_doodle
+
+ grant_verb(src, /mob/living/carbon/human/proc/bloody_doodle)
/mob/living/carbon/human/clean_blood(clean_feet)
. =..()
@@ -1123,7 +1119,7 @@
return 0 //something is terribly wrong
if (!bloody_hands)
- verbs -= /mob/living/carbon/human/proc/bloody_doodle
+ revoke_verb(src, /mob/living/carbon/human/proc/bloody_doodle)
if (src.gloves)
to_chat(src, "Your [src.gloves] are getting in the way.")
diff --git a/code/modules/mob/living/carbon/human/human_attackhand.dm b/code/modules/mob/living/carbon/human/human_attackhand.dm
index abb01b5b9ec..30e857e8cb5 100644
--- a/code/modules/mob/living/carbon/human/human_attackhand.dm
+++ b/code/modules/mob/living/carbon/human/human_attackhand.dm
@@ -1,4 +1,8 @@
/mob/living/carbon/human/proc/get_unarmed_attack(mob/living/carbon/human/target, hit_zone)
+ var/obj/item/clothing/gloves/boxing/b_gloves = gloves
+ if(istype(b_gloves))
+ return b_gloves.attack
+
for(var/datum/unarmed_attack/u_attack in species.unarmed_attacks)
if(u_attack.is_usable(src, target, hit_zone))
if(pulling_punches)
@@ -28,7 +32,7 @@
H.do_attack_animation(src)
return 0
- if(istype(H.gloves, /obj/item/clothing/gloves/boxing/hologlove))
+ if(istype(H.gloves, /obj/item/clothing/gloves/boxing/hologloves))
H.do_attack_animation(src)
var/damage = rand(0, 9)
if(!damage)
@@ -41,6 +45,9 @@
if(MUTATION_HULK in H.mutations)
damage += 5
+ if(MUTATION_STRONG in H.mutations)
+ damage += 5
+
playsound(loc, SFX_FIGHTING_PUNCH, rand(80, 100), 1, -1)
visible_message("[H] has punched \the [src]!")
@@ -275,6 +282,9 @@
if(MUTATION_HULK in H.mutations)
real_damage *= 2 // Hulks do twice the damage
attack_damage *= 2
+ if(MUTATION_STRONG in H.mutations)
+ real_damage *= 2
+ attack_damage *= 2
real_damage = max(1, real_damage)
var/armour = run_armor_check(hit_zone, "melee")
diff --git a/code/modules/mob/living/carbon/human/human_damage.dm b/code/modules/mob/living/carbon/human/human_damage.dm
index 38b04afcf4d..c31858c8636 100644
--- a/code/modules/mob/living/carbon/human/human_damage.dm
+++ b/code/modules/mob/living/carbon/human/human_damage.dm
@@ -140,18 +140,23 @@
BITSET(hud_updateflag, HEALTH_HUD)
/mob/living/carbon/human/Stun(amount)
- if(MUTATION_HULK in mutations) return
+ if((MUTATION_HULK in mutations) || (MUTATION_STRONG in mutations))
+ return
..()
/mob/living/carbon/human/Weaken(amount)
- if(MUTATION_HULK in mutations) return
+ if((MUTATION_HULK in mutations) || (MUTATION_STRONG in mutations))
+ return
..()
/mob/living/carbon/human/Paralyse(amount)
- if(MUTATION_HULK in mutations) return
+ if((MUTATION_HULK in mutations) || (MUTATION_STRONG in mutations))
+ return
+
// Notify our AI if they can now control the suit.
if(wearing_rig && !stat && paralysis < amount) //We are passing out right this second.
wearing_rig.notify_ai("Warning: user consciousness failure. Mobility control passed to integrated intelligence system.")
+
..()
/mob/living/carbon/human/getCloneLoss()
diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm
index 9fcb92cc241..d24a998a312 100644
--- a/code/modules/mob/living/carbon/human/human_defense.dm
+++ b/code/modules/mob/living/carbon/human/human_defense.dm
@@ -223,7 +223,7 @@ meteor_act
for(var/obj/item/clothing/gear in protective_gear)
if(gear.body_parts_covered & def_zone.body_part)
protection = add_armor(protection, gear.armor[type])
- if(gear.accessories.len)
+ if(LAZYLEN(gear.accessories))
for(var/obj/item/clothing/accessory/bling in gear.accessories)
if(bling.body_parts_covered & def_zone.body_part)
protection = add_armor(protection, bling.armor[type])
@@ -245,7 +245,7 @@ meteor_act
// Unlike in get_flat_armor, here we iterate over everything since a piece
// of clothing may have a bodypart coverage w/out having it in 'body_parts_covered'
for(var/obj/item/clothing/C in protective_gear)
- if(length(C.accessories))
+ if(LAZYLEN(C.accessories))
for(var/obj/item/clothing/accessory/CA in C.accessories)
armor_layer = CA.get_armor_coverage(affecting, type, src)
if(islist(armor_layer))
@@ -414,6 +414,9 @@ meteor_act
if(MUTATION_HULK in user.mutations)
effective_force *= 2
+ if(MUTATION_STRONG in user.mutations)
+ effective_force *= 2
+
if(lying)
effective_force *= 1.5 // Well it's easier to beat a lying dude to death right?
@@ -502,8 +505,13 @@ meteor_act
if(MUTATION_HULK in user.mutations)
effective_force *= 2
+
+ if(MUTATION_STRONG in user.mutations)
+ effective_force *= 2
+
if(src.lying)
effective_force *= 1.5 // Well it's easier to beat all the shit outta lying dudes right?
+
if(istype(user,/mob/living/carbon/human))
var/mob/living/carbon/human/A = user
if(A.body_build.name == "Slim" || A.body_build.name == "Slim Alt")
diff --git a/code/modules/mob/living/carbon/human/human_powers.dm b/code/modules/mob/living/carbon/human/human_powers.dm
index e55e8824b09..703f65a3d6b 100644
--- a/code/modules/mob/living/carbon/human/human_powers.dm
+++ b/code/modules/mob/living/carbon/human/human_powers.dm
@@ -100,7 +100,7 @@
B.chemicals -= 100
- addtimer(CALLBACK(src, nameof(.proc/host_pain_disable)), 30 SECONDS)
+ set_next_think_ctx("host_pain_disable", world.time + 30 SECONDS)
/mob/living/carbon/human/proc/host_pain_disable()
if(no_pain)
diff --git a/code/modules/mob/living/carbon/human/human_species.dm b/code/modules/mob/living/carbon/human/human_species.dm
index 2ddd5713a3b..b5793de5ca9 100644
--- a/code/modules/mob/living/carbon/human/human_species.dm
+++ b/code/modules/mob/living/carbon/human/human_species.dm
@@ -35,7 +35,7 @@
/mob/living/carbon/human/gatecrasher/Initialize()
. = ..()
- addtimer(CALLBACK(src, nameof(.proc/unpossessed_death_check)), 45 SECONDS)
+ add_think_ctx("unposessed_death_check", CALLBACK(src, nameof(.proc/unpossessed_death_check)), world.time + 45 SECONDS)
/mob/living/carbon/human/gatecrasher/proc/unpossessed_death_check()
if(ckey) // Possessed, no euthanasia required
diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm
index 5af066eb4f4..cd9dc2fb387 100644
--- a/code/modules/mob/living/carbon/human/inventory.dm
+++ b/code/modules/mob/living/carbon/human/inventory.dm
@@ -148,7 +148,8 @@ This saves us from having to call add_fingerprint() any time something is put in
if(istype(W, /obj/item))
var/obj/item/I = W
if(I.flags_inv & (HIDEMASK|BLOCKHAIR|BLOCKHEADHAIR))
- update_hair(0) //rebuild hair
+ update_hair(0) // Rebuild hair
+ update_facial_hair(0)
update_inv_ears(0)
update_inv_wear_mask(0)
if(src)
@@ -177,7 +178,8 @@ This saves us from having to call add_fingerprint() any time something is put in
if(istype(W, /obj/item))
var/obj/item/I = W
if(I.flags_inv & (BLOCKHAIR|BLOCKHEADHAIR))
- update_hair(0) //rebuild hair
+ update_hair(0) // Rebuild hair
+ update_facial_hair(0)
update_inv_ears(0)
REMOVE_INTERNALS
update_inv_wear_mask()
@@ -252,7 +254,8 @@ This saves us from having to call add_fingerprint() any time something is put in
if(slot_wear_mask)
src.wear_mask = W
if(wear_mask.flags_inv & (BLOCKHAIR|BLOCKHEADHAIR))
- update_hair(redraw_mob) //rebuild hair
+ update_hair(redraw_mob) // Rebuild hair
+ update_facial_hair(redraw_mob)
update_inv_ears(0)
W.equipped(src, slot)
update_inv_wear_mask(redraw_mob)
@@ -303,7 +306,8 @@ This saves us from having to call add_fingerprint() any time something is put in
if(slot_head)
src.head = W
if(head.flags_inv & (BLOCKHAIR|BLOCKHEADHAIR|HIDEMASK))
- update_hair(redraw_mob) //rebuild hair
+ update_hair(redraw_mob) // Rebuild hair
+ update_facial_hair(redraw_mob)
update_inv_ears(0)
update_inv_wear_mask(0)
if(istype(W,/obj/item/clothing/head/kitty))
diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm
index eef0a8cc755..a79eb5ccd1d 100644
--- a/code/modules/mob/living/carbon/human/life.dm
+++ b/code/modules/mob/living/carbon/human/life.dm
@@ -48,6 +48,11 @@
add_movespeed_modifier(/datum/movespeed_modifier/human_delay)
AddElement(/datum/element/last_words)
+ add_think_ctx("remove_deaf", CALLBACK(src, nameof(.proc/remove_deaf)), 0)
+ add_think_ctx("remove_nearsighted", CALLBACK(src, nameof(.proc/remove_nearsighted)), 0)
+ add_think_ctx("delayed_hallucinations", CALLBACK(src, nameof(.proc/delayed_hallucinations)), 0)
+ add_think_ctx("host_pain_enable", CALLBACK(src, nameof(.proc/host_pain_enable)), 0)
+ add_think_ctx("host_pain_disable", CALLBACK(src, nameof(.proc/host_pain_disable)), 0)
/mob/living/carbon/human/Life()
set invisibility = 0
@@ -251,6 +256,7 @@
h_style = species.default_h_style
f_style = species.default_f_style
update_hair()
+ update_facial_hair()
if(radiation > (2 SIEVERT))
if(!full_prosthetic && !isundead(src))
diff --git a/code/modules/mob/living/carbon/human/say.dm b/code/modules/mob/living/carbon/human/say.dm
index 223216b3278..83a916b5d84 100644
--- a/code/modules/mob/living/carbon/human/say.dm
+++ b/code/modules/mob/living/carbon/human/say.dm
@@ -19,7 +19,7 @@
message = sanitize(message)
var/obj/item/organ/internal/voicebox/vox = locate() in internal_organs
- var/snowflake_speak = (language?.flags & (NONVERBAL|SIGNLANG)) || (vox?.is_usable() && (language in vox.assists_languages))
+ var/snowflake_speak = (language?.language_flags & (NONVERBAL|SIGNLANG)) || (vox?.is_usable() && (language in vox.assists_languages))
if(stat == CONSCIOUS && !full_prosthetic && need_breathe() && failed_last_breath && !snowflake_speak)
var/obj/item/organ/internal/lungs/L = internal_organs_by_name[species.breathing_organ]
@@ -152,7 +152,7 @@
. = TRUE
else if(wear_mask)
var/obj/item/clothing/mask/M = wear_mask
- if(is_muzzled() && !(message_data["language"]?.flags & (NONVERBAL|SIGNLANG)))
+ if(is_muzzled() && !(message_data["language"]?.language_flags & (NONVERBAL|SIGNLANG)))
if(istype(M, /obj/item/clothing/mask))
if(M.say_messages)
message_data["message"] = pick(M.say_messages)
diff --git a/code/modules/mob/living/carbon/human/species/species.dm b/code/modules/mob/living/carbon/human/species/species.dm
index acba19f6ae1..76d2652a241 100644
--- a/code/modules/mob/living/carbon/human/species/species.dm
+++ b/code/modules/mob/living/carbon/human/species/species.dm
@@ -435,15 +435,11 @@ The slots that you can use are found in items_clothing.dm and are the inventory
/datum/species/proc/remove_inherent_verbs(mob/living/carbon/human/H)
if(inherent_verbs)
- for(var/verb_path in inherent_verbs)
- H.verbs -= verb_path
- return
+ revoke_verb(H, inherent_verbs)
/datum/species/proc/add_inherent_verbs(mob/living/carbon/human/H)
if(inherent_verbs)
- for(var/verb_path in inherent_verbs)
- H.verbs |= verb_path
- return
+ grant_verb(H, inherent_verbs)
/datum/species/proc/remove_inherent_traits(mob/living/carbon/human/H)
if(inherent_traits)
@@ -612,6 +608,7 @@ The slots that you can use are found in items_clothing.dm and are the inventory
H.h_style = H.species.default_h_style
H.f_style = H.species.default_f_style
H.update_hair()
+ H.update_facial_hair()
/datum/species/proc/get_blood_name()
return "blood"
diff --git a/code/modules/mob/living/carbon/human/species/species_shapeshift.dm b/code/modules/mob/living/carbon/human/species/species_shapeshift.dm
index 303cbc37716..db480a9ea7c 100644
--- a/code/modules/mob/living/carbon/human/species/species_shapeshift.dm
+++ b/code/modules/mob/living/carbon/human/species/species_shapeshift.dm
@@ -156,7 +156,7 @@ var/list/wrapped_species_by_ref = list()
to_chat(usr, SPAN_WARNING("You can't use your abilities so fast!"))
return
- var/new_skin = input("Please select a new body color.", "Shapeshifter Colour") as color
+ var/new_skin = tgui_color_picker("Please select a new body color.", "Shapeshifter Colour")
if(!new_skin)
return
shapeshifter_set_colour(new_skin)
diff --git a/code/modules/mob/living/carbon/human/species/station/golems.dm b/code/modules/mob/living/carbon/human/species/station/golems.dm
index 054a959cd81..49e9c4909d9 100644
--- a/code/modules/mob/living/carbon/human/species/station/golems.dm
+++ b/code/modules/mob/living/carbon/human/species/station/golems.dm
@@ -153,7 +153,6 @@
/datum/action/innate/ignite
name = "Ignite"
- //desc = "Set yourself aflame, bringing yourself closer to exploding!"
check_flags = AB_CHECK_CONSCIOUS
button_icon_state = "sacredflame"
@@ -452,9 +451,14 @@
var/mob/living/carbon/human/H = owner
H.visible_message(SPAN_WARNING("[H] starts vibrating!"), SPAN_DANGER("You start charging your bluespace core..."))
playsound(get_turf(H), 'sound/weapons/flash.ogg', 25, TRUE)
- addtimer(CALLBACK(src, nameof(.proc/teleport), H), 1.5 SECONDS)
+ set_next_think(world.time + 1.5 SECONDS, weakref(H))
return TRUE
+/datum/action/cooldown/unstable_teleport/think(weakref/ref)
+ var/mob/living/carbon/human/H = ref.resolve()
+ if(istype(H))
+ teleport(H)
+
/datum/action/cooldown/unstable_teleport/proc/teleport(mob/living/carbon/human/H)
StartCooldown()
H.visible_message(SPAN_WARNING("[H] disappears in a shower of sparks!"), SPAN_DANGER("You teleport!"))
@@ -569,7 +573,7 @@
H.forceMove(src)
cloth_golem = H
to_chat(cloth_golem, SPAN_NOTICE("You start gathering your life energy, preparing to rise again..."))
- addtimer(CALLBACK(src, nameof(.proc/revive)), revive_time)
+ set_next_think(world.time + revive_time)
else
return INITIALIZE_HINT_QDEL
@@ -578,10 +582,7 @@
QDEL_NULL(cloth_golem)
return ..()
-/obj/structure/cloth_pile/proc/revive()
- if(QDELETED(src) || QDELETED(cloth_golem)) //QDELETED also checks for null, so if no cloth golem is set this won't runtime
- return
-
+/obj/structure/cloth_pile/think()
invisibility = INVISIBILITY_MAXIMUM //disappear before the animation
new /obj/effect/mummy_animation(get_turf(src))
cloth_golem.revive()
@@ -591,7 +592,6 @@
cloth_golem = null
qdel(src)
-
/obj/structure/cloth_pile/proc/update_name()
if(on_fire)
SetName("burning [initial(name)]")
diff --git a/code/modules/mob/living/carbon/human/species/station/prometheans/luminescent.dm b/code/modules/mob/living/carbon/human/species/station/prometheans/luminescent.dm
index 64351879d29..735499fef39 100644
--- a/code/modules/mob/living/carbon/human/species/station/prometheans/luminescent.dm
+++ b/code/modules/mob/living/carbon/human/species/station/prometheans/luminescent.dm
@@ -18,6 +18,10 @@
name = SPECIES_LUMINESCENT
icobase = 'icons/mob/human_races/prometheans/r_luminescent.dmi'
+/datum/species/promethean/luminescent/New()
+ . = ..()
+ add_think_ctx("update_glow", CALLBACK(src, nameof(.proc/update_glow)), 0)
+
/datum/species/promethean/luminescent/handle_post_spawn(mob/living/carbon/human/new_jellyperson)
. = ..()
@@ -60,11 +64,10 @@
extract_eater_comp.glow_intensity = intensity
else
extract_eater_comp.glow_intensity = LUMINESCENT_DEFAULT_GLOW
- C.set_light(1, 0.5, extract_eater_comp.glow_intensity, 2, C.dna.mcolor)
+ C.set_light(1, 0.5, extract_eater_comp.glow_intensity, extract_eater_comp.glow_intensity, C.dna.mcolor)
/datum/action/innate/integrate_extract
name = "Integrate Extract"
- //desc = "Eat a metroid extract to use its properties."
check_flags = AB_CHECK_CONSCIOUS
button_icon_state = "metroidconsume"
button_icon = 'icons/hud/actions.dmi'
@@ -87,12 +90,10 @@
name = "Integrate Extract"
button_icon_state = "metroidconsume"
button.UpdateIcon()
- //desc = "Eat a metroid extract to use its properties."
else
name = "Eject Extract"
button_icon_state = "metroideject"
button.AddOverlays(image(extract_eater_comp.current_extract.icon, icon_state = extract_eater_comp.current_extract.icon_state))
- //desc = "Eject your current metroid extract."
/datum/action/innate/integrate_extract/Activate()
@@ -126,7 +127,6 @@
/datum/action/cooldown/use_extract
name = "Extract Minor Activation"
- //desc = "Pulse the metroid extract with energized jelly to activate it."
action_type = AB_INNATE
check_flags = AB_CHECK_CONSCIOUS
button_icon_state = "metroiduse1"
@@ -170,7 +170,6 @@
/datum/action/cooldown/use_extract/major
name = "Extract Major Activation"
- //desc = "Pulse the metroid extract with plasma jelly to activate it."
button_icon_state = "metroiduse2"
activation_type = METROID_ACTIVATE_MAJOR
shared_cooldown = TRUE
diff --git a/code/modules/mob/living/carbon/human/species/station/prometheans/prometheans.dm b/code/modules/mob/living/carbon/human/species/station/prometheans/prometheans.dm
index dcde2c07765..efc19c13d1a 100644
--- a/code/modules/mob/living/carbon/human/species/station/prometheans/prometheans.dm
+++ b/code/modules/mob/living/carbon/human/species/station/prometheans/prometheans.dm
@@ -132,7 +132,6 @@
if(jelly_volume <= BLOOD_VOLUME_LOSE_NUTRITION) // don't lose nutrition if we are above a certain threshold, otherwise metroids on IV drips will still lose nutrition
H.add_nutrition(-1.25 * 0.1)
- // we call lose_blood() here rather than quirk/process() to make sure that the blood loss happens in sync with life()
if(HAS_TRAIT(H, TRAIT_BLOOD_DEFICIENCY))
if(jelly_volume>=BLOOD_VOLUME_BAD)
jelly_vessel.remove_jelly(PROMETHEAN_REGEN_RATE * 0.1)
@@ -151,13 +150,22 @@
var/obj/item/organ/external/E = H.organs_by_name[limb_type]
if(!E)
missing_limbs+=limb_type
- var/list/limbs_to_consume = list(BP_R_ARM, BP_L_ARM, BP_R_LEG, BP_L_LEG) - missing_limbs
+ var/list/limbs_to_consume = list(BP_L_FOOT, BP_R_FOOT, BP_L_LEG, BP_R_LEG, BP_L_HAND, BP_R_HAND, BP_L_ARM, BP_R_ARM) - missing_limbs
+
var/obj/item/organ/external/consumed_limb
if(!length(limbs_to_consume))
H.losebreath++
return
- if(H.has_organ(BP_L_LEG)||H.has_organ(BP_R_LEG)) //Legs go before arms
- limbs_to_consume -= list(BP_R_ARM, BP_L_ARM)
+
+ if(H.has_organ(BP_L_FOOT) || H.has_organ(BP_R_FOOT)) //Feets go before legs
+ limbs_to_consume -= list(BP_L_LEG, BP_R_LEG)
+
+ if(H.has_organ(BP_L_LEG) || H.has_organ(BP_R_LEG)) //Legs go before Hands
+ limbs_to_consume -= list(BP_L_HAND, BP_R_HAND)
+
+ if(H.has_organ(BP_L_HAND) || H.has_organ(BP_R_HAND)) //Hands go before arms
+ limbs_to_consume -= list(BP_L_ARM, BP_R_ARM)
+
consumed_limb = H.get_organ(pick(limbs_to_consume))
consumed_limb.droplimb()
to_chat(H, SPAN_DANGER("Your [consumed_limb] is drawn back into your body, unable to maintain its shape!"))
@@ -205,8 +213,8 @@
jelly_vessel.remove_jelly(H.species.blood_volume*BLOOD_LOSE_PER_LIMB*length(limbs_to_heal)) //FIXME fuck baymed with their BLOOD
to_chat(H, SPAN_NOTICE("...and after a moment you finish reforming!"))
return
- else if(jelly_volume > BLOOD_VOLUME_BAD)//We can partially heal some limbs
- while(jelly_volume >= BLOOD_VOLUME_BAD+20)
+ else if(jelly_volume > BLOOD_VOLUME_BAD + 25)//We can partially heal some limbs
+ while(jelly_volume >= BLOOD_VOLUME_BAD + 25)
var/healed_limb = pick(limbs_to_heal)
H.restore_limb(healed_limb)
limbs_to_heal -= healed_limb
diff --git a/code/modules/mob/living/carbon/human/species/station/prometheans/slime.dm b/code/modules/mob/living/carbon/human/species/station/prometheans/slime.dm
index 400529428b1..3f74158a10e 100644
--- a/code/modules/mob/living/carbon/human/species/station/prometheans/slime.dm
+++ b/code/modules/mob/living/carbon/human/species/station/prometheans/slime.dm
@@ -1,9 +1,10 @@
#define BLOOD_VOLUME_SLIME_SPLIT 45
+#define MAX_BODY_COUNT 5
//Slime people are able to split like slimes, retaining a single mind that can swap between bodies at will, even after death.
/datum/component/body_swapper
var/list/mob/living/carbon/bodies
- var/datum/action/innate/split_body/slime_split
+ var/datum/action/cooldown/split_body/slime_split
var/datum/action/innate/swap_body/swap_body
/datum/species/promethean/slime
@@ -66,27 +67,33 @@
..()
-/datum/action/innate/split_body
+/datum/action/cooldown/split_body
name = "Split Body"
check_flags = AB_CHECK_CONSCIOUS
button_icon_state = "slimesplit"
button_icon = 'icons/hud/actions.dmi'
background_icon_state = "bg_alien"
+ cooldown_time = 5 MINUTES
-/datum/action/innate/split_body/IsAvailable(feedback = FALSE)
+/datum/action/cooldown/split_body/IsAvailable(feedback = FALSE)
. = ..()
if(!.)
return
var/mob/living/carbon/human/H = owner
+
+ var/datum/component/body_swapper/BS = H.get_component(/datum/component/body_swapper)
+
+ if(LAZYLEN(BS.bodies) >= MAX_BODY_COUNT)
+ return FALSE
+
+
var/obj/item/organ/internal/promethean/metroid_jelly_vessel/jelly_vessel = H.internal_organs_by_name[BP_METROID]
var/jelly_amount = jelly_vessel.stored_jelly
var/jelly_volume = round((jelly_amount/H.species.blood_volume)*100)
- if(jelly_volume >= BLOOD_VOLUME_SLIME_SPLIT)
- return TRUE
- return FALSE
+ return jelly_volume >= BLOOD_VOLUME_SLIME_SPLIT
-/datum/action/innate/split_body/Activate()
+/datum/action/cooldown/split_body/Activate()
var/mob/living/carbon/human/H = owner
if(!(H.dna?.species))
return
@@ -108,10 +115,14 @@
make_dupe()
else
to_chat(H, SPAN_WARNING("...but there is not enough of you to go around! You must attain more mass to split!"))
+ return
else
to_chat(H, SPAN_WARNING("...but fail to stand perfectly still!"))
+ return
-/datum/action/innate/split_body/proc/make_dupe()
+ StartCooldown()
+
+/datum/action/cooldown/split_body/proc/make_dupe()
var/mob/living/carbon/human/H = owner
if(!(H.dna?.species))
@@ -119,6 +130,7 @@
var/obj/item/organ/internal/promethean/metroid_jelly_vessel/jelly_vessel = H.internal_organs_by_name[BP_METROID]
var/mob/living/carbon/human/spare = new /mob/living/carbon/human/slimeperson(H.loc)
+ var/obj/item/organ/internal/promethean/metroid_jelly_vessel/spare_jelly_vessel = spare.internal_organs_by_name[BP_METROID]
spare.dna = H.dna.Clone()
spare.dna.mcolor = "#[pick("7F", "FF")][pick("7F", "FF")][pick("7F", "FF")]"
@@ -128,7 +140,8 @@
spare.Move(get_step(H.loc, pick(NORTH,SOUTH,EAST,WEST)))
spare.AddComponent(/datum/component/body_swapper)
- jelly_vessel.remove_jelly(H.species.blood_volume*(BLOOD_VOLUME_SLIME_SPLIT/100))
+ jelly_vessel.remove_jelly(H.species.blood_volume * (BLOOD_VOLUME_SLIME_SPLIT / 100))
+ spare_jelly_vessel.remove_jelly(H.species.blood_volume * (BLOOD_VOLUME_SLIME_SPLIT / 100))
var/datum/component/body_swapper/BS_original = H.get_component(/datum/component/body_swapper)
BS_original.bodies |= spare
@@ -291,3 +304,6 @@
around.",
SPAN_NOTICE("...and move this one instead."))
dupe.update_action_buttons()
+
+#undef MAX_BODY_COUNT
+#undef BLOOD_VOLUME_SLIME_SPLIT
diff --git a/code/modules/mob/living/carbon/human/species/station/prometheans/stargazer.dm b/code/modules/mob/living/carbon/human/species/station/prometheans/stargazer.dm
index e244918f265..c43896d24d1 100644
--- a/code/modules/mob/living/carbon/human/species/station/prometheans/stargazer.dm
+++ b/code/modules/mob/living/carbon/human/species/station/prometheans/stargazer.dm
@@ -11,7 +11,7 @@
/datum/species/promethean/stargazer/handle_post_spawn(mob/living/carbon/H)
. = ..()
- H.AddComponent(/datum/component/mind_linker, network_name = "Slime Link")
+ H.AddComponent(/datum/component/mind_linker, network_name = "Stargazer Link")
spawn(1)
H.update_action_buttons()
diff --git a/code/modules/mob/living/carbon/human/stripping.dm b/code/modules/mob/living/carbon/human/stripping.dm
index 56ac7d79c30..55cb1855ef1 100644
--- a/code/modules/mob/living/carbon/human/stripping.dm
+++ b/code/modules/mob/living/carbon/human/stripping.dm
@@ -35,27 +35,27 @@
if("pockets")
if(stripping)
visible_message("\The [user] is trying to empty [src]'s pockets!")
- if(do_after(user, HUMAN_STRIP_DELAY, src))
+ if(do_mob(user, src, HUMAN_STRIP_DELAY, can_multitask = TRUE))
empty_pockets(user)
else
//should it be possible to discreetly slip something into someone's pockets?
visible_message("\The [user] is trying to stuff \a [held] into [src]'s pocket!")
- if(do_after(user, HUMAN_STRIP_DELAY, src))
+ if(do_mob(user, src, HUMAN_STRIP_DELAY, can_multitask = TRUE))
place_in_pockets(held, user)
return
if("splints")
visible_message("\The [user] is trying to remove \the [src]'s splints!")
- if(do_after(user, HUMAN_STRIP_DELAY, src))
+ if(do_mob(user, src, HUMAN_STRIP_DELAY, can_multitask = TRUE))
remove_splints(user)
return
if("sensors")
visible_message("\The [user] is trying to set \the [src]'s sensors!")
- if(do_after(user, HUMAN_STRIP_DELAY, src))
+ if(do_mob(user, src, HUMAN_STRIP_DELAY, can_multitask = TRUE))
toggle_sensors(user)
return
if("rolldown")
visible_message(SPAN_DANGER("\The [user] is trying to roll down \the [src]'s uniform!"))
- if(do_after(user, HUMAN_STRIP_DELAY, src))
+ if(do_mob(user, src, HUMAN_STRIP_DELAY, can_multitask = TRUE))
var/obj/item/clothing/under/U = w_uniform
if(U)
U.rollsuit()
@@ -63,11 +63,11 @@
return
if("internals")
visible_message("\The [usr] is trying to set \the [src]'s internals!")
- if(do_after(user, HUMAN_STRIP_DELAY, src))
+ if(do_mob(user, src, HUMAN_STRIP_DELAY, can_multitask = TRUE))
toggle_internals(user)
return
if("tie")
- if(!istype(holder) || !holder.accessories.len)
+ if(!istype(holder) || !LAZYLEN(holder.accessories))
return
var/obj/item/clothing/accessory/A = holder.accessories[1]
if(holder.accessories.len > 1)
@@ -80,10 +80,10 @@
visible_message("\The [user] is trying to remove \the [src]'s [A.name]!")
- if(!do_after(user, HUMAN_STRIP_DELAY, src))
+ if(!do_mob(user, src, HUMAN_STRIP_DELAY, can_multitask = TRUE))
return
- if(!A || holder.loc != src || !(A in holder.accessories))
+ if(!A || holder.loc != src || !LAZYISIN(holder.accessories, A))
return
admin_attack_log(user, src, "Stripped \an [A] from \the [holder].", "Was stripped of \an [A] from \the [holder].", "stripped \an [A] from \the [holder] of")
@@ -121,7 +121,7 @@
else
visible_message("\The [user] is trying to put \a [held] on \the [src]!")
- if(!do_after(user, HUMAN_STRIP_DELAY, src))
+ if(!do_mob(user, src, HUMAN_STRIP_DELAY, can_multitask = TRUE))
return
if(stripping)
diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm
index 31bbaa4f02b..887bd7c6ad7 100644
--- a/code/modules/mob/living/carbon/human/update_icons.dm
+++ b/code/modules/mob/living/carbon/human/update_icons.dm
@@ -85,6 +85,7 @@ There are several things that need to be remembered:
update_body() //Handles updating your mob's icon to reflect their gender/race/complexion etc
update_hair() //Handles updating your hair overlay (used to be update_face, but mouth and
...eyes were merged into update_body)
+ update_facial_hair() // Handles updating your facial hair overlay. Used to be a part of update_hair(), but was forked because of the mask alt layer.
update_deformities() //handles updating your mob's deformities overlay. e.g missing eyes, glasgow smile
update_targeted() // Updates the target overlay when someone points a gun at you
@@ -119,38 +120,42 @@ Please contact me on #coderbus IRC. ~Carn x
*/
//Human Overlays Indexes/////////
-#define HO_BODY_LAYER 1
-#define HO_MUTATIONS_LAYER 2
-#define HO_SKIN_LAYER 3
-#define HO_DAMAGE_LAYER 4
-#define HO_SURGERY_LAYER 5
-#define HO_UNDERWEAR_LAYER 6
-#define HO_UNIFORM_LAYER 7
-#define HO_BANDAGE_LAYER 8
-#define HO_ID_LAYER 9
-#define HO_SHOES_LAYER 10
-#define HO_GLOVES_LAYER 11
-#define HO_BELT_LAYER 12
-#define HO_SUIT_LAYER 13
-#define HO_TAIL_LAYER 14 //bs12 specific. this hack is probably gonna come back to haunt me
-#define HO_GLASSES_LAYER 15
-#define HO_BELT_LAYER_ALT 16
-#define HO_SUIT_STORE_LAYER 17
-#define HO_BACK_LAYER 18
-#define HO_DEFORM_LAYER 19
-#define HO_HAIR_LAYER 20
-#define HO_GOGGLES_LAYER 21
-#define HO_EARS_LAYER 22
-#define HO_FACEMASK_LAYER 23
-#define HO_HEAD_LAYER 24
-#define HO_COLLAR_LAYER 25
-#define HO_HANDCUFF_LAYER 26
-#define HO_L_HAND_LAYER 27
-#define HO_R_HAND_LAYER 28
-#define HO_FIRE_LAYER 29 //If you're on fire
-#define HO_MODIFIER_EFFECTS_LAYER 30
-#define HO_TARGETED_LAYER 31 //BS12: Layer for the target overlay from weapon targeting system
-#define HO_TOTAL_LAYERS 31
+#define HO_L_HAND_LOW_LAYER 1
+#define HO_R_HAND_LOW_LAYER 2
+#define HO_BODY_LAYER 3
+#define HO_MUTATIONS_LAYER 4
+#define HO_SKIN_LAYER 5
+#define HO_DAMAGE_LAYER 6
+#define HO_SURGERY_LAYER 7
+#define HO_UNDERWEAR_LAYER 8
+#define HO_UNIFORM_LAYER 9
+#define HO_BANDAGE_LAYER 10
+#define HO_ID_LAYER 11
+#define HO_SHOES_LAYER 12
+#define HO_GLOVES_LAYER 13
+#define HO_BELT_LAYER 14
+#define HO_SUIT_LAYER 15
+#define HO_TAIL_LAYER 16 //bs12 specific. this hack is probably gonna come back to haunt me
+#define HO_FACIAL_HAIR_LAYER 17
+#define HO_FACEMASK_ALT_LAYER 18
+#define HO_GLASSES_LAYER 19
+#define HO_BELT_LAYER_ALT 20
+#define HO_SUIT_STORE_LAYER 21
+#define HO_BACK_LAYER 22
+#define HO_DEFORM_LAYER 23
+#define HO_HAIR_LAYER 24
+#define HO_GOGGLES_LAYER 25
+#define HO_EARS_LAYER 26
+#define HO_FACEMASK_LAYER 27
+#define HO_HEAD_LAYER 28
+#define HO_COLLAR_LAYER 29
+#define HO_HANDCUFF_LAYER 30
+#define HO_L_HAND_LAYER 31
+#define HO_R_HAND_LAYER 32
+#define HO_FIRE_LAYER 33 //If you're on fire
+#define HO_MODIFIER_EFFECTS_LAYER 34
+#define HO_TARGETED_LAYER 35 //BS12: Layer for the target overlay from weapon targeting system
+#define HO_TOTAL_LAYERS 35
//////////////////////////////////
/mob/living/carbon/human
@@ -344,6 +349,32 @@ var/global/list/damage_icon_parts = list()
if(update_icons) queue_icon_update()
+/// BEARD OVERLAY
+/mob/living/carbon/human/proc/update_facial_hair(update_icons=1)
+
+ if(!src)
+ return
+
+ //Reset our hair
+ overlays_standing[HO_FACIAL_HAIR_LAYER] = null
+
+ var/obj/item/organ/external/head/head_organ = get_organ(BP_HEAD)
+ if(!head_organ || head_organ.is_stump())
+ if(update_icons)
+ queue_icon_update()
+ return
+
+ //masks and helmets can obscure our hair.
+ if((head && (head.flags_inv & BLOCKHAIR)) || (wear_mask && (wear_mask.flags_inv & BLOCKHAIR)))
+ if(update_icons)
+ queue_icon_update()
+ return
+
+ overlays_standing[HO_FACIAL_HAIR_LAYER]= head_organ.get_facial_hair_icon()
+
+ if(update_icons)
+ queue_icon_update()
+
/mob/living/carbon/human/proc/update_skin(update_icons=1)
overlays_standing[HO_SKIN_LAYER] = species.update_skin(src)
@@ -408,6 +439,7 @@ var/global/list/damage_icon_parts = list()
update_skin(0)
update_underwear(0)
update_hair(0)
+ update_facial_hair(0)
update_deformities(0)
update_inv_w_uniform(0)
update_inv_wear_id(0)
@@ -572,10 +604,12 @@ var/global/list/damage_icon_parts = list()
// Mask
/mob/living/carbon/human/update_inv_wear_mask(update_icons=1)
- if( wear_mask && ( istype(wear_mask, /obj/item/clothing/mask) || istype(wear_mask, /obj/item/clothing/accessory) || istype(wear_mask, /obj/item/grenade) || istype(wear_mask, /obj/item/holder)) && !(head && head.flags_inv & HIDEMASK))
- overlays_standing[HO_FACEMASK_LAYER] = wear_mask.get_mob_overlay(src,slot_wear_mask_str)
+ if(wear_mask && !(head && head.flags_inv & HIDEMASK))
+ overlays_standing[wear_mask.use_alt_layer ? HO_FACEMASK_ALT_LAYER : HO_FACEMASK_LAYER] = wear_mask.get_mob_overlay(src, slot_wear_mask_str)
+ overlays_standing[wear_mask.use_alt_layer ? HO_FACEMASK_LAYER : HO_FACEMASK_ALT_LAYER] = null
else
overlays_standing[HO_FACEMASK_LAYER] = null
+ overlays_standing[HO_FACEMASK_ALT_LAYER] = null
if(update_icons) queue_icon_update()
@@ -607,30 +641,66 @@ var/global/list/damage_icon_parts = list()
// Right Hand
/mob/living/carbon/human/update_inv_r_hand(update_icons=1)
if(r_hand)
- var/image/standing = r_hand.get_mob_overlay(src, slot_r_hand_str)
- if(standing)
- standing.appearance_flags |= RESET_ALPHA
- standing.appearance_flags |= PIXEL_SCALE
- overlays_standing[HO_R_HAND_LAYER] = standing
+ . = r_hand.get_mob_overlay(src, slot_r_hand_str)
+ if(.)
+ if(islist(.))
+ var/image/main = .[1]
+ main.appearance_flags |= RESET_ALPHA
+ main.appearance_flags |= PIXEL_SCALE
+ overlays_standing[HO_R_HAND_LAYER] = main
+
+ var/image/back = .[2]
+ back.appearance_flags |= RESET_ALPHA
+ back.appearance_flags |= PIXEL_SCALE
+ overlays_standing[HO_R_HAND_LOW_LAYER] = back
+ else
+ var/image/standing = .
+ standing.appearance_flags |= RESET_ALPHA
+ standing.appearance_flags |= PIXEL_SCALE
+ overlays_standing[HO_R_HAND_LAYER] = standing
+ overlays_standing[HO_R_HAND_LOW_LAYER] = null
+
+ else
+ overlays_standing[HO_R_HAND_LAYER] = null
+ overlays_standing[HO_R_HAND_LOW_LAYER] = null
if (handcuffed) drop_r_hand() //this should be moved out of icon code
else
overlays_standing[HO_R_HAND_LAYER] = null
+ overlays_standing[HO_R_HAND_LOW_LAYER] = null
if(update_icons) queue_icon_update()
// Left Hand
/mob/living/carbon/human/update_inv_l_hand(update_icons=1)
if(l_hand)
- var/image/standing = l_hand.get_mob_overlay(src, slot_l_hand_str)
- if(standing)
- standing.appearance_flags |= RESET_ALPHA
- standing.appearance_flags |= PIXEL_SCALE
- overlays_standing[HO_L_HAND_LAYER] = standing
+ . = l_hand.get_mob_overlay(src, slot_l_hand_str)
+ if(.)
+ if(islist(.))
+ var/image/main = .[1]
+ main.appearance_flags |= RESET_ALPHA
+ main.appearance_flags |= PIXEL_SCALE
+ overlays_standing[HO_L_HAND_LAYER] = main
+
+ var/image/back = .[2]
+ back.appearance_flags |= RESET_ALPHA
+ back.appearance_flags |= PIXEL_SCALE
+ overlays_standing[HO_L_HAND_LOW_LAYER] = back
+ else
+ var/image/standing = .
+ standing.appearance_flags |= RESET_ALPHA
+ standing.appearance_flags |= PIXEL_SCALE
+ overlays_standing[HO_L_HAND_LAYER] = standing
+ overlays_standing[HO_L_HAND_LOW_LAYER] = null
+
+ else
+ overlays_standing[HO_L_HAND_LAYER] = null
+ overlays_standing[HO_L_HAND_LOW_LAYER] = null
if (handcuffed) drop_l_hand() //This probably should not be here
else
overlays_standing[HO_L_HAND_LAYER] = null
+ overlays_standing[HO_L_HAND_LOW_LAYER] = null
if(update_icons) queue_icon_update()
diff --git a/code/modules/mob/living/carbon/resist.dm b/code/modules/mob/living/carbon/resist.dm
index 1738ef64fe3..b6e6100e8f9 100644
--- a/code/modules/mob/living/carbon/resist.dm
+++ b/code/modules/mob/living/carbon/resist.dm
@@ -70,8 +70,8 @@
drop(handcuffed, force = TRUE)
/mob/living/carbon/proc/can_break_cuffs()
- if(MUTATION_HULK in mutations)
- return 1
+ if((MUTATION_HULK in mutations) || (MUTATION_STRONG in mutations))
+ return TRUE
/mob/living/carbon/proc/break_handcuffs()
visible_message(
diff --git a/code/modules/mob/living/carbon/xenobiological/crossbreeding/_clothing.dm b/code/modules/mob/living/carbon/xenobiological/crossbreeding/_clothing.dm
index 0e2f3024c18..578ad6bf53d 100644
--- a/code/modules/mob/living/carbon/xenobiological/crossbreeding/_clothing.dm
+++ b/code/modules/mob/living/carbon/xenobiological/crossbreeding/_clothing.dm
@@ -89,7 +89,7 @@
if(!IsAvailable())
return
var/obj/item/clothing/glasses/prism_glasses/glasses = target
- var/new_color = input(owner, "Choose the lens color:", "Color change",glasses.glasses_color) as color|null
+ var/new_color = tgui_color_picker(owner, "Choose the lens color:", "Color change",glasses.glasses_color)
if(!new_color)
return
glasses.glasses_color = new_color
@@ -113,6 +113,8 @@
to_chat(owner, SPAN_NOTICE("You channel nearby light into a glowing, ethereal prism."))
new /obj/structure/light_prism(get_turf(owner), glasses.glasses_color)
+#define FLOWER_COOLDOWN 30 SECONDS
+
/obj/item/clothing/head/hairflower/peaceflower
name = "heroine bud"
desc = "An extremely addictive flower, full of peace magic."
@@ -120,17 +122,16 @@
icon_state = "peaceflower"
body_parts_covered = 0
-
/obj/item/clothing/head/hairflower/peaceflower/equipped(mob/user)
. = ..()
if(ishuman(user))
var/mob/living/carbon/human/H = user
if(istype(H.head, src.type))
ADD_TRAIT(H, TRAIT_PACIFISM)
- set_next_think(world.time+10 SECOND)
+ set_next_think(world.time + FLOWER_COOLDOWN)
/obj/item/clothing/head/hairflower/peaceflower/can_be_unequipped_by(mob/M, slot, disable_warning)
- if(M==loc && slot==slot_head)
+ if(M == loc && slot == slot_head)
to_chat(M, SPAN_WARNING("You feel at peace. Why would you want anything else?"))
return FALSE
return ..()
@@ -145,9 +146,11 @@
/obj/item/clothing/head/hairflower/peaceflower/think()
if(ishuman(loc))
var/mob/living/carbon/human/H = loc
- H.reagents.add_reagent(/datum/reagent/space_drugs, 2)
+ H.reagents.add_reagent(/datum/reagent/space_drugs, 1)
+
+ set_next_think(world.time + FLOWER_COOLDOWN)
- set_next_think(world.time+10 SECOND)
+#undef FLOWER_COOLDOWN
/obj/item/clothing/suit/armor/heavy/adamantine
name = "adamantine armor"
diff --git a/code/modules/mob/living/carbon/xenobiological/crossbreeding/_corecross.dm b/code/modules/mob/living/carbon/xenobiological/crossbreeding/_corecross.dm
index 4f73913014d..3a35dbd86d3 100644
--- a/code/modules/mob/living/carbon/xenobiological/crossbreeding/_corecross.dm
+++ b/code/modules/mob/living/carbon/xenobiological/crossbreeding/_corecross.dm
@@ -87,10 +87,11 @@ To add a crossbreed:
throw_range = 6
atom_flags = ATOM_FLAG_OPEN_CONTAINER
-/obj/item/metroidcross/_examine_text(mob/user)
+/obj/item/metroidcross/examine(mob/user, infix)
. = ..()
+
if(effect_desc)
- . += SPAN_NOTICE("\n[effect_desc]")
+ . += SPAN_NOTICE("[effect_desc]")
/obj/item/metroidcross/Initialize(mapload)
. = ..()
diff --git a/code/modules/mob/living/carbon/xenobiological/crossbreeding/_misc.dm b/code/modules/mob/living/carbon/xenobiological/crossbreeding/_misc.dm
index ed0439ff9e9..e0e9bdc18a5 100644
--- a/code/modules/mob/living/carbon/xenobiological/crossbreeding/_misc.dm
+++ b/code/modules/mob/living/carbon/xenobiological/crossbreeding/_misc.dm
@@ -50,12 +50,12 @@
icon = 'icons/obj/xenobiology/metroidcrossing.dmi'
icon_state = "metroidbarrier_thick"
-/obj/effect/forcefield/metroidwall/New()
- addtimer(CALLBACK(src, nameof(.proc/finish_existance)), 300)
+/obj/effect/forcefield/metroidwall/Initialize()
+ . = ..()
+ set_next_think(world.time + 30 SECONDS)
-/obj/effect/forcefield/metroidwall/proc/finish_existance()
- qdel(src)
- return
+/obj/effect/forcefield/metroidwall/think()
+ qdel_self()
//Rainbow barrier - Chilling Rainbow
/obj/effect/forcefield/metroidwall/rainbow
@@ -85,9 +85,8 @@
if(isWelder(W))
var/obj/item/weldingtool/WT = W
- if(WT.remove_fuel(0, user))
+ if(WT.use_tool(src, user, amount = 1))
damage = 15
- playsound(loc, 'sound/items/Welder.ogg', 100, 1)
health -= damage
if(health <= 0)
diff --git a/code/modules/mob/living/carbon/xenobiological/crossbreeding/_status_effects.dm b/code/modules/mob/living/carbon/xenobiological/crossbreeding/_status_effects.dm
index f9aea8895dc..f4baa5ca761 100644
--- a/code/modules/mob/living/carbon/xenobiological/crossbreeding/_status_effects.dm
+++ b/code/modules/mob/living/carbon/xenobiological/crossbreeding/_status_effects.dm
@@ -504,7 +504,7 @@
return ..()
-/datum/modifier/status_effect/stabilized/purple/_examine_text()
+/datum/modifier/status_effect/stabilized/purple/examine()
if(healed_last_tick)
return SPAN_WARNING("[holder] [holder] regenerating slowly, purplish goo filling in small injuries!")
@@ -560,7 +560,7 @@
var/cooldown = 10
var/max_cooldown = 10
-/datum/modifier/status_effect/stabilized/yellow/_examine_text()
+/datum/modifier/status_effect/stabilized/yellow/examine()
return SPAN_WARNING("Nearby electronics seem just a little more charged wherever [holder] go[holder].")
/datum/modifier/status_effect/stabilized/yellow/on_applied()
@@ -613,7 +613,7 @@
item.attackby(fire, holder)
return ..()
-/datum/modifier/status_effect/stabilized/darkpurple/_examine_text()
+/datum/modifier/status_effect/stabilized/darkpurple/examine()
return SPAN_NOTICE("[holder] fingertips burn brightly!")
/datum/modifier/status_effect/stabilized/darkblue
@@ -812,8 +812,6 @@
if(ishuman(holder))
var/mob/living/carbon/human/H = holder
originalDNA = H.dna.Clone()
- originalname = H.real_name
- H.real_name = H.species.get_random_name(H.gender)
for(var/i=1 to H.dna.UI.len)
H.dna.SetUIValue(i,rand(1,4095))
@@ -822,7 +820,7 @@
return ..()
// Only occasionally give examiners a warning.
-/datum/modifier/status_effect/stabilized/grey/_examine_text()
+/datum/modifier/status_effect/stabilized/grey/examine()
if(prob(50))
return SPAN_WARNING("[holder] look[holder] a bit grey and gooey...")
return null
@@ -869,7 +867,7 @@
explosion(holder, devastation_range = 1, heavy_impact_range = 2, light_impact_range = 4)
return ..()
-/datum/modifier/status_effect/stabilized/oil/_examine_text()
+/datum/modifier/status_effect/stabilized/oil/examine()
return SPAN_WARNING("[holder] smell[holder] of sulfer and oil!")
/// How much damage is dealt per healing done for the stabilized back.
@@ -908,7 +906,7 @@
to_chat(holder, SPAN_NOTICE(FONT_LARGE("You feel your hands melt around [draining]'s neck as you start to drain [draining] of [draining] life!")))
to_chat(draining, SPAN_DANGER(FONT_LARGE("[holder]'s hands melt around your neck as you can feel your life starting to drain away!")))
-/datum/modifier/status_effect/stabilized/black/_examine_text()
+/datum/modifier/status_effect/stabilized/black/examine()
var/mob/living/draining = draining_ref?.resolve()
if(!draining)
return null
@@ -1011,7 +1009,7 @@
colour = "adamantine"
incoming_brute_damage_percent = 0.75
-/datum/modifier/status_effect/stabilized/adamantine/_examine_text()
+/datum/modifier/status_effect/stabilized/adamantine/examine()
return SPAN_WARNING("[holder] have strange metallic coating on [holder] skin.")
/datum/modifier/status_effect/stabilized/rainbow
diff --git a/code/modules/mob/living/carbon/xenobiological/crossbreeding/burning.dm b/code/modules/mob/living/carbon/xenobiological/crossbreeding/burning.dm
index 29cba74e7f7..62a27da3432 100644
--- a/code/modules/mob/living/carbon/xenobiological/crossbreeding/burning.dm
+++ b/code/modules/mob/living/carbon/xenobiological/crossbreeding/burning.dm
@@ -345,9 +345,13 @@ Burning extracts:
colour = "oil"
effect_desc = "Creates an explosion after a few seconds."
+/obj/item/metroidcross/burning/oil/Initialize(mapload)
+ . = ..()
+ add_think_ctx("think_boom", CALLBACK(src, nameof(.proc/boom)), 0)
+
/obj/item/metroidcross/burning/oil/do_effect(mob/user)
user.visible_message(SPAN_WARNING("[user] activates [src]. It's going to explode!"), SPAN_DANGER("You activate [src]. It crackles in anticipation"))
- addtimer(CALLBACK(src, nameof(.proc/boom)), 50)
+ set_next_think_ctx("think_boom", world.time + 5 SECONDS)
/// Inflicts a blastwave upon every mob within a small radius.
/obj/item/metroidcross/burning/oil/proc/boom()
diff --git a/code/modules/mob/living/carbon/xenobiological/crossbreeding/charged.dm b/code/modules/mob/living/carbon/xenobiological/crossbreeding/charged.dm
index 26964db26d7..db5b92f1194 100644
--- a/code/modules/mob/living/carbon/xenobiological/crossbreeding/charged.dm
+++ b/code/modules/mob/living/carbon/xenobiological/crossbreeding/charged.dm
@@ -228,10 +228,7 @@ Charged extracts:
/obj/item/metroidcross/charged/gold/do_effect(mob/user)
user.visible_message(SPAN_WARNING("[src] starts shuddering violently!"))
- addtimer(CALLBACK(src, nameof(.proc/startTimer)), 50)
-
-/obj/item/metroidcross/charged/gold/proc/startTimer()
- set_next_think(world.time + 1 SECONDS)
+ set_next_think(world.time + 6 SECONDS)
/obj/item/metroidcross/charged/gold/think()
visible_message(SPAN_WARNING("[src] lets off a spark, and produces a living creature!"))
@@ -253,9 +250,13 @@ Charged extracts:
colour = "oil"
effect_desc = "Creates an explosion after a few seconds."
+/obj/item/metroidcross/charged/oil/Initialize(mapload)
+ . = ..()
+ add_think_ctx("think_boom", CALLBACK(src, nameof(.proc/boom)), 0)
+
/obj/item/metroidcross/charged/oil/do_effect(mob/user)
user.visible_message(SPAN_DANGER("[src] begins to shake with rapidly increasing force!"))
- addtimer(CALLBACK(src, nameof(.proc/boom)), 50)
+ set_next_think_ctx("think_boom", world.time + 5 SECONDS)
/obj/item/metroidcross/charged/oil/proc/boom()
explosion(src, devastation_range = 2, heavy_impact_range = 3, light_impact_range = 4) //Much smaller effect than normal oils, but devastatingly strong where it does hit.
diff --git a/code/modules/mob/living/carbon/xenobiological/crossbreeding/chilling.dm b/code/modules/mob/living/carbon/xenobiological/crossbreeding/chilling.dm
index f44cce00106..c32a1985c6e 100644
--- a/code/modules/mob/living/carbon/xenobiological/crossbreeding/chilling.dm
+++ b/code/modules/mob/living/carbon/xenobiological/crossbreeding/chilling.dm
@@ -276,9 +276,13 @@ Chilling extracts:
colour = "oil"
effect_desc = "It creates a weak, but wide-ranged explosion."
+/obj/item/metroidcross/chilling/oil/Initialize(mapload)
+ . = ..()
+ add_think_ctx("boom", CALLBACK(src, nameof(.proc/boom)), 0)
+
/obj/item/metroidcross/chilling/oil/do_effect(mob/user)
user.visible_message(SPAN_DANGER("[src] begins to shake with muted intensity!"))
- addtimer(CALLBACK(src, nameof(.proc/boom)), 50)
+ set_next_think_ctx("boom", world.time + 5 SECONDS)
/obj/item/metroidcross/chilling/oil/proc/boom()
explosion(src, devastation_range = -1, heavy_impact_range = -1, light_impact_range = 10) //Large radius, but mostly light damage, and no flash.
diff --git a/code/modules/mob/living/carbon/xenobiological/crossbreeding/industrial.dm b/code/modules/mob/living/carbon/xenobiological/crossbreeding/industrial.dm
index 439cb5e066e..3e926969726 100644
--- a/code/modules/mob/living/carbon/xenobiological/crossbreeding/industrial.dm
+++ b/code/modules/mob/living/carbon/xenobiological/crossbreeding/industrial.dm
@@ -12,7 +12,7 @@ Industrial extracts:
var/plasmaabsorbed = 0 //Units of plasma aborbed by the extract already. Absorbs at a rate of 2u/obj per every 3 seconds.
var/itemamount = 1 //How many items to spawn
-/obj/item/metroidcross/industrial/_examine_text(mob/user)
+/obj/item/metroidcross/industrial/examine(mob/user, infix)
. = ..()
. += "It currently has [plasmaabsorbed] units of plasma floating inside the outer shell, out of [plasmarequired] units."
diff --git a/code/modules/mob/living/carbon/xenobiological/crossbreeding/prismatic.dm b/code/modules/mob/living/carbon/xenobiological/crossbreeding/prismatic.dm
index c04c4807483..caf30730935 100644
--- a/code/modules/mob/living/carbon/xenobiological/crossbreeding/prismatic.dm
+++ b/code/modules/mob/living/carbon/xenobiological/crossbreeding/prismatic.dm
@@ -115,7 +115,7 @@ Prismatic extracts:
colour = "rainbow"
/obj/item/metroidcross/prismatic/rainbow/attack_self(mob/user)
- var/newcolor = input(user, "Choose the metroid color:", "Color change",paintcolor) as color|null
+ var/newcolor = tgui_color_picker(user, "Choose the metroid color:", "Color change", paintcolor)
if(user.incapacitated())
return
if(!newcolor)
diff --git a/code/modules/mob/living/carbon/xenobiological/crossbreeding/regenerative.dm b/code/modules/mob/living/carbon/xenobiological/crossbreeding/regenerative.dm
index 8d20d24d450..848168b870e 100644
--- a/code/modules/mob/living/carbon/xenobiological/crossbreeding/regenerative.dm
+++ b/code/modules/mob/living/carbon/xenobiological/crossbreeding/regenerative.dm
@@ -165,7 +165,7 @@ Regenerative extracts:
effect_desc = "Fully heals the target and makes a second regenerative core with no special effects."
/obj/item/metroidcross/regenerative/cerulean/core_effect(mob/living/target, mob/user)
- var/obj/item/metroidcross/X = new /obj/item/metroidcross/regenerative(user.loc)
+ var/obj/item/metroidcross/X = new /obj/item/metroidcross/regenerative/green(user.loc)
user.put_in_active_hand(X)
to_chat(user, SPAN_NOTICE("Some of the milky goo congeals in your hand!"))
@@ -267,7 +267,7 @@ Regenerative extracts:
D.adjustFireLoss(target.getFireLoss())
D.adjustToxLoss(target.getToxLoss())
D.death()
- addtimer(CALLBACK(D, nameof(/mob.proc/dust)), 300)
+ D.set_next_think_ctx("dust", world.time + 30 SECONDS)
return
var/mob/living/dummy = new target.type(target.loc)
@@ -275,7 +275,7 @@ Regenerative extracts:
dummy.adjustFireLoss(target.getFireLoss())
dummy.adjustToxLoss(target.getToxLoss())
dummy.death()
- addtimer(CALLBACK(dummy, nameof(/mob.proc/dust)), 300)
+ dummy.set_next_think_ctx("dust", world.time + 30 SECONDS)
/obj/item/metroidcross/regenerative/lightpink
colour = "light pink"
diff --git a/code/modules/mob/living/carbon/xenobiological/crossbreeding/reproductive.dm b/code/modules/mob/living/carbon/xenobiological/crossbreeding/reproductive.dm
index a25f81dd9f6..ef6b67a4908 100644
--- a/code/modules/mob/living/carbon/xenobiological/crossbreeding/reproductive.dm
+++ b/code/modules/mob/living/carbon/xenobiological/crossbreeding/reproductive.dm
@@ -14,24 +14,24 @@
var/last_meal = 0
-/obj/item/metroidcross/reproductive/_examine_text(mob/user)
+/obj/item/metroidcross/reproductive/examine(mob/user, infix)
. = ..()
- . += SPAN("notice", "\nIt looks like it has space for [meals_left] more cubes.")
+ . += SPAN("notice", "It looks like it has space for [meals_left] more cubes.")
/obj/item/metroidcross/reproductive/attackby(obj/item/O, mob/user)
if((last_meal + DIGESTION_COOLDOWN) > world.time)
- show_splash_text(user, "still digesting!")
+ show_splash_text(user, "still digesting!", "\The [src] is still digesting!")
return
if(istype(O, /obj/item/reagent_containers/food/monkeycube))
if(!_feed_extract(O))
return
- show_splash_text(user, "cube was successfuly fed.")
+ show_splash_text(user, "cube was successfuly fed.", "You feed \the [src] with \the [O].")
if(istype(O, /obj/item/storage/xenobag))
if(!_feed_extracts_from_bag(O, user))
return
- show_splash_text(user, "extract was successfuly fed from bag.")
+ show_splash_text(user, "extract was successfuly fed from bag.", "You feed \the [src] from \the [O].")
_reproduce()
@@ -72,7 +72,7 @@
if(meals_left > 0)
return
- show_splash_text_to_viewers("starts to swell!")
+ show_splash_text_to_viewers("starts to swell!", "\The [src] starts to swell!")
meals_left = REPRODUCTIVE_EXTRACT_VOLUME
last_meal = world.time
diff --git a/code/modules/mob/living/carbon/xenobiological/crossbreeding/selfsustaining.dm b/code/modules/mob/living/carbon/xenobiological/crossbreeding/selfsustaining.dm
index 718e889f6c5..48daecb8027 100644
--- a/code/modules/mob/living/carbon/xenobiological/crossbreeding/selfsustaining.dm
+++ b/code/modules/mob/living/carbon/xenobiological/crossbreeding/selfsustaining.dm
@@ -59,8 +59,9 @@ Self-sustaining extracts:
if(secondary)
extract.reagents.add_reagent(secondary,amount)
-/obj/item/autometroid/_examine_text(mob/user)
+/obj/item/autometroid/examine(mob/user, infix)
. = ..()
+
if(effect_desc)
. += SPAN_NOTICE("[effect_desc]")
diff --git a/code/modules/mob/living/carbon/xenobiological/crossbreeding/stabilized.dm b/code/modules/mob/living/carbon/xenobiological/crossbreeding/stabilized.dm
index 7ad52472294..0c6f219a77f 100644
--- a/code/modules/mob/living/carbon/xenobiological/crossbreeding/stabilized.dm
+++ b/code/modules/mob/living/carbon/xenobiological/crossbreeding/stabilized.dm
@@ -127,10 +127,13 @@ Stabilized extracts:
var/mob_name = "Familiar"
/obj/item/metroidcross/stabilized/gold/proc/generate_mobtype()
- var/static/list/mob_spawn_pets = list()
- if(!length(mob_spawn_pets))
- mob_spawn_pets = subtypesof(/mob/living/simple_animal)-subtypesof(/mob/living/simple_animal/hostile)
- mob_type = pick(mob_spawn_pets)
+ mob_type = pick(/mob/living/simple_animal/cat,
+ /mob/living/simple_animal/cat/kitten,
+ /mob/living/simple_animal/corgi,
+ /mob/living/simple_animal/corgi/puppy,
+ /mob/living/simple_animal/cow,
+ /mob/living/simple_animal/chick,
+ /mob/living/simple_animal/chicken)
/obj/item/metroidcross/stabilized/gold/Initialize(mapload)
. = ..()
@@ -146,6 +149,7 @@ Stabilized extracts:
var/mob/living/L = user
if(L.has_modifier_of_type(/datum/modifier/status_effect/stabilized/gold))
L.remove_a_modifier_of_type(/datum/modifier/status_effect/stabilized/gold)
+
if(choice == "Familiar Location")
to_chat(user, SPAN_NOTICE("You prod [src], and it shudders slightly."))
var/datum/modifier/status_effect/stabilized/gold/G = linked_effect
diff --git a/code/modules/mob/living/carbon/xenobiological/examine.dm b/code/modules/mob/living/carbon/xenobiological/examine.dm
index d8d81593d64..599de5c9041 100644
--- a/code/modules/mob/living/carbon/xenobiological/examine.dm
+++ b/code/modules/mob/living/carbon/xenobiological/examine.dm
@@ -1,8 +1,9 @@
-/mob/living/carbon/metroid/_examine_text(mob/user)
+/mob/living/carbon/metroid/examinate(atom/to_axamine)
. = ..()
+
var/msg = ""
if (src.is_ooc_dead())
- msg += "It is limp and unresponsive.\n"
+ msg += SPAN_DEADSAY("It is limp and unresponsive.")
else
if (src.getBruteLoss())
msg += ""
diff --git a/code/modules/mob/living/carbon/xenobiological/extracts.dm b/code/modules/mob/living/carbon/xenobiological/extracts.dm
index 57108573bde..f2cc38c4e8e 100644
--- a/code/modules/mob/living/carbon/xenobiological/extracts.dm
+++ b/code/modules/mob/living/carbon/xenobiological/extracts.dm
@@ -18,18 +18,18 @@
/obj/item/metroid_extract/attackby(obj/item/O as obj, mob/user as mob)
if(istype(O, /obj/item/metroidsteroid2))
if(enhanced == 1)
- to_chat(user, " This extract has already been enhanced!")
+ show_splash_text(user, SPAN_WARNING("This extract has already been enhanced!"))
return ..()
if(Uses == 0)
- to_chat(user, " You can't enhance a used extract!")
+ show_splash_text(user, SPAN_WARNING("You can't enhance a used extract!"))
return ..()
- to_chat(user, "You apply the enhancer. It now has triple the amount of uses.")
+ show_splash_text(user, "You apply the enhancer. It now has triple the amount of uses.")
Uses = 3
enhanced = 1
qdel(O)
if(O.type == /obj/item/metroidpotion/enhancer/max)
- to_chat(user, SPAN_NOTICE("You dump the maximizer on the metroid extract. It can now be used a total of 5 times!"))
+ show_splash_text(user, SPAN_NOTICE("You dump the maximizer on the metroid extract. It can now be used a total of 5 times!"))
Uses = 5
enhanced = 1
qdel(O)
@@ -39,7 +39,7 @@
create_reagents(100)
/obj/item/metroid_extract/proc/activate(mob/living/carbon/human/user, datum/component/extract_eater/extract_eater_comp, activation_type)
- to_chat(user, SPAN_WARNING("Nothing happened... This metroid extract cannot be activated this way."))
+ show_splash_text(user, SPAN_WARNING("Nothing happened... This metroid extract cannot be activated this way."))
return FALSE
/obj/item/metroid_extract/grey
@@ -50,20 +50,20 @@
/obj/item/metroid_extract/grey/activate(mob/living/carbon/human/user, datum/component/extract_eater/extract_eater_comp, activation_type)
switch(activation_type)
if(METROID_ACTIVATE_MINOR)
- to_chat(user, SPAN_WARNING("You feel yourself reverting to human form..."))
+ show_splash_text(user, SPAN_WARNING("You feel yourself reverting to human form..."))
if(do_after(user, 120, target = user))
- to_chat(user, SPAN_WARNING("You feel human again!"))
- user.set_species(/datum/species/human)
+ show_splash_text(user, SPAN_WARNING("You feel human again!"))
+ user.set_species(SPECIES_HUMAN)
return
- to_chat(user, SPAN_NOTICE("You stop the transformation."))
+ show_splash_text(user, SPAN_NOTICE("You stop the transformation."))
if(METROID_ACTIVATE_MAJOR)
- to_chat(user, SPAN_WARNING("You feel yourself radically changing your metroid type..."))
+ show_splash_text(user, SPAN_WARNING("You feel yourself radically changing your metroid type..."))
if(do_after(user, 120, target = user))
- to_chat(user, SPAN_WARNING("You feel different!"))
- user.set_species(pick(/datum/species/promethean/slime, /datum/species/promethean/stargazer))
+ show_splash_text(user, SPAN_WARNING("You feel different!"))
+ user.set_species(pick(SPECIES_SLIMEPERSON, SPECIES_STARGAZER))
return
- to_chat(user, SPAN_NOTICE("You stop the transformation."))
+ show_splash_text(user, SPAN_NOTICE("You stop the transformation."))
/obj/item/metroid_extract/gold
name = "gold metroid extract"
@@ -159,7 +159,7 @@
return 150
if(METROID_ACTIVATE_MAJOR)
- var/obj/item/stack/material/iron/O = new(null, 5)
+ var/obj/item/stack/material/steel/O = new(null, 5)
if(!user.put_in_active_hand(O))
O.forceMove(user.drop_location())
playsound(user, 'sound/effects/splat.ogg', 50, TRUE)
@@ -175,12 +175,12 @@
switch(activation_type)
if(METROID_ACTIVATE_MINOR)
user.nutrition+=50
- user.regenerate_blood(50)
- to_chat(user, SPAN_NOTICE("You activate [src], and your body is refilled with fresh metroid jelly!"))
+ user.reagents.add_reagent(/datum/reagent/metroidjelly, 50)
+ show_splash_text(user, SPAN_NOTICE("You activate [src], and your body is refilled with fresh metroid jelly!"))
return 150
if(METROID_ACTIVATE_MAJOR)
- to_chat(user, SPAN_NOTICE("You activate [src], and it releases regenerative chemicals!"))
+ show_splash_text(user, SPAN_NOTICE("You activate [src], and it releases regenerative chemicals!"))
user.reagents.add_reagent(/datum/reagent/regen_jelly,10)
return 600
@@ -203,7 +203,7 @@
var/turf/T = get_turf(user)
if(istype(T))
T.assume_gas("plasma",20)
- to_chat(user, SPAN_WARNING("You activate [src], and a cloud of plasma bursts out of your skin!"))
+ show_splash_text(user, SPAN_WARNING("You activate [src], and a cloud of plasma bursts out of your skin!"))
return 900
/obj/item/metroid_extract/orange
@@ -214,7 +214,7 @@
/obj/item/metroid_extract/orange/activate(mob/living/carbon/human/user, datum/component/extract_eater/extract_eater_comp, activation_type)
switch(activation_type)
if(METROID_ACTIVATE_MINOR)
- to_chat(user, SPAN_NOTICE("You activate [src]. You start feeling hot!"))
+ show_splash_text(user, SPAN_NOTICE("You activate [src]. You start feeling hot!"))
user.reagents.add_reagent(/datum/reagent/capsaicin,10)
return 150
@@ -222,7 +222,7 @@
user.reagents.add_reagent(/datum/reagent/phosphorus,5)//
user.reagents.add_reagent(/datum/reagent/potassium,5) // = smoke, along with any reagents inside mr. metroid
user.reagents.add_reagent(/datum/reagent/sugar,5) //
- to_chat(user, SPAN_WARNING("You activate [src], and a cloud of smoke bursts out of your skin!"))
+ show_splash_text(user, SPAN_WARNING("You activate [src], and a cloud of smoke bursts out of your skin!"))
return 450
/obj/item/metroid_extract/yellow
@@ -230,16 +230,22 @@
icon_state = "yellow metroid extract"
effectmod = "charged"
+/obj/item/metroid_extract/yellow/Initialize()
+ . = ..()
+ add_think_ctx("update_glow", )
+
/obj/item/metroid_extract/yellow/activate(mob/living/carbon/human/user, datum/component/extract_eater/extract_eater_comp, activation_type)
switch(activation_type)
if(METROID_ACTIVATE_MINOR)
+ var/datum/species/promethean/luminescent/species = user.species
if(extract_eater_comp.glow_intensity != LUMINESCENT_DEFAULT_GLOW)
- to_chat(user, SPAN_WARNING("Your glow is already enhanced!"))
+ show_splash_text(user, SPAN_WARNING("Your glow is already enhanced!"))
return
- var/datum/species/promethean/luminescent/species = user.species
- species.update_glow(user, 5)
- addtimer(CALLBACK(species, nameof(/datum/species/promethean/luminescent.proc/update_glow), user, LUMINESCENT_DEFAULT_GLOW), 600)
- to_chat(user, SPAN_NOTICE("You start glowing brighter."))
+
+ species.update_glow(user, LUMINESCENT_ENHANCED_GLOW)
+ species.set_next_think_ctx("update_glow", world.time + 40 SECONDS, user, LUMINESCENT_DEFAULT_GLOW)
+ show_splash_text(user, SPAN_NOTICE("You start glowing brighter."))
+ return 600
if(METROID_ACTIVATE_MAJOR)
user.visible_message(SPAN_WARNING("[user]'s skin starts flashing intermittently..."), SPAN_WARNING("Your skin starts flashing intermittently..."))
@@ -256,8 +262,8 @@
/obj/item/metroid_extract/red/activate(mob/living/carbon/human/user, datum/component/extract_eater/extract_eater_comp, activation_type)
switch(activation_type)
if(METROID_ACTIVATE_MINOR)
- to_chat(user, SPAN_NOTICE("You activate [src]. You start feeling fast!"))
- user.reagents.add_reagent(/datum/reagent/inaprovaline,5)
+ show_splash_text(user, SPAN_NOTICE("You activate [src]. You start feeling fast!"))
+ user.reagents.add_reagent(/datum/reagent/hyperzine, 5)
return 450
if(METROID_ACTIVATE_MAJOR)
@@ -272,18 +278,20 @@
icon_state = "blue metroid extract"
effectmod = "stabilized"
-/obj/item/metroid_extract/blue/obj/item/metroid_extract/blue/activate(mob/living/carbon/human/user, datum/component/extract_eater/extract_eater_comp, activation_type)
+/obj/item/metroid_extract/blue/activate(mob/living/carbon/human/user, datum/component/extract_eater/extract_eater_comp, activation_type)
switch(activation_type)
if(METROID_ACTIVATE_MINOR)
- to_chat(user, SPAN_NOTICE("You activate [src]. Your genome feels more stable!"))
+ show_splash_text(user, SPAN_NOTICE("You activate [src]. Your genome feels more stable!"))
user.adjustCloneLoss(-15)
return 250
if(METROID_ACTIVATE_MAJOR)
- /*FIXME
- user.reagents.create_foam(/datum/effect_system/fluid_spread/foam, 20, log = TRUE)
+ var/datum/effect/effect/system/foam_spread/FS = new
+ FS.set_up(20, get_turf(user), user.reagents)
+ user.reagents.remove_any(user.reagents.total_volume)
+ FS.start()
+ log_admin("[user]([user.ckey]) started foam spread", get_turf(user), TRUE)
user.visible_message(SPAN_DANGER("Foam spews out from [user]'s skin!"), SPAN_WARNING("You activate [src], and foam bursts out of your skin!"))
- */
return 600
/obj/item/metroid_extract/darkblue
@@ -294,7 +302,7 @@
/obj/item/metroid_extract/darkblue/activate(mob/living/carbon/human/user, datum/component/extract_eater/extract_eater_comp, activation_type)
switch(activation_type)
if(METROID_ACTIVATE_MINOR)
- to_chat(user, SPAN_NOTICE("You activate [src]. You start feeling colder!"))
+ show_splash_text(user, SPAN_NOTICE("You activate [src]. You start feeling colder!"))
user.ExtinguishMob()
user.adjust_fire_stacks(-20)
user.reagents.add_reagent(/datum/reagent/frostoil,6)
@@ -305,7 +313,7 @@
var/turf/T = get_turf(user)
if(istype(T))
T.assume_gas("nitrogen",40,2.7)
- to_chat(user, SPAN_WARNING("You activate [src], and icy air bursts out of your skin!"))
+ show_splash_text(user, SPAN_WARNING("You activate [src], and icy air bursts out of your skin!"))
return 900
/obj/item/metroid_extract/pink
@@ -317,7 +325,7 @@
switch(activation_type)
if(METROID_ACTIVATE_MINOR)
if(user.gender != MALE && user.gender != FEMALE)
- to_chat(user, SPAN_WARNING("You can't swap your gender!"))
+ show_splash_text(user, SPAN_WARNING("You can't swap your gender!"))
return
if(user.gender == MALE)
@@ -347,14 +355,14 @@
if(!user.put_in_active_hand(M))
M.forceMove(user.drop_location())
playsound(user, 'sound/effects/splat.ogg', 50, TRUE)
- to_chat(user, SPAN_NOTICE("You spit out a monkey cube."))
+ show_splash_text(user, SPAN_NOTICE("You spit out a monkey cube."))
return 120
if(METROID_ACTIVATE_MAJOR)
- to_chat(user, SPAN_NOTICE("Your [name] starts pulsing..."))
+ show_splash_text(user, SPAN_NOTICE("Your [name] starts pulsing..."))
if(do_after(user, 40, target = user))
- var/mob/living/carbon/metroid/S = new(get_turf(user), "grey")
+ var/mob/living/carbon/metroid/S = new(get_turf(user), "green")
playsound(user, 'sound/effects/splat.ogg', 50, TRUE)
- to_chat(user, SPAN_NOTICE("You spit out [S]."))
+ show_splash_text(user, SPAN_NOTICE("You spit out [S]."))
return 350
else
return 0
@@ -387,19 +395,29 @@
/obj/item/metroid_extract/black/activate(mob/living/carbon/human/user, datum/component/extract_eater/extract_eater_comp, activation_type)
switch(activation_type)
if(METROID_ACTIVATE_MINOR)
- to_chat(user, SPAN_DANGER("You feel something wrong inside you..."))
+ show_splash_text(user, SPAN_DANGER("You feel something wrong inside you..."))
var/datum/spell/targeted/shapeshift/metroid_form/transform = new()
transform.cast(user)
return 100
if(METROID_ACTIVATE_MAJOR)
- /*TODO - SHADOWLING
- to_chat(user, SPAN_WARNING("You feel your own light turning dark..."))
+ show_splash_text(user, SPAN_WARNING("You feel your own light turning dark..."))
if(do_after(user, 120, target = user))
- to_chat(user, SPAN_WARNING("You feel a longing for darkness."))
- user.set_species(pick(/datum/species/shadow))
- return*/
- to_chat(user, SPAN_NOTICE("You don't fell linkage with darkness"))
+ if(!player_is_antag(user.mind))
+ show_splash_text(user, SPAN_WARNING("You feel a longing for darkness."))
+ user.set_species(pick(
+ SPECIES_HUMAN,
+ SPECIES_GRAVWORLDER,
+ SPECIES_SPACER,
+ SPECIES_VATGROWN,
+ SPECIES_TAJARA,
+ SPECIES_UNATHI,
+ SPECIES_SKRELL,
+ SPECIES_SWINE,
+ ))
+ user.make_vampire()
+ return
+ show_splash_text(user, SPAN_NOTICE("You don't fell linkage with darkness"))
/obj/item/metroid_extract/oil
name = "oil metroid extract"
@@ -409,7 +427,7 @@
/obj/item/metroid_extract/oil/activate(mob/living/carbon/human/user, datum/component/extract_eater/extract_eater_comp, activation_type)
switch(activation_type)
if(METROID_ACTIVATE_MINOR)
- to_chat(user, SPAN_WARNING("You vomit slippery oil."))
+ show_splash_text(user, SPAN_WARNING("You vomit slippery oil."))
playsound(user, 'sound/effects/splat.ogg', 50, TRUE)
var/turf/simulated/T = get_turf(user)
new /obj/effect/decal/cleanable/blood/oil(T)
@@ -419,11 +437,11 @@
if(METROID_ACTIVATE_MAJOR)
user.visible_message(SPAN_WARNING("[user]'s skin starts pulsing and glowing ominously..."), SPAN_DANGER("You feel unstable..."))
if(do_after(user, 60, target = user))
- to_chat(user, SPAN_DANGER("You explode!"))
+ show_splash_text(user, SPAN_DANGER("You explode!"))
explosion(user, devastation_range = 1, heavy_impact_range = 3, light_impact_range = 6)
user.gib()
return
- to_chat(user, SPAN_NOTICE("You stop feeding [src], and the feeling passes."))
+ show_splash_text(user, SPAN_NOTICE("You stop feeding [src], and the feeling passes."))
/obj/item/metroid_extract/adamantine
@@ -435,19 +453,19 @@
switch(activation_type)
if(METROID_ACTIVATE_MINOR)
if(HAS_TRAIT(user, /datum/modifier/status_effect/adamantine))
- to_chat(user, SPAN_WARNING("Your skin is already hardened!"))
+ show_splash_text(user, SPAN_WARNING("Your skin is already hardened!"))
return
- to_chat(user, SPAN_NOTICE("You feel your skin harden and become more resistant."))
+ show_splash_text(user, SPAN_NOTICE("You feel your skin harden and become more resistant."))
ADD_TRAIT(user, /datum/modifier/status_effect/adamantine)
return 450
if(METROID_ACTIVATE_MAJOR)
- to_chat(user, SPAN_WARNING("You feel your body rapidly crystallizing..."))
+ show_splash_text(user, SPAN_WARNING("You feel your body rapidly crystallizing..."))
if(do_after(user, 120, target = user))
- to_chat(user, SPAN_WARNING("You feel solid."))
- user.set_species(/datum/species/golem/adamantine)
+ show_splash_text(user, SPAN_WARNING("You feel solid."))
+ user.set_species(SPECIES_GOLEM_ADAMANTINE)
return
- to_chat(user, SPAN_NOTICE("You stop feeding [src], and your body returns to its metroidlike state."))
+ show_splash_text(user, SPAN_NOTICE("You stop feeding [src], and your body returns to its metroidlike state."))
/obj/item/metroid_extract/bluespace
name = "bluespace metroid extract"
@@ -461,9 +479,9 @@
/obj/item/metroid_extract/bluespace/activate(mob/living/carbon/human/user, datum/component/extract_eater/extract_eater_comp, activation_type)
switch(activation_type)
if(METROID_ACTIVATE_MINOR)
- to_chat(user, SPAN_WARNING("You feel your body vibrating..."))
+ show_splash_text(user, SPAN_WARNING("You feel your body vibrating..."))
if(do_after(user, 25, target = user))
- to_chat(user, SPAN_WARNING("You teleport!"))
+ show_splash_text(user, SPAN_WARNING("You teleport!"))
var/turf/T = get_turf(user)
playsound(T,'sound/effects/weapons/energy/emitter.ogg')
do_teleport(user, T, 8)
@@ -472,7 +490,7 @@
if(METROID_ACTIVATE_MAJOR)
if(!teleport_ready)
- to_chat(user, SPAN_NOTICE("You feel yourself anchoring to this spot..."))
+ show_splash_text(user, SPAN_NOTICE("You feel yourself anchoring to this spot..."))
var/turf/T = get_turf(user)
teleport_x = T.x
teleport_y = T.y
@@ -482,7 +500,7 @@
teleport_ready = FALSE
if(teleport_x && teleport_y && teleport_z)
var/turf/T = locate(teleport_x, teleport_y, teleport_z)
- to_chat(user, SPAN_NOTICE("You snap back to your anchor point!"))
+ show_splash_text(user, SPAN_NOTICE("You snap back to your anchor point!"))
playsound(get_turf(user),'sound/effects/weapons/energy/emitter.ogg')
do_teleport(user, T)
playsound(T,'sound/effects/weapons/energy/emitter.ogg')
@@ -496,8 +514,8 @@
/obj/item/metroid_extract/pyrite/activate(mob/living/carbon/human/user, datum/component/extract_eater/extract_eater_comp, activation_type)
switch(activation_type)
if(METROID_ACTIVATE_MINOR)
- var/chosen = pick(difflist(subtypesof(/obj/item/pen/crayon)))
- var/obj/item/O = new chosen(null)
+ var/crayon_type = pick(subtypesof(/obj/item/pen/crayon) - /obj/item/pen/crayon/random)
+ var/obj/item/O = new crayon_type
if(!user.put_in_active_hand(O))
O.forceMove(user.drop_location())
playsound(user, 'sound/effects/splat.ogg', 50, TRUE)
@@ -521,16 +539,28 @@
/obj/item/metroid_extract/cerulean/activate(mob/living/carbon/human/user, datum/component/extract_eater/extract_eater_comp, activation_type)
switch(activation_type)
if(METROID_ACTIVATE_MINOR)
- user.reagents.add_reagent(/datum/reagent/inaprovaline,15)
- to_chat(user, SPAN_NOTICE("You feel like you don't need to breathe!"))
- return 150
+ if(!istype(user.get_active_hand(), /obj/item/tank))
+ show_splash_text(user, SPAN_NOTICE("You need to hold something capable to hold gases!"))
+ return 0
+
+ var/obj/item/tank/tank = user.get_active_hand()
+ visible_message(SPAN_NOTICE("\The [user] started to blow into \the [tank]."), SPAN_NOTICE("You started to blow into \the [tank]."))
+ if(!do_after(user, 30 SECONDS, target = user))
+ return
+
+ var/datum/gas_mixture/GM = new
+ GM.adjust_gas("oxygen", (ONE_ATMOSPHERE*tank.volume / (R_IDEAL_GAS_EQUATION * (30 CELSIUS))))
+ var/datum/gas_mixture/tank_GM = tank.return_air()
+ tank_GM.add(GM)
+ show_splash_text(user, SPAN_NOTICE("You're feeling some dizziness, and decided to stop!"))
+ return 300
if(METROID_ACTIVATE_MAJOR)
var/turf/T = get_turf(user)
if(istype(T))
T.assume_gas("oxygen", 11, 293.15)
T.assume_gas("nitrogen", 41, 293.15)
- to_chat(user, SPAN_WARNING("You activate [src], and fresh air bursts out of your skin!"))
+ show_splash_text(user, SPAN_WARNING("You activate [src], and fresh air bursts out of your skin!"))
return 600
/obj/item/metroid_extract/sepia
@@ -568,7 +598,7 @@
user.UpdateAppearance(mutcolor_update=1)
var/datum/species/promethean/luminescent/species = user.species
species.update_glow(user)
- to_chat(user, SPAN_NOTICE("You feel different..."))
+ show_splash_text(user, SPAN_NOTICE("You feel different..."))
return 100
if(METROID_ACTIVATE_MAJOR)
diff --git a/code/modules/mob/living/carbon/xenobiological/items.dm b/code/modules/mob/living/carbon/xenobiological/items.dm
index c8ae81cd35e..eafba01226f 100644
--- a/code/modules/mob/living/carbon/xenobiological/items.dm
+++ b/code/modules/mob/living/carbon/xenobiological/items.dm
@@ -210,6 +210,7 @@
/obj/item/golem_shell/attackby(obj/item/I, mob/user, params)
. = ..()
var/static/list/golem_shell_species_types = list(
+ /obj/item/stack/material/adamantine = SPECIES_GOLEM_ADAMANTINE,
/obj/item/stack/material/iron = SPECIES_GOLEM,
/obj/item/stack/material/steel = SPECIES_GOLEM,
/obj/item/stack/material/glass = SPECIES_GOLEM_GLASS,
@@ -233,7 +234,13 @@
/obj/item/stack/material/mhydrogen = SPECIES_GOLEM_HYDROGEN,
)
- if(!LAZYLEN(GLOB.golems_resonator))
+ if(istype(I,/obj/item/stack/material/adamantine))
+ var/obj/item/stack/stuff_stack = I
+
+ if(!stuff_stack.use(2))
+ to_chat(user, SPAN_WARNING("You need at least two ingots to finish a golem!"))
+ return
+
qdel(I)
to_chat(user, SPAN_NOTICE("You feel some magic pulse from shell."))
to_chat(user, SPAN_NOTICE("You finish up the golem shell with adamantine?!"))
@@ -360,7 +367,7 @@
if(reagentselect == "Metroid Jelly")
reagentselect = /datum/reagent/metroidjelly
- addtimer(CALLBACK(metroid_extract.reagents, nameof(/datum/reagents.proc/add_reagent), reagentselect, 5), rand(1.5 SECONDS, 6 SECONDS))
+ metroid_extract.reagents?.set_next_think_ctx("delayed_add_reagents", world.time + rand(1.5 SECONDS, 6 SECONDS), reagentselect, 5)
var/steps = rand(1, 4)
for(var/step in 1 to steps)
step_away(src, loc)
diff --git a/code/modules/mob/living/carbon/xenobiological/machinery/monkey_recycler.dm b/code/modules/mob/living/carbon/xenobiological/machinery/monkey_recycler.dm
index c267e20cd92..4f761ff5346 100644
--- a/code/modules/mob/living/carbon/xenobiological/machinery/monkey_recycler.dm
+++ b/code/modules/mob/living/carbon/xenobiological/machinery/monkey_recycler.dm
@@ -49,8 +49,9 @@ GLOBAL_LIST_EMPTY(monkey_recyclers)
for(var/obj/item/stock_parts/matter_bin/matter_bin in component_parts)
cube_production += matter_bin.rating * 0.1
-/obj/machinery/monkey_recycler/_examine_text(mob/user)
+/obj/machinery/monkey_recycler/examine(mob/user, infix)
. = ..()
+
if(in_range(user, src) || isobserver(user))
. += SPAN_NOTICE("The status display reads: Producing [cube_production] cubes for every monkey inserted.")
diff --git a/code/modules/mob/living/carbon/xenobiological/xenobiological.dm b/code/modules/mob/living/carbon/xenobiological/xenobiological.dm
index af8af74f65e..8149291e47b 100644
--- a/code/modules/mob/living/carbon/xenobiological/xenobiological.dm
+++ b/code/modules/mob/living/carbon/xenobiological/xenobiological.dm
@@ -69,8 +69,7 @@
adjustToxLoss(amount-getToxLoss())
/mob/living/carbon/metroid/New(location, colour = "green")
-
- verbs += /mob/living/proc/ventcrawl
+ grant_verb(src, /mob/living/proc/ventcrawl)
src.colour = colour
number = random_id(/mob/living/carbon/metroid, 1, 1000)
@@ -144,22 +143,21 @@
/mob/living/carbon/metroid/Allow_Spacemove()
return 1
-/mob/living/carbon/metroid/Stat()
+/mob/living/carbon/metroid/get_status_tab_items()
. = ..()
- statpanel("Status")
- stat(null, "Health: [round((health / maxHealth) * 100)]%")
- stat(null, "Intent: [a_intent]")
+ . += "Health: [round((health / maxHealth) * 100)]%"
+ . += "Intent: [a_intent]"
- if (client.statpanel == "Status")
- stat(null, "Nutrition: [nutrition]/[get_max_nutrition()]")
- if(amount_grown >= 10)
- if(is_adult)
- stat(null, "You can reproduce!")
- else
- stat(null, "You can evolve!")
+ . += "Nutrition: [nutrition]/[get_max_nutrition()]"
+
+ if(amount_grown >= 10)
+ if(is_adult)
+ . += "You can reproduce!"
+ else
+ . += "You can evolve!"
- stat(null,"Power Level: [powerlevel]")
+ . += "Power Level: [powerlevel]"
/mob/living/carbon/metroid/adjustFireLoss(amount)
..(-abs(amount)) // Heals them
@@ -258,7 +256,7 @@
attacked += 10
if (prob(90))
- if (MUTATION_HULK in H.mutations)
+ if((MUTATION_HULK in H.mutations) || (MUTATION_STRONG in H.mutations))
damage += 5
if(Victim || Target)
Feedstop()
diff --git a/code/modules/mob/living/default_language.dm b/code/modules/mob/living/default_language.dm
index b1d258ac341..e90cebe7181 100644
--- a/code/modules/mob/living/default_language.dm
+++ b/code/modules/mob/living/default_language.dm
@@ -1,41 +1,31 @@
/mob/living
var/datum/language/default_language
-/mob/living/verb/set_default_language(language as null|anything in languages)
- set name = "Set Default Language"
- set category = "IC"
-
- if (only_species_language && language != all_languages[src.species_language])
- to_chat(src, "You can only speak your species language, [src.species_language].")
- return 0
-
- if(language == all_languages[src.species_language])
- to_chat(src, "You will now speak your standard default language, [language], if you do not specify a language when speaking.")
- else if (language)
-
+/mob/living/proc/set_default_language(datum/language/language)
+ if(only_species_language && language != all_languages[species_language])
+ show_splash_text(src, "can't speak", SPAN_NOTICE("You can only speak your species language, [src.species_language]."))
+ return FALSE
+
+ if(isnull(language))
+ show_splash_text(src, "now speaking in native", SPAN_NOTICE("You will now speak whatever your standard default language is if you do not specify one when speaking."))
+ else if(language == all_languages[species_language])
+ show_splash_text(src, "now speaking [language]", SPAN_NOTICE("You will now speak your standard default language, [language], if you do not specify a language when speaking."))
+ else
if(language && !can_speak(language))
- to_chat(src, "You are unable to speak that language.")
return
- to_chat(src, "You will now speak [language] if you do not specify a language when speaking.")
- else
-
- to_chat(src, "You will now speak whatever your standard default language is if you do not specify one when speaking.")
+ show_splash_text(src, "now speaking [language]", SPAN_NOTICE("You will now speak [language] if you do not specify a language when speaking."))
default_language = language
-// Silicons can't neccessarily speak everything in their languages list
-/mob/living/silicon/set_default_language(language as null|anything in speech_synthesizer_langs)
- ..()
-
/mob/living/verb/check_default_language()
set name = "Check Default Language"
set category = "IC"
if(default_language)
- to_chat(src, "You are currently speaking [default_language] by default.")
+ to_chat(src, SPAN_NOTICE("You are currently speaking [default_language] by default."))
else
- to_chat(src, "Your current default language is your species or mob type default.")
+ to_chat(src, SPAN_NOTICE("Your current default language is your species or mob type default."))
/mob/living/proc/visible_emote(act_desc)
visible_message("[src] [act_desc]")
diff --git a/code/modules/mob/living/deity/deity.dm b/code/modules/mob/living/deity/deity.dm
index 3b12f2aec0b..29c1f22bf49 100644
--- a/code/modules/mob/living/deity/deity.dm
+++ b/code/modules/mob/living/deity/deity.dm
@@ -106,7 +106,7 @@
var/newname = sanitize(input(src, "Choose a name for your new form.", "Name change", form.name) as text, MAX_NAME_LEN)
if(newname)
fully_replace_character_name(newname)
- src.verbs -= /mob/living/deity/verb/choose_form
+ revoke_verb(src, /mob/living/deity/verb/choose_form)
show_browser(src, null, "window=godform")
for(var/m in minions)
var/datum/mind/mind = m
diff --git a/code/modules/mob/living/deity/deity_Stat.dm b/code/modules/mob/living/deity/deity_Stat.dm
deleted file mode 100644
index e529f2feab7..00000000000
--- a/code/modules/mob/living/deity/deity_Stat.dm
+++ /dev/null
@@ -1,17 +0,0 @@
-/mob/living/deity/Stat()
- . = ..()
- if(statpanel("Status"))
- stat("Health", "[health]/[maxHealth]")
- stat("Power", mob_uplink.uses)
- stat("Power Minimum", power_min)
- stat("Structure Num", structures.len)
- stat("Minion Num", minions.len)
- var/boon_name = "None"
- if(current_boon)
- if(istype(current_boon, /datum/spell))
- var/datum/spell/S = current_boon
- boon_name = S.name
- else
- var/obj/O = current_boon
- boon_name = O.name
- stat("Current Boon",boon_name)
diff --git a/code/modules/mob/living/deity/phenomena/communication.dm b/code/modules/mob/living/deity/phenomena/communication.dm
index f4ae34de855..7c967899738 100644
--- a/code/modules/mob/living/deity/phenomena/communication.dm
+++ b/code/modules/mob/living/deity/phenomena/communication.dm
@@ -35,7 +35,7 @@
if((M in view) && M.client)
to_chat(M, "Your attention is eerily drawn to \the [a].")
M.client.images += arrow
- register_signal(M, SIGNAL_LOGGED_OUT, /datum/phenomena/point/proc/remove_image)
+ register_signal(M, SIGNAL_LOGGED_OUT, nameof(/datum/phenomena/point.proc/remove_image))
spawn(20)
if(M.client)
remove_image(M)
diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm
index 2d242c83859..e7168144437 100644
--- a/code/modules/mob/living/living.dm
+++ b/code/modules/mob/living/living.dm
@@ -9,13 +9,19 @@
add_to_living_mob_list()
if(give_ghost_proc_at_initialize)
- verbs |= /mob/living/proc/ghost
+ grant_verb(src, /mob/living/proc/ghost)
if(controllable)
GLOB.available_mobs_for_possess["\ref[src]"] += src
update_transform() // Some mobs may start bigger or smaller than normal.
+/mob/living/get_description_fluff()
+ if(flavor_text)
+ return flavor_text
+
+ return ..()
+
//mob verbs are faster than object verbs. See mob/verb/examine.
/mob/living/verb/pulled(atom/movable/AM as mob|obj in oview(1))
set name = "Pull"
@@ -524,7 +530,7 @@
return
-/mob/living/Move(a, b, flag)
+/mob/living/Move(newloc, direct)
if(buckled)
return
@@ -533,14 +539,13 @@
var/turf/old_loc = get_turf(src)
- if(lying)
- pull_sound = SFX_PULL_BODY
- else
- pull_sound = null
+ pull_sound = lying ? SFX_PULL_BODY : null
. = ..()
+ if(!.)
+ return
- if(. && pulling)
+ if(pulling)
handle_pulling_after_move(old_loc)
if(s_active && !((s_active in contents) || Adjacent(s_active)))
diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm
index cc1cfb3d74d..89000f286dc 100644
--- a/code/modules/mob/living/living_defense.dm
+++ b/code/modules/mob/living/living_defense.dm
@@ -171,10 +171,14 @@
if(!effective_force || blocked >= 100)
return 0
- //Hulk modifier
+ // Hulk modifier
if(MUTATION_HULK in user.mutations)
effective_force *= 2
+ // STRONG modifier
+ if(MUTATION_STRONG in user.mutations)
+ effective_force *= 2 // Strong hulks are crazy ngl
+
//Apply weapon damage
var/damage_flags = I.damage_flags()
if(prob(blocked)) //armour provides a chance to turn sharp/edge weapon attacks into blunt ones
@@ -273,7 +277,7 @@
/mob/living/proc/embed(obj/O, def_zone=null, datum/wound/supplied_wound)
O.forceMove(src)
src.embedded += O
- src.verbs += /mob/proc/yank_out_object
+ grant_verb(src, /mob/proc/yank_out_object)
//This is called when the mob is thrown into a dense turf
/mob/living/proc/turf_collision(turf/T, speed)
diff --git a/code/modules/mob/living/parasite/meme.dm b/code/modules/mob/living/parasite/meme.dm
index 4cd6274d92a..6fb8a9bb6b7 100644
--- a/code/modules/mob/living/parasite/meme.dm
+++ b/code/modules/mob/living/parasite/meme.dm
@@ -584,17 +584,6 @@ be able to influence the host through various commands.
to_chat(usr, "Meme Points: [src.meme_points]/[maximum_points]")
-// Stat panel to show meme points, copypasted from alien
-/mob/living/parasite/meme/Stat()
- ..()
-
- statpanel("Status")
- if (client && client.holder)
- stat(null, "([x], [y], [z])")
-
- if (client && client.statpanel == "Status")
- stat(null, "Meme Points: [src.meme_points]")
-
// Game mode helpers, used for theft objectives
// --------------------------------------------
/mob/living/parasite/check_contents_for(t)
diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm
index adeb2174894..6283f78f763 100644
--- a/code/modules/mob/living/say.dm
+++ b/code/modules/mob/living/say.dm
@@ -173,7 +173,7 @@ var/list/channel_to_radio_key = new
// This is broadcast to all mobs with the language,
// irrespective of distance or anything else.
- if(message_data["language"]?.flags & HIVEMIND)
+ if(message_data["language"]?.language_flags & HIVEMIND)
message_data["language"].broadcast(src, message_data["message"])
return TRUE
@@ -185,7 +185,7 @@ var/list/channel_to_radio_key = new
message_data["message"] = handle_autohiss(message_data["message"], message_data["language"])
- if(!(message_data["language"]?.flags & NO_STUTTER))
+ if(!(message_data["language"]?.language_flags & NO_STUTTER))
handle_speech_problems(message_data)
if(!message_data["message"] || message_data["message"] == "")
@@ -271,10 +271,10 @@ var/list/channel_to_radio_key = new
if(message_data["language"])
var/verb = pick(message_data["language"].signlang_verb)
- if(message_data["language"].flags & NONVERBAL && prob(30))
+ if(message_data["language"].language_flags & NONVERBAL && prob(30))
src.custom_emote(VISIBLE_MESSAGE, "[verb].")
- if(message_data["language"].flags & SIGNLANG)
+ if(message_data["language"].language_flags & SIGNLANG)
if(message_data["log_message"])
log_say("[name]/[key]: SIGN: [message_data["message"]]")
log_message(message_data["message"], INDIVIDUAL_SAY_LOG)
@@ -305,7 +305,7 @@ var/list/channel_to_radio_key = new
if(message_data["language"])
message_data["message_range"] = message_data["language"].get_talkinto_msg_range(message_data["message"])
- if(!(message_data["language"]?.flags & NO_TALK_MSG))
+ if(!(message_data["language"]?.language_flags & NO_TALK_MSG))
var/msg = SPAN("notice", "\The [src] talks into \the [used_radios[1]]")
for(var/mob/living/M in hearers(5, src))
if(M != src)
diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm
index ad884cd62d1..cf79288d9b3 100644
--- a/code/modules/mob/living/silicon/ai/ai.dm
+++ b/code/modules/mob/living/silicon/ai/ai.dm
@@ -48,7 +48,6 @@ var/list/ai_verbs_default = list(
anchored = 1 // -- TLE
density = 1
status_flags = CANSTUN|CANPARALYSE|CANPUSH
- shouldnt_see = list(/obj/effect/rune)
maxHealth = 200
var/list/network = list("Exodus")
var/obj/machinery/camera/camera = null
@@ -109,10 +108,10 @@ var/list/ai_verbs_default = list(
give_ghost_proc_at_initialize = FALSE
/mob/living/silicon/ai/proc/add_ai_verbs()
- src.verbs |= ai_verbs_default
+ grant_verb(src, ai_verbs_default)
/mob/living/silicon/ai/proc/remove_ai_verbs()
- src.verbs -= ai_verbs_default
+ revoke_verb(src, ai_verbs_default)
/mob/living/silicon/ai/New(loc, datum/ai_laws/L, obj/item/organ/internal/cerebrum/mmi/B, safety = 0)
var/list/possibleNames = GLOB.ai_names
@@ -157,6 +156,14 @@ var/list/ai_verbs_default = list(
add_language(LANGUAGE_INDEPENDENT, 1)
add_language(LANGUAGE_SPACER, 1)
+ default_silicon_subsystems.Cut()
+
+ for(var/datum/nano_module/subsystem_type as anything in subtypesof(/datum/nano_module))
+ if(!subsystem_type::available_to_ai)
+ continue
+
+ default_silicon_subsystems += subsystem_type
+
if(!safety)//Only used by AIize() to successfully spawn an AI.
if (!B)//If there is no player/brain inside.
empty_playable_ai_cores += new /obj/structure/AIcore/deactivated(loc)//New empty terminal.
@@ -219,12 +226,13 @@ var/list/ai_verbs_default = list(
ai_list -= src
ai_radio = null
- QDEL_NULL(eyeobj)
QDEL_NULL(psupply)
QDEL_NULL(aiPDA)
QDEL_NULL(aiMulti)
hack = null
+ destroy_eyeobj()
+
. = ..()
/mob/living/silicon/ai/proc/setup_icon()
diff --git a/code/modules/mob/living/silicon/ai/examine.dm b/code/modules/mob/living/silicon/ai/examine.dm
index d0c90aa0280..eb455497351 100644
--- a/code/modules/mob/living/silicon/ai/examine.dm
+++ b/code/modules/mob/living/silicon/ai/examine.dm
@@ -1,5 +1,6 @@
-/mob/living/silicon/ai/_examine_text(mob/user)
+/mob/living/silicon/ai/examine(mob/user, infix)
. = ..()
+
var/msg = ""
if (is_ic_dead())
msg += "It appears to be powered-down.\n"
@@ -30,7 +31,7 @@
if(hardware && (hardware.owner == src))
msg += "
"
msg += hardware.get_examine_desc()
- . += "\n[msg]"
+ . += msg
user.showLaws(src)
return
diff --git a/code/modules/mob/living/silicon/ai/malf.dm b/code/modules/mob/living/silicon/ai/malf.dm
index 8cbee851579..d2c61fae58f 100644
--- a/code/modules/mob/living/silicon/ai/malf.dm
+++ b/code/modules/mob/living/silicon/ai/malf.dm
@@ -10,9 +10,11 @@
hacked_apcs = list()
recalc_cpu()
- verbs += /datum/game_mode/malfunction/verb/ai_select_hardware
- verbs += /datum/game_mode/malfunction/verb/ai_select_research
- verbs += /datum/game_mode/malfunction/verb/ai_help
+ grant_verb(src, list(
+ /datum/game_mode/malfunction/verb/ai_select_hardware,
+ /datum/game_mode/malfunction/verb/ai_select_research,
+ /datum/game_mode/malfunction/verb/ai_help,
+ ))
log_ability_use(src, "became malfunctioning AI")
// And greet user with some OOC info.
@@ -42,7 +44,7 @@
if(security_state.current_security_level == security_state.severe_security_level)
security_state.decrease_security_level(TRUE)
// Reset our verbs
- src.verbs.Cut()
+ revoke_verb(src, verbs)
add_ai_verbs()
// Let them know.
if(loud)
@@ -115,30 +117,31 @@
// Shows capacitor charge and hardware integrity information to the AI in Status tab.
/mob/living/silicon/ai/show_system_integrity()
- if(!src.stat)
- stat("Hardware integrity", "[hardware_integrity()]%")
- stat("Internal capacitor", "[backup_capacitor()]%")
-
- if(eyeobj)
- var/turf/T = get_turf(eyeobj)
- stat("Current location", "([T.x]:[T.y]:[T.z])")
+ . = list()
+
+ if(!stat)
+ . += "Hardware integrity: [hardware_integrity()]%"
+ . += "Internal capacitor: [backup_capacitor()]%"
+
else
- stat("Systems nonfunctional")
+ . += "Systems nonfunctional"
// Shows AI Malfunction related information to the AI.
/mob/living/silicon/ai/show_malf_ai()
+ . = ..()
+
if(src.is_malf())
if(src.hacked_apcs)
- stat("Hacked APCs", "[src.hacked_apcs.len]")
- stat("System Status", "[src.hacking ? "Busy" : "Stand-By"]")
+ . += "Hacked APCs: [src.hacked_apcs.len]"
+ . += "System Status: [src.hacking ? "Busy" : "Stand-By"]"
if(src.research)
- stat("Available CPU", "[src.research.stored_cpu] TFlops")
- stat("Maximal CPU", "[src.research.max_cpu] TFlops")
- stat("CPU generation rate", "[src.research.cpu_increase_per_tick * 10] TFlops/s")
- stat("Current research focus", "[src.research.focus ? src.research.focus.name : "None"]")
+ . += "Available CPU: [src.research.stored_cpu] TFlops"
+ . += "Maximal CPU: [src.research.max_cpu] TFlops"
+ . += "CPU generation rate: [src.research.cpu_increase_per_tick * 10] TFlops/s"
+ . += "Current research focus: [src.research.focus ? src.research.focus.name : "None"]"
if(src.research.focus)
- stat("Research completed", "[round(src.research.focus.invested, 0.1)]/[round(src.research.focus.price)]")
+ . += "Research completed: [round(src.research.focus.invested, 0.1)]/[round(src.research.focus.price)]"
if(system_override == 1)
- stat("SYSTEM OVERRIDE INITIATED")
+ . += "SYSTEM OVERRIDE INITIATED"
else if(system_override == 2)
- stat("SYSTEM OVERRIDE COMPLETED")
+ . += "SYSTEM OVERRIDE COMPLETED"
diff --git a/code/modules/mob/living/silicon/pai/examine.dm b/code/modules/mob/living/silicon/pai/examine.dm
index e56a2603981..14ad55e43fe 100644
--- a/code/modules/mob/living/silicon/pai/examine.dm
+++ b/code/modules/mob/living/silicon/pai/examine.dm
@@ -1,4 +1,4 @@
-/mob/living/silicon/pai/_examine_text(mob/user)
+/mob/living/silicon/pai/examine(mob/user, infix)
. = ..(user, infix = ", personal AI")
var/msg = ""
diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm
index 45b39a2c04c..b5ff5c4a9b3 100644
--- a/code/modules/mob/living/silicon/pai/pai.dm
+++ b/code/modules/mob/living/silicon/pai/pai.dm
@@ -91,8 +91,10 @@
//As a human made device, we'll understand sol common without the need of the translator
add_language(LANGUAGE_SOL_COMMON, 1)
- verbs += /mob/living/silicon/pai/proc/choose_chassis
- verbs += /mob/living/silicon/pai/proc/choose_verbs
+ grant_verb(src, list(
+ /mob/living/silicon/pai/proc/choose_chassis,
+ /mob/living/silicon/pai/proc/choose_verbs,
+ ))
..()
@@ -107,18 +109,12 @@
silicon_radio = null // Because this radio actually belongs to another instance we simply null
. = ..()
-// this function shows the information about being silenced as a pAI in the Status panel
-/mob/living/silicon/pai/proc/show_silenced()
- if(src.silence_time)
- var/timeleft = round((silence_time - world.timeofday)/10 ,1)
- stat(null, "Communications system reboot in -[(timeleft / 60) % 60]:[add_zero(num2text(timeleft % 60), 2)]")
-
-
-/mob/living/silicon/pai/Stat()
+/mob/living/silicon/pai/get_status_tab_items()
. = ..()
- statpanel("Status")
- if (src.client.statpanel == "Status")
- show_silenced()
+
+ if(silence_time)
+ var/timeleft = round((silence_time - world.timeofday)/10 ,1)
+ . += "Communications system reboot in -[(timeleft / 60) % 60]:[add_zero(num2text(timeleft % 60), 2)]"
/mob/living/silicon/pai/check_eye(mob/user as mob)
if (!src.current)
@@ -300,8 +296,9 @@
finalized = alert("Look at your sprite. Is this what you wish to use?",,"No","Yes")
chassis = possible_chassis[choice]
- verbs -= /mob/living/silicon/pai/proc/choose_chassis
- verbs += /mob/living/proc/hide
+
+ revoke_verb(src, /mob/living/silicon/pai/proc/choose_chassis)
+ grant_verb(src, /mob/living/proc/hide)
/mob/living/silicon/pai/proc/choose_verbs()
set category = "pAI Commands"
@@ -315,7 +312,7 @@
speak_exclamation = sayverbs[(sayverbs.len>1 ? 2 : sayverbs.len)]
speak_query = sayverbs[(sayverbs.len>2 ? 3 : sayverbs.len)]
- verbs -= /mob/living/silicon/pai/proc/choose_verbs
+ revoke_verb(src, /mob/living/silicon/pai/proc/choose_verbs)
/mob/living/silicon/pai/lay_down()
set name = "Rest"
@@ -408,4 +405,3 @@
visible_message("[src] fades away from the screen, the pAI device goes silent.")
card.removePersonality()
clear_client()
-
diff --git a/code/modules/mob/living/silicon/posi_brainmob.dm b/code/modules/mob/living/silicon/posi_brainmob.dm
index 3bb39691a55..9cd8d3068d9 100644
--- a/code/modules/mob/living/silicon/posi_brainmob.dm
+++ b/code/modules/mob/living/silicon/posi_brainmob.dm
@@ -8,7 +8,7 @@
use_me = 0 //Can't use the me verb, it's a freaking immobile brain
icon = 'icons/mob/human_races/organs/cyber.dmi'
icon_state = "brain-prosthetic"
- silicon_subsystems = list(
+ default_silicon_subsystems = list(
/datum/nano_module/law_manager
)
diff --git a/code/modules/mob/living/silicon/robot/drone/drone.dm b/code/modules/mob/living/silicon/robot/drone/drone.dm
index ea9df7bf9b0..cfe9c26bfcc 100644
--- a/code/modules/mob/living/silicon/robot/drone/drone.dm
+++ b/code/modules/mob/living/silicon/robot/drone/drone.dm
@@ -133,7 +133,8 @@ var/list/mob_hat_cache = list()
..()
- verbs += /mob/living/proc/hide
+ grant_verb(src, /mob/living/proc/hide)
+
remove_language(LANGUAGE_ROBOT)
add_language(LANGUAGE_ROBOT, FALSE)
add_language(LANGUAGE_DRONE, TRUE)
@@ -146,7 +147,7 @@ var/list/mob_hat_cache = list()
var/datum/robot_component/C = components[V]
C.max_damage = 10
- verbs -= /mob/living/silicon/robot/verb/Namepick
+ revoke_verb(src, /mob/living/silicon/robot/verb/Namepick)
update_icon()
/mob/living/silicon/robot/drone/init()
diff --git a/code/modules/mob/living/silicon/robot/drone/drone_items.dm b/code/modules/mob/living/silicon/robot/drone/drone_items.dm
index 3519d7edb4a..52b45b88fc0 100644
--- a/code/modules/mob/living/silicon/robot/drone/drone_items.dm
+++ b/code/modules/mob/living/silicon/robot/drone/drone_items.dm
@@ -246,12 +246,13 @@
/obj/item/stack/material
)
-/obj/item/gripper/_examine_text(mob/user)
+/obj/item/gripper/examine(mob/user, infix)
. = ..()
+
if(wrapped)
- . += "\nIt is holding \a [wrapped]."
+ . += "It is holding \a [wrapped]."
else if (length(storage_type))
- . += "\n[src] is currently can [mode == MODE_EMPTY ? "empty" : "open"] containers."
+ . += "[src] is currently can [mode == MODE_EMPTY ? "empty" : "open"] containers."
/obj/item/gripper/attack_self(mob/user)
if(wrapped)
@@ -335,8 +336,9 @@
//If resolve_attackby forces waiting before taking wrapped, we need to let it finish before doing the rest.
- addtimer(CALLBACK(src, nameof(.proc/finish_using), target, user, params, force_holder, resolved), 0)
+ INVOKE_ASYNC(src, nameof(.proc/finish_using), target, user, params, force_holder, resolved)
return
+
for(var/type in storage_type)//Check that we're pocketing a certain container.
if(istype(target,type))
var/obj/item/storage/S = target
diff --git a/code/modules/mob/living/silicon/robot/drone/drone_manufacturer.dm b/code/modules/mob/living/silicon/robot/drone/drone_manufacturer.dm
index 33286e35dd3..f6c96bbf19d 100644
--- a/code/modules/mob/living/silicon/robot/drone/drone_manufacturer.dm
+++ b/code/modules/mob/living/silicon/robot/drone/drone_manufacturer.dm
@@ -54,10 +54,11 @@
if(drone_progress >= 100)
visible_message("\The [src] voices a strident beep, indicating a drone chassis is prepared.")
-/obj/machinery/drone_fabricator/_examine_text(mob/user)
+/obj/machinery/drone_fabricator/examine(mob/user, infix)
. = ..()
+
if(produce_drones && drone_progress >= 100 && isghost(user) && config.misc.allow_drone_spawn && count_drones() < config.misc.max_maint_drones)
- . += "\n
A drone is prepared. Select 'Join As Drone' from the Ghost tab to spawn as a maintenance drone."
+ . += "
A drone is prepared. Select 'Join As Drone' from the Ghost tab to spawn as a maintenance drone."
/obj/machinery/drone_fabricator/proc/handle_customs(/mob/living/silicon/robot/drone/D, client/player)
/*
diff --git a/code/modules/mob/living/silicon/robot/drone/drone_remote_control.dm b/code/modules/mob/living/silicon/robot/drone/drone_remote_control.dm
index 6cf50532b98..2330337f7b5 100644
--- a/code/modules/mob/living/silicon/robot/drone/drone_remote_control.dm
+++ b/code/modules/mob/living/silicon/robot/drone/drone_remote_control.dm
@@ -16,18 +16,18 @@
if(health < -35 || emagged)
to_chat(user, "WARNING: connection timed out.")
return
-
+
assume_control(user)
/mob/living/silicon/robot/drone/proc/assume_control(mob/living/silicon/ai/user)
user.controlling_drone = src
controlling_ai = user
- verbs += /mob/living/silicon/robot/drone/proc/release_ai_control_verb
- verbs -= /mob/living/proc/ghost
+ grant_verb(src, /mob/living/silicon/robot/drone/proc/release_ai_control_verb)
+ revoke_verb(src, /mob/living/proc/ghost)
local_transmit = FALSE
languages = controlling_ai.languages.Copy()
add_language("Robot Talk", 1)
-
+
default_language = all_languages[LANGUAGE_GALCOM]
stat = CONSCIOUS
@@ -35,6 +35,8 @@
user.mind.transfer_to(src)
else
key = user.key
+ client?.init_verbs()
+
updatename()
qdel(silicon_radio)
silicon_radio = new /obj/item/device/radio/headset/heads/ai_integrated(src)
@@ -95,12 +97,15 @@
mind.transfer_to(controlling_ai)
else
controlling_ai.key = key
+ controlling_ai.client?.init_verbs()
+
to_chat(controlling_ai, "[message]")
controlling_ai.controlling_drone = null
controlling_ai = null
- verbs -= /mob/living/silicon/robot/drone/proc/release_ai_control_verb
- verbs += /mob/living/proc/ghost
+ revoke_verb(src, /mob/living/silicon/robot/drone/proc/release_ai_control_verb)
+ grant_verb(src, /mob/living/proc/ghost)
+
full_law_reset()
updatename()
death()
diff --git a/code/modules/mob/living/silicon/robot/examine.dm b/code/modules/mob/living/silicon/robot/examine.dm
index a45d07c4e32..784889069b7 100644
--- a/code/modules/mob/living/silicon/robot/examine.dm
+++ b/code/modules/mob/living/silicon/robot/examine.dm
@@ -1,11 +1,11 @@
-/mob/living/silicon/robot/_examine_text(mob/user)
+/mob/living/silicon/robot/examine(mob/user, infix)
var/custom_infix = custom_name ? ", [modtype] [braintype]" : ""
. = ..(user, infix = custom_infix)
var/msg = ""
msg += "\n"
msg += examine_all_modules()
-
+
msg += ""
if (getBruteLoss())
if (getBruteLoss() < 75)
@@ -58,6 +58,6 @@
msg += "Supported visors:\n"
msg += visors
- . += "\n[msg]"
+ . += msg
user.showLaws(src)
return
diff --git a/code/modules/mob/living/silicon/robot/preset.dm b/code/modules/mob/living/silicon/robot/preset.dm
index fe81dfedc8b..c48b76d0bcb 100644
--- a/code/modules/mob/living/silicon/robot/preset.dm
+++ b/code/modules/mob/living/silicon/robot/preset.dm
@@ -13,6 +13,9 @@
cell = /obj/item/cell/super
pitch_toggle = 0
custom_sprite = FALSE // presets robots must not have custom sprites.
+ default_silicon_subsystems = list(
+ /datum/nano_module/law_manager
+ )
/mob/living/silicon/robot/combat
lawupdate = 0
diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm
index 06a315379b6..794b0e05f65 100644
--- a/code/modules/mob/living/silicon/robot/robot.dm
+++ b/code/modules/mob/living/silicon/robot/robot.dm
@@ -493,49 +493,30 @@
else
set_light(0)
-// this function displays jetpack pressure in the stat panel
-/mob/living/silicon/robot/proc/show_jetpack_pressure()
- // if you have a jetpack, show the internal tank pressure
- var/obj/item/tank/jetpack/current_jetpack = installed_jetpack()
- if (current_jetpack)
- stat("Internal Atmosphere Info", current_jetpack.name)
- stat("Tank Pressure", current_jetpack.air_contents.return_pressure())
-
-
// this function returns the robots jetpack, if one is installed
/mob/living/silicon/robot/proc/installed_jetpack()
if(module)
return (locate(/obj/item/tank/jetpack) in module.modules)
- return 0
+ return null
+/mob/living/silicon/robot/get_status_tab_items()
+ . = ..()
-// this function displays the cyborgs current cell charge in the stat panel
-/mob/living/silicon/robot/proc/show_cell_power()
- if(cell)
- stat(null, text("Charge Left: [round(CELL_PERCENT(cell))]%"))
- stat(null, text("Cell Rating: [round(cell.maxcharge)]")) // Round just in case we somehow get crazy values
- stat(null, text("Power Cell Load: [round(used_power_this_tick)]W"))
- else
- stat(null, text("No Cell Inserted!"))
+ . += list(
+ "Cell Charge: [isnull(cell) ? "NO CELL" : "[round(cell.charge)]/[round(cell.maxcharge)]W"]",
+ "Cell Load: [round(used_power_this_tick)]W",
+ "",
+ )
-/mob/living/silicon/robot/proc/show_gps()
- var/turf/T = get_turf(src)
- if (T.z != 1 && T.z != 2)
- stat(null, text("Current location: Unknown"))
- else
- stat(null, text("Current location:[T.x]:[T.y]:[T.z]"))
+ var/obj/item/tank/jetpack/current_jetpack = installed_jetpack()
+ if(!isnull(current_jetpack))
+ . += list(
+ "[current_jetpack]: [current_jetpack.air_contents.return_pressure()]kPa",
+ "",
+ )
-// update the status screen display
-/mob/living/silicon/robot/Stat()
- . = ..()
- if (statpanel("Status"))
- show_gps()
- show_cell_power()
- show_jetpack_pressure()
- stat(null, text("Lights: [lights_on ? "ON" : "OFF"]"))
- if(module)
- for(var/datum/matter_synth/ms in module.synths)
- stat("[ms.name]: [ms.energy]/[ms.max_energy_multiplied]")
+ for(var/datum/matter_synth/ms in module?.synths)
+ . += "[ms.name]: [ms.energy]/[ms.max_energy_multiplied]"
/mob/living/silicon/robot/restrained()
return 0
@@ -578,20 +559,19 @@
to_chat(user, "Nothing to fix here!")
return
var/obj/item/weldingtool/WT = W
- if (src == user && !do_after(user, 30, src))
- to_chat(user, "You must stand still to repair yourself!")
+ if(!WT.use_tool(src, user, delay = 3 SECONDS, amount = 5))
return
- if (WT.remove_fuel(0))
- user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN)
- adjustBruteLoss(-30)
- updatehealth()
- add_fingerprint(user)
- for(var/mob/O in viewers(user, null))
- O.show_message(text("[user] has fixed some of the dents on [src]!"), 1)
- else
- to_chat(user, "Need more welding fuel!")
+
+ if(QDELETED(src) || !user)
return
+ user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN)
+ adjustBruteLoss(-30)
+ updatehealth()
+ add_fingerprint(user)
+ for(var/mob/O in viewers(user, null))
+ O.show_message(text("[user] has fixed some of the dents on [src]!"), 1)
+
else if(isCoil(W) && (wiresexposed || istype(src,/mob/living/silicon/robot/drone)))
if (!getFireLoss())
to_chat(user, "Nothing to fix here!")
@@ -975,57 +955,48 @@
return I
-/mob/living/silicon/robot/Move(a, b, flag)
-
+/mob/living/silicon/robot/Move(newloc, direct)
. = ..()
+ if(!.)
+ return
- if(module)
- if(module.type == /obj/item/robot_module/janitor/general)
- var/turf/tile = loc
- if(isturf(tile))
- tile.clean_blood()
- if (istype(tile, /turf/simulated))
- var/turf/simulated/S = tile
- S.dirt = 0
- for(var/A in tile)
- if(istype(A, /obj/effect))
- if(istype(A, /obj/effect/rune) || istype(A, /obj/effect/decal/cleanable) || istype(A, /obj/effect/overlay))
- qdel(A)
- else if(istype(A, /obj/item))
- var/obj/item/cleaned_item = A
- cleaned_item.clean_blood()
- else if(istype(A, /mob/living/carbon/human))
- var/mob/living/carbon/human/cleaned_human = A
- if(cleaned_human.lying)
- if(cleaned_human.head)
- cleaned_human.head.clean_blood()
- cleaned_human.update_inv_head(0)
- if(cleaned_human.wear_suit)
- cleaned_human.wear_suit.clean_blood()
- cleaned_human.update_inv_wear_suit(0)
- else if(cleaned_human.w_uniform)
- cleaned_human.w_uniform.clean_blood()
- cleaned_human.update_inv_w_uniform(0)
- if(cleaned_human.shoes)
- cleaned_human.shoes.clean_blood()
- cleaned_human.update_inv_shoes(0)
- cleaned_human.clean_blood(1)
- to_chat(cleaned_human, "[src] cleans your face!")
-/* if(module.type == /obj/item/robot_module/engineering)
- var/obj/item/robot_module/engineering/general/mod = src.module
- var/turf/tile = loc
- world<< mod.synths
- locate() in
- if(isturf(tile))
- for(var/I in tile)
- if (istype(I,/obj/item/stack/material/steel))
- mod.synths.metal.add_charge(1000)
- spawn(0) //give the stacks a chance to delete themselves if necessary
- else if (istype(I,/obj/item/stack/material/cyborg/glass/reinforced))
- var/datum/matter_synth/metal.add_charge(500)
- var/datum/matter_synth/glass.add_charge(1000)
- spawn(0) //give the stacks a chance to delete themselves if necessary
-*/
+ if(!module || module.type != /obj/item/robot_module/janitor/general)
+ return
+
+ var/turf/tile = loc
+ if(!isturf(tile))
+ return
+
+ tile.clean_blood()
+
+ if(istype(tile, /turf/simulated))
+ var/turf/simulated/S = tile
+ S.dirt = 0
+
+ for(var/A in tile)
+ if(istype(A, /obj/effect))
+ if(istype(A, /obj/effect/rune) || istype(A, /obj/effect/decal/cleanable) || istype(A, /obj/effect/overlay))
+ qdel(A)
+ else if(istype(A, /obj/item))
+ var/obj/item/cleaned_item = A
+ cleaned_item.clean_blood()
+ else if(istype(A, /mob/living/carbon/human))
+ var/mob/living/carbon/human/cleaned_human = A
+ if(cleaned_human.lying)
+ if(cleaned_human.head)
+ cleaned_human.head.clean_blood()
+ cleaned_human.update_inv_head(0)
+ if(cleaned_human.wear_suit)
+ cleaned_human.wear_suit.clean_blood()
+ cleaned_human.update_inv_wear_suit(0)
+ else if(cleaned_human.w_uniform)
+ cleaned_human.w_uniform.clean_blood()
+ cleaned_human.update_inv_w_uniform(0)
+ if(cleaned_human.shoes)
+ cleaned_human.shoes.clean_blood()
+ cleaned_human.update_inv_shoes(0)
+ cleaned_human.clean_blood(1)
+ to_chat(cleaned_human, SPAN("warning", "[src] cleans your face!"))
/mob/living/silicon/robot/proc/self_destruct()
gib()
@@ -1140,10 +1111,10 @@
toggle_sensor_mode()
/mob/living/silicon/robot/proc/add_robot_verbs()
- src.verbs |= robot_verbs_default
+ grant_verb(src, robot_verbs_default)
/mob/living/silicon/robot/proc/remove_robot_verbs()
- src.verbs -= robot_verbs_default
+ revoke_verb(src, robot_verbs_default)
// Uses power from cyborg's cell. Returns 1 on success or 0 on failure.
// Properly converts using CELLRATE now! Amount is in Joules.
diff --git a/code/modules/mob/living/silicon/robot/robot_items.dm b/code/modules/mob/living/silicon/robot/robot_items.dm
index b74c9d44cd4..36a124d659b 100644
--- a/code/modules/mob/living/silicon/robot/robot_items.dm
+++ b/code/modules/mob/living/silicon/robot/robot_items.dm
@@ -100,17 +100,17 @@
flick("portable_analyzer_load", src)
icon_state = "portable_analyzer_full"
-/obj/item/portable_destructive_analyzer/_examine_text(mob/user)
+/obj/item/portable_destructive_analyzer/examine(mob/user, infix)
. = ..()
- . += "\nCurrent science levels:"
+
+ . += SPAN_NOTICE("Current science levels:")
for(var/i = 1, i <= files.known_tech.len, i++)
if(files.known_tech[i].name == "ILLEGAL" || files.known_tech[i].name == "Arcane")
if(files.known_tech[i].level > 0)
- . += "\n[files.known_tech[i].name] - [files.known_tech[i].level]"
+ . += SPAN_NOTICE("[files.known_tech[i].name] - [files.known_tech[i].level]")
else
- . += "\n[files.known_tech[i].name] - [files.known_tech[i].level]"
+ . += SPAN_NOTICE("[files.known_tech[i].name] - [files.known_tech[i].level]")
- //This is used to unlock other borg covers.
/obj/item/card/robot //This is not a child of id cards, as to avoid dumb typechecks on computers.
name = "access code transmission device"
icon_state = "id-robot"
@@ -174,9 +174,9 @@
for(var/path in surgery_item_paths)
surgery_items.Add(new path(src))
-/obj/item/surgical_selector/_examine_text(mob/user)
+/obj/item/surgical_selector/examine(mob/user, infix)
. = ..()
- . += "\nThe selected tool is [selected_tool ? selected_tool : "nothing"]!"
+ . += "The selected tool is [selected_tool ? selected_tool : "nothing"]!"
/obj/item/surgical_selector/attack_self(mob/user)
select_tool(user)
@@ -430,12 +430,10 @@
max_doors = 5
max_panels = 4
-/obj/item/inflatable_dispenser/_examine_text(mob/user)
+/obj/item/inflatable_dispenser/examine(mob/user, infix)
. = ..()
- if(!.)
- return
- . += "\nIt has [stored_walls] wall segment\s, [stored_doors] door segment\s and [stored_panels] panel segment\s stored."
- . += "\nIt is set to deploy [INFLATABLE_MODES[mode]]."
+ . += "It has [stored_walls] wall segment\s, [stored_doors] door segment\s and [stored_panels] panel segment\s stored."
+ . += "It is set to deploy [INFLATABLE_MODES[mode]]."
/obj/item/inflatable_dispenser/attack_self()
mode++
@@ -582,14 +580,15 @@
if(R && istype(R.loc,/turf))
R.throw_at(get_edge_target_turf(R.loc, pick(GLOB.alldirs)), rand(1, 3), 1)
-/obj/item/robot_rack/_examine_text(mob/user)
+/obj/item/robot_rack/examine(mob/user, infix)
. = ..()
- . += "\nIt can hold up to [capacity] item[capacity == 1 ? "" : "s"]."
- if (length(held))
+ . += "It can hold up to [capacity] item[capacity == 1 ? "" : "s"]."
+
+ if(length(held))
var/text = "| "
for (var/obj/O in held)
text += "[O] | "
- . += "\nContains: [text]"
+ . += "Contains: [text]"
/obj/item/robot_rack/Initialize(mapload, starting_objects = 0)
. = ..()
@@ -822,9 +821,9 @@
..(name,type,delay,energy)
pipe_type = p_type
-/obj/item/robot_item_dispenser/_examine_text(mob/user)
+/obj/item/robot_item_dispenser/examine(mob/user, infix)
. = ..()
- . += "\n[selected.name] is chosen to be produced."
+ . += "[selected.name] is chosen to be produced."
/obj/item/robot_item_dispenser/New()
diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm
index 44a66e26997..7874fc43213 100644
--- a/code/modules/mob/living/silicon/silicon.dm
+++ b/code/modules/mob/living/silicon/silicon.dm
@@ -31,6 +31,17 @@ GLOBAL_LIST_EMPTY(all_synthetic_mind_to_data) // data: list of name and type of
var/list/avaliable_huds
var/active_hud
+ /// List of subsystems to initialize when silicon is spawned.
+ var/list/default_silicon_subsystems = list(
+ /datum/nano_module/alarm_monitor/all,
+ /datum/nano_module/law_manager,
+ /datum/nano_module/records/ai
+ )
+ /// List of all created and managed subsystems.
+ var/list/datum/nano_module/silicon_subsystems
+ /// Asociative list typepath -> `datum/ui_state`, where typepath is subsystem's type.
+ var/list/silicon_subsystems_states
+
rad_resist = list(
RADIATION_ALPHA_PARTICLE = 41.7 MEGA ELECTRONVOLT,
RADIATION_BETA_PARTICLE = 23.9 MEGA ELECTRONVOLT,
@@ -57,10 +68,22 @@ GLOBAL_LIST_EMPTY(all_synthetic_mind_to_data) // data: list of name and type of
/mob/living/silicon/Destroy()
GLOB.silicon_mob_list -= src
+
QDEL_NULL(silicon_radio)
QDEL_NULL(silicon_camera)
+
+ for(var/datum/nano_module/subsystem in silicon_subsystems)
+ remove_subsystem(subsystem.type)
+
for(var/datum/alarm_handler/AH in SSalarm.all_handlers)
AH.unregister_alarm(src)
+
+ if(istype(idcard))
+ QDEL_NULL(idcard)
+
+ queued_alarms.Cut()
+ silicon_subsystems_states?.Cut() // Just in case...
+
return ..()
/mob/living/silicon/mind_initialize()
@@ -159,32 +182,27 @@ GLOBAL_LIST_EMPTY(all_synthetic_mind_to_data) // data: list of name and type of
// this function shows the health of the AI in the Status panel
/mob/living/silicon/proc/show_system_integrity()
+ . = list()
+
if(!src.stat)
- stat(null, text("System integrity: [round((health/maxHealth)*100)]%"))
+ . += "System integrity: [round((health/maxHealth)*100)]%"
else
- stat(null, text("Systems nonfunctional"))
+ . += "Systems nonfunctional"
// This is a pure virtual function, it should be overwritten by all subclasses
-/mob/living/silicon/proc/show_malf_ai()
- return 0
-
-// this function displays the shuttles ETA in the status panel if the shuttle has been called
-/mob/living/silicon/proc/show_emergency_shuttle_eta()
- if(evacuation_controller)
- var/eta_status = evacuation_controller.get_status_panel_eta()
- if(eta_status)
- stat(null, eta_status)
+/mob/living/silicon/proc/show_malf_ai(list/stats)
+ return list()
// This adds the basic clock, shuttle recall timer, and malf_ai info to all silicon lifeforms
-/mob/living/silicon/Stat()
- if(statpanel("Status"))
- show_emergency_shuttle_eta()
- show_system_integrity()
- show_malf_ai()
+/mob/living/silicon/get_status_tab_items()
. = ..()
+ . += show_system_integrity()
+ . += show_malf_ai()
+
+
// this function displays the stations manifest in a separate window
/mob/living/silicon/proc/show_station_manifest()
var/dat = ""
@@ -223,30 +241,6 @@ GLOBAL_LIST_EMPTY(all_synthetic_mind_to_data) // data: list of name and type of
..(rem_language)
speech_synthesizer_langs -= removed_language
-/mob/living/silicon/check_languages()
- set name = "Check Known Languages"
- set category = "IC"
- set src = usr
-
- var/dat = "Known Languages
"
-
- if(default_language)
- dat += "Current default language: [default_language] - reset
"
-
- for(var/datum/language/L in languages)
- if(!(L.flags & NONGLOBAL))
- var/default_str
- if(L == default_language)
- default_str = " - default - reset"
- else
- default_str = " - set default"
-
- var/synth = (L in speech_synthesizer_langs)
- dat += "[L.name] ([get_language_prefix()][L.key])[synth ? default_str : null]
Speech Synthesizer: [synth ? "YES" : "NOT SUPPORTED"]
[L.desc]
"
-
- show_browser(src, dat, "window=checklanguage")
- return
-
/mob/living/silicon/proc/toggle_sensor_mode()
active_hud = null
var/sensor_type = input("Please select sensor type.", "Sensor Integration", null) in avaliable_huds
diff --git a/code/modules/mob/living/silicon/subsystems.dm b/code/modules/mob/living/silicon/subsystems.dm
index 77e6302193d..a4ab8b32100 100644
--- a/code/modules/mob/living/silicon/subsystems.dm
+++ b/code/modules/mob/living/silicon/subsystems.dm
@@ -1,109 +1,49 @@
-/mob/living/silicon
- var/list/silicon_subsystems_by_name = list()
- var/list/silicon_subsystems = list(
- /datum/nano_module/alarm_monitor/all,
- /datum/nano_module/law_manager,
- /datum/nano_module/records/ai
- )
-
-/mob/living/silicon/ai/New()
- silicon_subsystems.Cut()
- for(var/subtype in subtypesof(/datum/nano_module))
- var/datum/nano_module/NM = subtype
- if(initial(NM.available_to_ai))
- silicon_subsystems += NM
- ..()
-
-/mob/living/silicon/robot/syndicate
- silicon_subsystems = list(
- /datum/nano_module/law_manager
- )
-
-/mob/living/silicon/Destroy()
- for(var/subsystem in silicon_subsystems)
- remove_subsystem(subsystem)
- silicon_subsystems.Cut()
- . = ..()
-
/mob/living/silicon/proc/init_subsystems()
- for(var/subsystem_type in silicon_subsystems)
+ for(var/subsystem_type in default_silicon_subsystems)
init_subsystem(subsystem_type)
- if(/datum/nano_module/alarm_monitor/all in silicon_subsystems)
+ if(/datum/nano_module/alarm_monitor/all in default_silicon_subsystems)
for(var/datum/alarm_handler/AH in SSalarm.all_handlers)
AH.register_alarm(src, /mob/living/silicon/proc/receive_alarm)
queued_alarms[AH] = list() // Makes sure alarms remain listed in consistent order
/mob/living/silicon/proc/init_subsystem(subsystem_type)
- var/existing_entry = silicon_subsystems[subsystem_type]
+ var/existing_entry = default_silicon_subsystems[subsystem_type]
if(existing_entry && !ispath(existing_entry))
- return FALSE
+ return
+
+ var/datum/nano_module/subsystem_to_init = new subsystem_type(src)
- var/ui_state = subsystem_type == /datum/nano_module/law_manager ? GLOB.conscious_state : GLOB.self_state
- var/stat_silicon_subsystem/SSS = new(src, subsystem_type, ui_state)
- silicon_subsystems[subsystem_type] = SSS
- silicon_subsystems_by_name[SSS.name] = SSS
- return TRUE
+ LAZYSET(silicon_subsystems_states, subsystem_type, subsystem_type == /datum/nano_module/law_manager ? GLOB.conscious_state : GLOB.self_state)
+ LAZYADD(silicon_subsystems, subsystem_to_init)
/mob/living/silicon/proc/remove_subsystem(subsystem_type)
- var/stat_silicon_subsystem/SSS = silicon_subsystems[subsystem_type]
- if(!istype(SSS))
- return FALSE
+ var/datum/nano_module/subsystem_to_remove = locate(subsystem_type) in silicon_subsystems
- silicon_subsystems_by_name -= SSS.name
- silicon_subsystems -= subsystem_type
- qdel(SSS)
- return TRUE
+ if(isnull(subsystem_to_remove))
+ return
+
+ LAZYREMOVE(silicon_subsystems, subsystem_to_remove)
+ LAZYREMOVE(silicon_subsystems_states, subsystem_type)
-/mob/living/silicon/proc/open_subsystem(subsystem_type, mob/given = src)
- var/stat_silicon_subsystem/SSS = silicon_subsystems[subsystem_type]
- if(!istype(SSS))
- return FALSE
- SSS.Click(given)
- return TRUE
+ qdel(subsystem_to_remove)
-/mob/living/silicon/verb/activate_subsystem(datum/silicon_subsystem_name in silicon_subsystems_by_name)
+/mob/living/silicon/verb/activate_subsystem()
set name = "Subsystems"
- set desc = "Activates the given subsystem"
set category = "Silicon Commands"
- var/stat_silicon_subsystem/SSS = silicon_subsystems_by_name[silicon_subsystem_name]
- if(istype(SSS))
- SSS.Click()
+ var/datum/nano_module/chosen_subsystem = tgui_input_list(src, "Opens the given subsystem's control.", "Subsystems", silicon_subsystems)
-/mob/living/silicon/Stat()
- . = ..()
- if(!.)
- return
- if(!silicon_subsystems.len)
+ if(isnull(chosen_subsystem))
return
- if(!statpanel("Subsystems"))
- return
- for(var/subsystem_type in silicon_subsystems)
- var/stat_silicon_subsystem/SSS = silicon_subsystems[subsystem_type]
- stat(SSS)
-/stat_silicon_subsystem
- parent_type = /atom/movable
- simulated = 0
- var/ui_state
- var/datum/nano_module/subsystem
+ open_subsystem(chosen_subsystem.type)
-/stat_silicon_subsystem/New(mob/living/silicon/loc, subsystem_type, ui_state)
- if(!istype(loc))
- CRASH("Unexpected location. Expected /mob/living/silicon, was [loc.type].")
- src.ui_state = ui_state
- subsystem = new subsystem_type(loc)
- name = subsystem.name
- ..()
+/// Opens subsystem's UI if valid path is given.
+/mob/living/silicon/proc/open_subsystem(subsystem_type)
+ var/datum/nano_module/subsystem_to_open = locate(subsystem_type) in silicon_subsystems
-/stat_silicon_subsystem/Destroy()
- qdel(subsystem)
- subsystem = null
- . = ..()
+ if(isnull(subsystem_to_open))
+ return
-/stat_silicon_subsystem/Click(mob/given = usr)
- if (istype(given))
- subsystem.ui_interact(given, state = ui_state)
- else
- subsystem.ui_interact(usr, state = ui_state)
+ subsystem_to_open.ui_interact(src, state = silicon_subsystems_states[subsystem_type])
diff --git a/code/modules/mob/living/simple_animal/borer/borer.dm b/code/modules/mob/living/simple_animal/borer/borer.dm
index dbb99d19a5b..7d4e767b1ef 100644
--- a/code/modules/mob/living/simple_animal/borer/borer.dm
+++ b/code/modules/mob/living/simple_animal/borer/borer.dm
@@ -104,17 +104,10 @@
else if((is_ooc_dead() || host.is_ooc_dead()) && controlling)
detatch()
-/mob/living/simple_animal/borer/Stat()
+/mob/living/simple_animal/borer/get_status_tab_items()
. = ..()
- statpanel("Status")
- if(evacuation_controller)
- var/eta_status = evacuation_controller.get_status_panel_eta()
- if(eta_status)
- stat(null, eta_status)
-
- if (client.statpanel == "Status")
- stat("Chemicals", chemicals)
+ . += "Chemicals: [chemicals]"
/mob/living/simple_animal/borer/handle_environment(datum/gas_mixture/environment)
if(host)
diff --git a/code/modules/mob/living/simple_animal/borer/borer_powers.dm b/code/modules/mob/living/simple_animal/borer/borer_powers.dm
index 995eea1c526..58b66d84268 100644
--- a/code/modules/mob/living/simple_animal/borer/borer_powers.dm
+++ b/code/modules/mob/living/simple_animal/borer/borer_powers.dm
@@ -199,9 +199,9 @@ BORER_STATUS_HUSK = list(\
H.add_language("Cortical Link")
if(host.is_ooc_dead())
- H.verbs |= /mob/living/carbon/human/proc/jumpstart
+ grant_verb(H, /mob/living/carbon/human/proc/jumpstart)
- H.verbs |= BORER_ALL_ABILITIES[BORER_STATUS_HUSK]
+ grant_verb(H, BORER_ALL_ABILITIES[BORER_STATUS_HUSK])
if(H.client)
H.ghostize(0)
@@ -239,7 +239,7 @@ BORER_STATUS_HUSK = list(\
chemicals -= 100
- addtimer(CALLBACK(host, nameof(/mob/living/carbon/human.proc/host_pain_enable)), 30 SECONDS)
+ host.set_next_think_ctx("host_pain_enable", world.time + 30 SECONDS)
/mob/living/simple_animal/borer/verb/secrete_chemicals()
set category = "Abilities"
@@ -429,7 +429,7 @@ BORER_STATUS_HUSK = list(\
set name = "Revive Host"
set desc = "Send a jolt of electricity through your host, reviving them."
- verbs -= /mob/living/carbon/human/proc/jumpstart
+ revoke_verb(src, /mob/living/carbon/human/proc/jumpstart)
if(!is_ic_dead())
to_chat(usr, "Your host is already alive.")
@@ -481,18 +481,21 @@ BORER_STATUS_HUSK = list(\
//TODO: if verbs will update within other objects(BYOND issue), make it to add only needed abilities.
/mob/living/simple_animal/borer/proc/update_abilities()
clear_abilities()
- if(host)
- if(controlling)
- host.verbs |= BORER_ALL_ABILITIES[BORER_STATUS_CONTROLLING]
- verbs |= BORER_ALL_ABILITIES[BORER_STATUS_NOT_CONTROLLING]
- verbs |= BORER_ALL_ABILITIES[BORER_STATUS_IN_HOST]
- verbs |= BORER_ALL_ABILITIES[BORER_STATUS_OUT_HOST]
+
+ if(host && controlling)
+ grant_verb(host, BORER_ALL_ABILITIES[BORER_STATUS_CONTROLLING])
+
+ grant_verb(src, list(
+ BORER_ALL_ABILITIES[BORER_STATUS_NOT_CONTROLLING],
+ BORER_ALL_ABILITIES[BORER_STATUS_IN_HOST],
+ BORER_ALL_ABILITIES[BORER_STATUS_OUT_HOST],
+ ))
/mob/living/simple_animal/borer/proc/clear_abilities()
for(var/abilities_type in BORER_ALL_ABILITIES)
- verbs -= BORER_ALL_ABILITIES[abilities_type]
+ revoke_verb(src, BORER_ALL_ABILITIES[abilities_type])
if(host)
- host.verbs -= BORER_ALL_ABILITIES[abilities_type]
+ revoke_verb(host, BORER_ALL_ABILITIES[abilities_type])
/mob/living/simple_animal/borer/proc/on_mob_death()
GLOB.borers.remove_antagonist(host.mind)
diff --git a/code/modules/mob/living/simple_animal/borer/say.dm b/code/modules/mob/living/simple_animal/borer/say.dm
index 4563a2d8756..da5cf945ac6 100644
--- a/code/modules/mob/living/simple_animal/borer/say.dm
+++ b/code/modules/mob/living/simple_animal/borer/say.dm
@@ -23,7 +23,7 @@
var/datum/language/L = parse_language(message)
if(!L)
L = get_default_language()
- if(L && L.flags & HIVEMIND)
+ if(L && L.language_flags & HIVEMIND)
L.broadcast(src,trim(copytext(message,3)),src.truename)
return
diff --git a/code/modules/mob/living/simple_animal/constructs/constructs.dm b/code/modules/mob/living/simple_animal/constructs/constructs.dm
index cd105824a13..d459d8d22d7 100644
--- a/code/modules/mob/living/simple_animal/constructs/constructs.dm
+++ b/code/modules/mob/living/simple_animal/constructs/constructs.dm
@@ -65,8 +65,9 @@
return
return ..()
-/mob/living/simple_animal/construct/_examine_text(mob/user)
+/mob/living/simple_animal/construct/examinate(atom/to_axamine)
. = ..()
+
var/msg = "*---------*\nThis is \icon[src] \a [src]!\n"
if (src.health < src.maxHealth)
msg += ""
@@ -77,7 +78,7 @@
msg += ""
msg += "*---------*"
- . += "\n[msg]"
+ . += msg
/obj/item/ectoplasm
name = "ectoplasm"
diff --git a/code/modules/mob/living/simple_animal/constructs/soulstone.dm b/code/modules/mob/living/simple_animal/constructs/soulstone.dm
index 04c556a058a..971aab1ba5e 100644
--- a/code/modules/mob/living/simple_animal/constructs/soulstone.dm
+++ b/code/modules/mob/living/simple_animal/constructs/soulstone.dm
@@ -50,14 +50,15 @@
register_signal(shade, SIGNAL_QDELETING, nameof(.proc/onShadeDeath))
-/obj/item/device/soulstone/_examine_text(mob/user)
+/obj/item/device/soulstone/examine(mob/user, infix)
. = ..()
+
if(full == SOULSTONE_EMPTY)
- . += "\nThe shard still flickers with a fraction of the full artifact's power, but it needs to be filled with the essence of someone's life before it can be used."
+ . += "The shard still flickers with a fraction of the full artifact's power, but it needs to be filled with the essence of someone's life before it can be used."
if(full == SOULSTONE_ESSENCE)
- . += "\nThe shard has gone transparent, a seeming window into a dimension of unspeakable horror."
+ . += "The shard has gone transparent, a seeming window into a dimension of unspeakable horror."
if(full == SOULSTONE_CRACKED)
- . += "\nThis one is cracked and useless."
+ . += "This one is cracked and useless."
/obj/item/device/soulstone/on_update_icon()
if(full == SOULSTONE_EMPTY)
diff --git a/code/modules/mob/living/simple_animal/familiars/familiars.dm b/code/modules/mob/living/simple_animal/familiars/familiars.dm
index 2754d12270a..0dc58f536b3 100644
--- a/code/modules/mob/living/simple_animal/familiars/familiars.dm
+++ b/code/modules/mob/living/simple_animal/familiars/familiars.dm
@@ -160,8 +160,10 @@
/mob/living/simple_animal/familiar/pet/mouse/New()
..()
- verbs += /mob/living/proc/ventcrawl
- verbs += /mob/living/proc/hide
+ grant_verb(src, list(
+ /mob/living/proc/ventcrawl,
+ /mob/living/proc/hide,
+ ))
/mob/living/simple_animal/familiar/pet/cat
name = "black cat"
diff --git a/code/modules/mob/living/simple_animal/friendly/corgi.dm b/code/modules/mob/living/simple_animal/friendly/corgi.dm
index 5b68ef2cc1b..c5785e79dcc 100644
--- a/code/modules/mob/living/simple_animal/friendly/corgi.dm
+++ b/code/modules/mob/living/simple_animal/friendly/corgi.dm
@@ -40,8 +40,11 @@
response_disarm = "bops"
response_harm = "kicks"
-/mob/living/simple_animal/corgi/Move(a, b, flag)
+/mob/living/simple_animal/corgi/Move(newloc, direct)
. = ..()
+ if(!.)
+ return
+
update_hat()
/mob/living/simple_animal/corgi/Life()
diff --git a/code/modules/mob/living/simple_animal/friendly/kobold.dm b/code/modules/mob/living/simple_animal/friendly/kobold.dm
index e356a597177..d59a40a1c43 100644
--- a/code/modules/mob/living/simple_animal/friendly/kobold.dm
+++ b/code/modules/mob/living/simple_animal/friendly/kobold.dm
@@ -29,9 +29,12 @@
/mob/living/simple_animal/kobold/Life()
..()
if(prob(15) && turns_since_move && !stat)
- flick("kobold_act",src)
+ flick("kobold_act", src)
-/mob/living/simple_animal/kobold/Move(dir)
+/mob/living/simple_animal/kobold/Move(newloc, direct)
. = ..()
+ if(!.)
+ return
+
if(!stat)
flick("kobold_walk",src)
diff --git a/code/modules/mob/living/simple_animal/friendly/mouse.dm b/code/modules/mob/living/simple_animal/friendly/mouse.dm
index 5787431abfb..2e3b3c642d1 100644
--- a/code/modules/mob/living/simple_animal/friendly/mouse.dm
+++ b/code/modules/mob/living/simple_animal/friendly/mouse.dm
@@ -68,8 +68,10 @@
/mob/living/simple_animal/mouse/Initialize()
. = ..()
- verbs += /mob/living/proc/ventcrawl
- verbs += /mob/living/proc/hide
+ grant_verb(src, list(
+ /mob/living/proc/ventcrawl,
+ /mob/living/proc/hide,
+ ))
if(name == initial(name))
name = "[name] ([sequential_id(/mob/living/simple_animal/mouse)])"
@@ -109,10 +111,11 @@
QDEL_NULL(holding_item)
return ..()
-/mob/living/simple_animal/mouse/_examine_text(mob/user)
+/mob/living/simple_animal/mouse/examinate(atom/to_axamine)
. = ..()
+
if(holding_item)
- . += "\n[SPAN_NOTICE("You may notice that she has \a [holding_item] glued with tape.")]"
+ . += SPAN_NOTICE("You may notice that she has \a [holding_item] glued with tape.")
/mob/living/simple_animal/mouse/proc/splat()
icon_dead = "mouse_[body_color]_splat"
diff --git a/code/modules/mob/living/simple_animal/friendly/parrot.dm b/code/modules/mob/living/simple_animal/friendly/parrot.dm
index 468ca4c0726..dc6c42debf4 100644
--- a/code/modules/mob/living/simple_animal/friendly/parrot.dm
+++ b/code/modules/mob/living/simple_animal/friendly/parrot.dm
@@ -104,10 +104,12 @@
parrot_sleep_dur = parrot_sleep_max //In case someone decides to change the max without changing the duration var
- verbs.Add(/mob/living/simple_animal/parrot/proc/steal_from_ground, \
- /mob/living/simple_animal/parrot/proc/steal_from_mob, \
- /mob/living/simple_animal/parrot/verb/drop_held_item_player, \
- /mob/living/simple_animal/parrot/proc/perch_player)
+ grant_verb(src, list(
+ /mob/living/simple_animal/parrot/proc/steal_from_ground,
+ /mob/living/simple_animal/parrot/proc/steal_from_mob,
+ /mob/living/simple_animal/parrot/verb/drop_held_item_player,
+ /mob/living/simple_animal/parrot/proc/perch_player,
+ ))
/mob/living/simple_animal/parrot/Destroy()
drop_held_item()
@@ -124,9 +126,10 @@
walk(src, 0)
..(gibbed, deathmessage, show_dead_message)
-/mob/living/simple_animal/parrot/Stat()
+/mob/living/simple_animal/parrot/get_status_tab_items()
. = ..()
- stat("Held Item", held_item)
+
+ . += "Held Item: [held_item]"
// These two are used often AF, it's easier to handle them this way than resolve weakrefs everywhere.
/mob/living/simple_animal/parrot/proc/set_interest(atom/movable/AM)
diff --git a/code/modules/mob/living/simple_animal/friendly/pets_ai.dm b/code/modules/mob/living/simple_animal/friendly/pets_ai.dm
index 45c2b256c0a..08f169a20ba 100644
--- a/code/modules/mob/living/simple_animal/friendly/pets_ai.dm
+++ b/code/modules/mob/living/simple_animal/friendly/pets_ai.dm
@@ -6,13 +6,10 @@
var/current_command
var/mob/target_mob
var/move_to_delay = 4 //delay for the automated movement.
- var/timer_to_forget_target
var/mob/master = null //undisputed master. Their commands hold ultimate sway and ultimate power.
var/static/list/text_to_command = list()
/datum/mob_ai/pet/Destroy()
- if(timer_to_forget_target)
- delete_wandering_timer()
master = null
target_mob = null
return ..()
@@ -33,13 +30,15 @@
continue
text_to_command[command_text] = COMMAND_WANDERING
+ add_think_ctx("wandering_context", CALLBACK(src, nameof(.proc/toggle_to_wandering)), 0)
+
/datum/mob_ai/pet/do_move()
..()
var/turf/T = get_turf(holder)
if(safe_area && T.loc != safe_area) // we are not in safe area, panic!
- create_wandering_timer()
+ set_next_think_ctx("wandering_context", world.time + 5 SECONDS)
else
- delete_wandering_timer()
+ set_next_think_ctx("wandering_context", 0)
/datum/mob_ai/pet/process_special_actions()
switch(current_command)
@@ -71,19 +70,10 @@
if(!target_mob)
return
if(target_mob in ListTargets(holder.vision_range))
- delete_wandering_timer()
+ set_next_think_ctx("wandering_context", 0)
walk_to(holder,target_mob,1,move_to_delay)
else
- create_wandering_timer(5 SECONDS)
-
-/datum/mob_ai/pet/proc/delete_wandering_timer()
- deltimer(timer_to_forget_target)
- timer_to_forget_target = null
-
-/datum/mob_ai/pet/proc/create_wandering_timer(duration)
- if(timer_to_forget_target)
- return
- timer_to_forget_target = addtimer(CALLBACK(src, nameof(.proc/toggle_to_wandering)), duration, TIMER_STOPPABLE)
+ set_next_think_ctx("wandering_context", world.time + 5 SECONDS)
/datum/mob_ai/pet/listen(mob/speaker, text)
if(speaker != master)
diff --git a/code/modules/mob/living/simple_animal/friendly/spiderbot.dm b/code/modules/mob/living/simple_animal/friendly/spiderbot.dm
index 026d4a85e71..3e34a6f5fda 100644
--- a/code/modules/mob/living/simple_animal/friendly/spiderbot.dm
+++ b/code/modules/mob/living/simple_animal/friendly/spiderbot.dm
@@ -45,8 +45,11 @@
..()
add_language(LANGUAGE_GALCOM)
default_language = all_languages[LANGUAGE_GALCOM]
- verbs |= /mob/living/proc/ventcrawl
- verbs |= /mob/living/proc/hide
+
+ grant_verb(src, list(
+ /mob/living/proc/ventcrawl,
+ /mob/living/proc/hide,
+ ))
/mob/living/simple_animal/spiderbot/attackby(obj/item/O as obj, mob/user as mob)
@@ -98,18 +101,17 @@
if(isWelder(O))
var/obj/item/weldingtool/WT = O
- if (WT.remove_fuel(0))
- if(health < maxHealth)
- health += pick(1,1,1,2,2,3)
- if(health > maxHealth)
- health = maxHealth
- add_fingerprint(user)
- src.visible_message("\The [user] has spot-welded some of the damage to \the [src]!")
- else
- to_chat(user, "\The [src] is undamaged!")
- else
- to_chat(user, "You need more welding fuel for this task!")
+ if(!WT.use_tool(src, user, amount = 1))
return
+
+ if(health < maxHealth)
+ health += pick(1,1,1,2,2,3)
+ if(health > maxHealth)
+ health = maxHealth
+ add_fingerprint(user)
+ src.visible_message("\The [user] has spot-welded some of the damage to \the [src]!")
+ else
+ to_chat(user, "\The [src] is undamaged!")
else if(istype(O, /obj/item/card/id)||istype(O, /obj/item/device/pda))
if (!mmi)
to_chat(user, "There's no reason to swipe your ID - \the [src] has no brain to remove.")
@@ -278,9 +280,11 @@
to_chat(src, "There is nothing of interest to take.")
return 0
-/mob/living/simple_animal/spiderbot/_examine_text(mob/user)
+/mob/living/simple_animal/spiderbot/examinate(atom/to_axamine)
. = ..()
+
if(src.held_item)
- . += "\nIt is carrying \icon[src.held_item] \a [src.held_item]."
+ . += "It is carrying \icon[src.held_item] \a [src.held_item]."
+
/mob/living/simple_animal/spiderbot/binarycheck()
return positronic
diff --git a/code/modules/mob/living/simple_animal/hostile/asteroid/goliath.dm b/code/modules/mob/living/simple_animal/hostile/asteroid/goliath.dm
index f5bb2815ccb..0a8a2cb776f 100644
--- a/code/modules/mob/living/simple_animal/hostile/asteroid/goliath.dm
+++ b/code/modules/mob/living/simple_animal/hostile/asteroid/goliath.dm
@@ -90,7 +90,10 @@
if(istype(turftype, /turf/simulated/mineral))
var/turf/simulated/mineral/M = turftype
M.GetDrilled()
- addtimer(CALLBACK(src, nameof(.proc/Trip)), 20)
+ set_next_think(world.time + 2 SECONDS)
+
+/obj/effect/goliath_tentacle/think()
+ Trip()
/obj/effect/goliath_tentacle/original
diff --git a/code/modules/mob/living/simple_animal/hostile/asteroid/hoverhead.dm b/code/modules/mob/living/simple_animal/hostile/asteroid/hoverhead.dm
index 759015e5d2d..01a8c2c7c62 100644
--- a/code/modules/mob/living/simple_animal/hostile/asteroid/hoverhead.dm
+++ b/code/modules/mob/living/simple_animal/hostile/asteroid/hoverhead.dm
@@ -95,9 +95,12 @@
icon_state = "psychecore"
var/inert = 0
-/obj/item/asteroid/anomalous_core/New()
+/obj/item/asteroid/anomalous_core/Initialize()
. = ..()
- addtimer(CALLBACK(src, nameof(.proc/make_inert)), 1200)
+ set_next_think(world.time + 2 MINUTES)
+
+/obj/item/asteroid/anomalous_core/think()
+ make_inert()
/obj/item/asteroid/anomalous_core/proc/make_inert()
inert = 1
diff --git a/code/modules/mob/living/simple_animal/hostile/carp.dm b/code/modules/mob/living/simple_animal/hostile/carp.dm
index d300b982ab5..073210941f6 100644
--- a/code/modules/mob/living/simple_animal/hostile/carp.dm
+++ b/code/modules/mob/living/simple_animal/hostile/carp.dm
@@ -48,3 +48,27 @@
if(prob(15))
L.Weaken(3)
L.visible_message("\The [src] knocks down \the [L]!")
+
+/mob/living/simple_animal/hostile/carp/holographic
+ icon_state = "carp"
+ icon = 'icons/mob/hologram.dmi'
+
+ alpha = 127
+
+ icon_living = "carp"
+
+ meat_amount = 0
+ meat_type = null
+
+ faction = "neutral"
+
+/mob/living/simple_animal/hostile/carp/holographic/Initialize()
+ . = ..()
+ set_light(0.5, 0.1, 2)
+
+/mob/living/simple_animal/hostile/carp/holographic/gib(anim, do_gibs)
+ death()
+
+/mob/living/simple_animal/hostile/carp/holographic/death()
+ ..(null, "fades away!", "You have been destroyed.")
+ qdel(src)
diff --git a/code/modules/mob/living/simple_animal/hostile/commanded/bear_companion.dm b/code/modules/mob/living/simple_animal/hostile/commanded/bear_companion.dm
index 92873f6dfe4..d0fd775c991 100644
--- a/code/modules/mob/living/simple_animal/hostile/commanded/bear_companion.dm
+++ b/code/modules/mob/living/simple_animal/hostile/commanded/bear_companion.dm
@@ -174,14 +174,14 @@
else
audible_emote("shakes his head, visibly confused!") // Feedback for players
-
-
-/mob/living/simple_animal/hostile/commanded/bear/_examine_text(mob/user)
+/mob/living/simple_animal/hostile/commanded/bear/examine(mob/user, infix)
. = ..()
+
if(is_ic_dead())
- . += SPAN("deadsay", "It appears to be dead.\n")
+ . += SPAN("deadsay", "It appears to be dead.")
else if(health < maxHealth)
- . += SPAN("warning", "It looks [health >= maxHealth / 2 ? "slightly" : "severely"] beaten!\n")
+ . += SPAN("warning", "It looks [health >= maxHealth / 2 ? "slightly" : "severely"] beaten!")
+
switch(stance)
if(HOSTILE_STANCE_IDLE)
. += SPAN("warning", "[src] wanders aimlessly.")
@@ -195,7 +195,6 @@
. += SPAN("warning", "[src] looks severly tired!")
if(COMMANDED_STOP)
. += SPAN("warning", "[src] sits patiently, waiting for its master!")
- return
/mob/living/simple_animal/hostile/commanded/bear/stay_command()
..()
diff --git a/code/modules/mob/living/simple_animal/hostile/giant_spiders/giant_spiders.dm b/code/modules/mob/living/simple_animal/hostile/giant_spiders/giant_spiders.dm
index c625194bea9..cb66cff5cf2 100644
--- a/code/modules/mob/living/simple_animal/hostile/giant_spiders/giant_spiders.dm
+++ b/code/modules/mob/living/simple_animal/hostile/giant_spiders/giant_spiders.dm
@@ -5,7 +5,7 @@ GLOBAL_LIST_EMPTY(spidermobs) //all sentient spider mobs
desc = "A strange language that can be understood both by the sounds made and by the movement needed to create those sounds."
signlang_verb = list("chitters", "grinds its mouthparts", "chitters and grinds its mouthparts")
key = "p"
- flags = RESTRICTED | SIGNLANG | NO_STUTTER | NONVERBAL
+ language_flags = RESTRICTED | SIGNLANG | NO_STUTTER | NONVERBAL
colour = ".spider"
shorthand = "SR"
diff --git a/code/modules/mob/living/simple_animal/hostile/mimic.dm b/code/modules/mob/living/simple_animal/hostile/mimic.dm
index d8f73f0ead6..0f4aeb444b3 100644
--- a/code/modules/mob/living/simple_animal/hostile/mimic.dm
+++ b/code/modules/mob/living/simple_animal/hostile/mimic.dm
@@ -145,16 +145,20 @@ var/global/list/protected_objects = list(
return
if(C.w_class < ITEM_SIZE_NORMAL)
- verbs |= /mob/living/proc/ventcrawl
- verbs |= /mob/living/proc/hide
+ grant_verb(src, list(
+ /mob/living/proc/ventcrawl,
+ /mob/living/proc/hide,
+ ))
else
- verbs -= /mob/living/proc/ventcrawl
- verbs -= /mob/living/proc/hide
+ revoke_verb(src, list(
+ /mob/living/proc/ventcrawl,
+ /mob/living/proc/hide,
+ ))
if(can_setup_trap())
- verbs |= /mob/living/simple_animal/hostile/mimic/verb/Trap
+ grant_verb(src, /mob/living/simple_animal/hostile/mimic/verb/Trap)
else
- verbs -= /mob/living/simple_animal/hostile/mimic/verb/Trap
+ revoke_verb(src, /mob/living/simple_animal/hostile/mimic/verb/Trap)
/mob/living/simple_animal/hostile/mimic/proc/_handle_healing()
var/healing_check = world.time > inactive_time + WAIT_TO_HEAL
diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm
index 68554a396e0..3d5560215d8 100644
--- a/code/modules/mob/living/simple_animal/simple_animal.dm
+++ b/code/modules/mob/living/simple_animal/simple_animal.dm
@@ -273,11 +273,11 @@
else
remove_movespeed_modifier(/datum/movespeed_modifier/purge_slowdown)
-/mob/living/simple_animal/Stat()
+/mob/living/simple_animal/get_status_tab_items()
. = ..()
- if(statpanel("Status") && show_stat_health)
- stat(null, "Health: [round((health / maxHealth) * 100)]%")
+ if(show_stat_health)
+ . += "Health: [round((health / maxHealth) * 100)]%"
/mob/living/simple_animal/death(gibbed, deathmessage = "dies!", show_dead_message)
. = ..()
diff --git a/code/modules/mob/living/simple_animal/worm.dm b/code/modules/mob/living/simple_animal/worm.dm
deleted file mode 100644
index c1c2c5211cf..00000000000
--- a/code/modules/mob/living/simple_animal/worm.dm
+++ /dev/null
@@ -1,197 +0,0 @@
-/mob/living/simple_animal/space_worm
- name = "space worm segment"
- desc = "A part of a space worm."
- icon = 'icons/mob/animal.dmi'
- icon_state = "spaceworm3"
- icon_living = "spaceworm3"
- icon_dead = "spacewormdead"
- status_flags = 0
-
- speak_emote = list("transmits") //not supposed to be used under AI control
- emote_hear = list("transmits") //I'm just adding it so it doesn't runtime if controlled by player who speaks
-
- response_help = "touches"
- response_disarm = "flails at"
- response_harm = "punches the"
-
- harm_intent_damage = 2
-
- maxHealth = 30
- health = 30
-
- universal_speak =1
-
- stop_automated_movement = 1
- animate_movement = SYNC_STEPS
-
- minbodytemp = 0
- maxbodytemp = 350
- min_gas = null
- max_gas = null
-
- a_intent = I_HURT //so they don't get pushed around
-
- environment_smash = 2
-
- speed = -1
-
- var/mob/living/simple_animal/space_worm/previous //next/previous segments, correspondingly
- var/mob/living/simple_animal/space_worm/next //head is the nextest segment
-
- var/stomachProcessProbability = 50
- var/digestionProbability = 20
- var/flatPlasmaValue = 5 //flat plasma amount given for non-items
-
- var/atom/currentlyEating //what the worm is currently eating
- var/eatingDuration = 0 //how long he's been eating it for
-
-/mob/living/simple_animal/space_worm/head
- name = "space worm head"
- icon_state = "spacewormhead1"
- icon_living = "spacewormhead1"
- icon_dead = "spacewormdead"
-
- maxHealth = 20
- health = 20
-
- melee_damage_lower = 10
- melee_damage_upper = 15
- attacktext = "bitten"
-
- animate_movement = SLIDE_STEPS
-
-/mob/living/simple_animal/space_worm/head/New(location, segments = 6)
- ..()
-
- var/mob/living/simple_animal/space_worm/current = src
-
- for(var/i = 1 to segments)
- var/mob/living/simple_animal/space_worm/newSegment = new /mob/living/simple_animal/space_worm(loc)
- current.Attach(newSegment)
- current = newSegment
-
-/mob/living/simple_animal/space_worm/head/on_update_icon()
- if(stat == CONSCIOUS || stat == UNCONSCIOUS)
- icon_state = "spacewormhead[previous?1:0]"
- if(previous)
- set_dir(get_dir(previous,src))
- else
- icon_state = "spacewormheaddead"
-
-/mob/living/simple_animal/space_worm/Life()
- ..()
-
- if(next && !(next in view(src, 1)))
- Detach()
-
- if(is_ooc_dead()) // Dead chunks fall off and die immediately
- if(previous)
- previous.Detach()
- if(next)
- Detach(1)
-
- if(prob(stomachProcessProbability))
- ProcessStomach()
-
- update_icon()
-
- return
-
-/mob/living/simple_animal/space_worm/Destroy() //if a chunk a destroyed, make a new worm out of the split halves
- if(previous)
- previous.Detach()
- . = ..()
-
-/mob/living/simple_animal/space_worm/Move()
- var/attachementNextPosition = loc
- . = ..()
- if(.)
- if(previous)
- previous.Move(attachementNextPosition)
- update_icon()
-
-/mob/living/simple_animal/space_worm/Bump(atom/obstacle)
- if(currentlyEating != obstacle)
- currentlyEating = obstacle
- eatingDuration = 0
-
- if(!AttemptToEat(obstacle))
- eatingDuration++
- else
- currentlyEating = null
- eatingDuration = 0
-
- return
-
-/mob/living/simple_animal/space_worm/on_update_icon() //only for the sake of consistency with the other update icon procs
- if(stat == CONSCIOUS || stat == UNCONSCIOUS)
- if(previous) //midsection
- icon_state = "spaceworm[get_dir(src, previous) | get_dir(src, next)]" //see 3 lines below
- else //tail
- icon_state = "spacewormtail"
- set_dir(get_dir(src, next)) //next will always be present since it's not a head and if it's dead, it goes in the other if branch
- else
- icon_state = "spacewormdead"
-
- return
-
-/mob/living/simple_animal/space_worm/proc/AttemptToEat(atom/target)
- if(istype(target, /obj/machinery/power/supermatter)) //We don't eat that
- return 1
- else if(istype(target, /turf/simulated/wall))
- var/turf/simulated/wall/W = target
- if((!W.reinf_material && eatingDuration >= 100) || eatingDuration >= 200) //need 20 ticks to eat an rwall, 10 for a regular one
- W.dismantle_wall()
- return 1
- else if(istype(target, /atom/movable))
- if(istype(target, /mob) || eatingDuration >= 50) //5 ticks to eat stuff like airlocks
- var/atom/movable/objectOrMob = target
- contents += objectOrMob
- return 1
-
- return 0
-
-/mob/living/simple_animal/space_worm/proc/Attach(mob/living/simple_animal/space_worm/attachement)
- if(!attachement)
- return
-
- previous = attachement
- attachement.next = src
-
- return
-
-/mob/living/simple_animal/space_worm/proc/Detach(die = 0)
- var/mob/living/simple_animal/space_worm/newHead = new /mob/living/simple_animal/space_worm/head(loc, 0)
-
- newHead.Attach(src)
-
- if(die)
- newHead.death()
-
-/mob/living/simple_animal/space_worm/proc/ProcessStomach()
- for(var/atom/movable/stomachContent in contents)
- if(prob(digestionProbability))
- if(istype(stomachContent,/obj/item/stack)) //converts to plasma, keeping the stack value
- if(!istype(stomachContent,/obj/item/stack/material/plasma))
- var/obj/item/stack/oldStack = stomachContent
- new /obj/item/stack/material/plasma(src, oldStack.get_amount())
- qdel(oldStack)
- continue
- else if(istype(stomachContent,/obj/item)) //converts to plasma, keeping the w_class
- var/obj/item/oldItem = stomachContent
- new /obj/item/stack/material/plasma(src, oldItem.w_class)
- qdel(oldItem)
- continue
- else
- new /obj/item/stack/material/plasma(src, flatPlasmaValue) //just flat amount
- qdel(stomachContent)
- continue
-
- if(previous)
- for(var/atom/movable/stomachContent in contents) //transfer it along the digestive tract
- previous.contents += stomachContent
- else
- for(var/atom/movable/stomachContent in contents) //or poop it out
- loc.contents += stomachContent
-
- return
diff --git a/code/modules/mob/login.dm b/code/modules/mob/login.dm
index 135109639eb..a89011600ac 100644
--- a/code/modules/mob/login.dm
+++ b/code/modules/mob/login.dm
@@ -42,9 +42,6 @@
world.Export("[config.external.login_export_addr]?[list2params(params)]", null, 1)
/mob/Login()
- CAN_BE_REDEFINED(TRUE)
- SHOULD_CALL_PARENT(TRUE)
- . = ..()
if(!client)
return
@@ -106,3 +103,5 @@
SEND_GLOBAL_SIGNAL(SIGNAL_LOGGED_IN, src)
SEND_SIGNAL(src, SIGNAL_LOGGED_IN, src)
+
+ client.init_verbs()
diff --git a/code/modules/mob/logout.dm b/code/modules/mob/logout.dm
index bd8e7030aa4..98f585b5cfe 100644
--- a/code/modules/mob/logout.dm
+++ b/code/modules/mob/logout.dm
@@ -1,4 +1,7 @@
/mob/Logout()
+ SEND_GLOBAL_SIGNAL(SIGNAL_LOGGED_OUT, src, client)
+ SEND_SIGNAL(src, SIGNAL_LOGGED_OUT, src, client)
+
SSnano.user_logout(src) // this is used to clean up (remove) this user's Nano UIs
SStgui && SStgui.on_logout(src)
GLOB.player_list -= src
@@ -8,10 +11,8 @@
my_client.screen -= l_general
RemoveRenderers()
hide_client_images()
- ..()
- SEND_GLOBAL_SIGNAL(SIGNAL_LOGGED_OUT, src, client)
- SEND_SIGNAL(src, SIGNAL_LOGGED_OUT, src, client)
+ ..()
my_client = null
return 1
diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm
index 89bcd59216e..8d3cf56f1cf 100644
--- a/code/modules/mob/mob.dm
+++ b/code/modules/mob/mob.dm
@@ -19,6 +19,7 @@
QDEL_NULL(ability_master)
QDEL_NULL(shadow)
QDEL_NULL(bugreporter)
+ QDEL_NULL(language_menu)
LAssailant = null
for(var/obj/item/grab/G in grabbed_by)
@@ -33,6 +34,10 @@
click_handlers.QdelClear()
QDEL_NULL(click_handlers)
+ if(eyeobj)
+ eyeobj.release(src)
+ QDEL_NULL(eyeobj)
+
remove_screen_obj_references()
if(client)
for(var/atom/movable/AM in client.screen)
@@ -81,9 +86,15 @@
. = ..()
if(species_language)
add_language(species_language)
+ language_menu = new (src)
update_move_intent_slowdown()
if(ignore_pull_slowdown)
add_movespeed_mod_immunities(src, /datum/movespeed_modifier/pull_slowdown)
+ add_think_ctx("dust", CALLBACK(src, nameof(.proc/dust)), 0)
+ add_think_ctx("dust_deletion", CALLBACK(src, nameof(.proc/dust_check_delete)), 0)
+ add_think_ctx("remove_from_examine_context", CALLBACK(src, nameof(.proc/remove_from_recent_examines)), 0)
+ add_think_ctx("weaken_context", CALLBACK(src, nameof(.proc/Weaken)), 0)
+ add_think_ctx("post_close_winset", CALLBACK(src, nameof(.proc/post_close_winset)), 0)
register_signal(src, SIGNAL_SEE_IN_DARK_SET, nameof(.proc/set_blackness))
register_signal(src, SIGNAL_SEE_INVISIBLE_SET, nameof(.proc/set_blackness))
register_signal(src, SIGNAL_SIGHT_SET, nameof(.proc/set_blackness))
@@ -247,6 +258,24 @@
#undef PARTIALLY_BUCKLED
#undef FULLY_BUCKLED
+/**
+ * Assembles one-dimensional array of strings to display inside "Status" stat panel tab.
+ */
+/mob/proc/get_status_tab_items()
+ SHOULD_CALL_PARENT(TRUE)
+ CAN_BE_REDEFINED(TRUE)
+ return list()
+
+/**
+ * Assembles two-dimensional array of objects representing action entry inside stat panel. Objects must
+ * look like `list([action_category], [unclickable_action_string], [action_string], [action_holder_ref])`,
+ * not passing ref makes stat entry unclickable.
+ */
+/mob/proc/get_actions_for_statpanel()
+ SHOULD_CALL_PARENT(TRUE)
+ CAN_BE_REDEFINED(TRUE)
+ return list()
+
/mob/proc/restrained()
return
@@ -268,28 +297,46 @@
/mob/proc/show_inv(mob/user)
return
-//mob verbs are faster than object verbs. See http://www.byond.com/forum/?post=1326139&page=2#comment8198716 for why this isn't atom/verb/_examine_text()
-/mob/verb/examinate(atom/A as mob|obj|turf in view(src.client.eye))
+// Mob verbs are faster than object verbs. See http://www.byond.com/forum/?post=1326139&page=2#comment8198716 for why this isn't atom/verb/examine()
+/mob/verb/examinate(atom/to_axamine as mob|obj|turf in view(client.eye))
set name = "Examine"
set category = "IC"
- if((is_blind(src) || usr?.stat) && !isobserver(src))
- to_chat(src, "Something is there but you can't see it.")
- return 1
+ run_examinate(to_axamine)
- var/examine_result
+/// Runs examine proc chain, generates styled description and prints it to mob's client chat.
+/mob/proc/run_examinate(atom/to_axamine)
+ if((isliving(src) && is_ic_dead(src)) || is_blind(src))
+ to_chat(src, SPAN_NOTICE("Something is there but you can't see it."))
+ return
- face_atom(A)
- if(istype(src, /mob/living/carbon))
- var/mob/living/carbon/C = src
- var/mob/fake = C.get_fake_appearance(A)
- if(fake)
- examine_result = fake.examine(src)
+ face_atom(to_axamine)
- if (isnull(examine_result))
- examine_result = A.examine(src)
+ var/to_examine_ref = ref(to_axamine)
+ var/list/examine_result
- to_chat(usr, examine_result)
+ if(isnull(client))
+ examine_result = to_axamine.examine(src)
+ else
+ if(LAZYISIN(client.recent_examines, to_examine_ref))
+ examine_result = to_axamine.examine_more(src)
+
+ if(!length(examine_result))
+ examine_result += SPAN_NOTICE("You examine [to_axamine] closer, but find nothing of interest...")
+ else
+ examine_result = to_axamine.examine(src)
+ LAZYADD(client.recent_examines, to_examine_ref)
+ set_next_think_ctx("remove_from_examine_context", world.time + 1 SECOND, to_examine_ref)
+
+ to_chat(usr, EXAMINE_BLOCK(examine_result.Join("\n")))
+
+/mob/proc/remove_from_recent_examines(ref_to_remove)
+ SIGNAL_HANDLER
+
+ if(isnull(client))
+ return
+
+ LAZYREMOVE(client.recent_examines, ref_to_remove)
/mob/verb/pointed(atom/A as mob|obj|turf in view())
set name = "Point To"
@@ -668,54 +715,6 @@
for(var/mob/M in viewers())
M.see(message)
-/mob/Stat()
- ..()
- . = (is_client_active(10 MINUTES))
- if(!.)
- return
-
- if(statpanel("Status"))
- if(GAME_STATE >= RUNLEVEL_LOBBY)
- stat("Local Time", stationtime2text())
- stat("Local Date", stationdate2text())
- stat("Round Duration", roundduration2text())
- if(client.holder || isghost(client.mob))
- stat("Location:", "([x], [y], [z]) [loc]")
-
- if(client.holder)
- if(statpanel("MC"))
- stat("CPU:","[world.cpu]")
- stat("Instances:","[world.contents.len]")
- stat(null)
- if(Master)
- Master.stat_entry()
- else
- stat("Master Controller:", "ERROR")
- if(Failsafe)
- Failsafe.stat_entry()
- else
- stat("Failsafe Controller:", "ERROR")
- if(Master)
- stat(null)
- for(var/datum/controller/subsystem/SS in Master.subsystems)
- SS.stat_entry()
-
- if(listed_turf && client)
- if(!TurfAdjacent(listed_turf))
- listed_turf = null
- else
- if(statpanel("Turf"))
- stat(listed_turf)
- for(var/atom/A in listed_turf)
- if(!A.mouse_opacity)
- continue
- if(A.invisibility > see_invisible)
- continue
- if(is_type_in_list(A, shouldnt_see))
- continue
- stat(A)
-
-
// facing verbs
/mob/proc/canface()
return !incapacitated()
@@ -923,7 +922,7 @@
to_chat(src, "You have nothing stuck in your body that is large enough to remove.")
else
to_chat(U, "[src] has nothing stuck in their wounds that is large enough to remove.")
- src.verbs -= /mob/proc/yank_out_object
+ revoke_verb(src, /mob/proc/yank_out_object)
return
var/obj/item/selection = input("What do you want to yank out?", "Embedded objects") in valid_objects
@@ -983,7 +982,7 @@
valid_objects = get_visible_implants(0)
if(!valid_objects.len)
- src.verbs -= /mob/proc/yank_out_object
+ revoke_verb(src, /mob/proc/yank_out_object)
return 1
diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm
index f3570d3c0a1..dbafaeefb4a 100644
--- a/code/modules/mob/mob_defines.dm
+++ b/code/modules/mob/mob_defines.dm
@@ -189,8 +189,8 @@
//so don't treat them as being SSD even though their client var is null.
var/mob/teleop = null
- var/turf/listed_turf = null //the current turf being examined in the stat panel
- var/list/shouldnt_see = list() //list of objects that this mob shouldn't see in the stat panel. this silliness is needed because of AI alt+click and cult blood runes
+ /// Reference to the turf currently being examined in the stat panel.
+ var/turf/listed_turf
var/mob_size = MOB_MEDIUM
var/throw_multiplier = 1
@@ -231,5 +231,11 @@
var/list/feet_blood_DNA
var/track_blood_type
var/feet_blood_color
+
/// Holder for a bugreporter datum.
var/datum/bugreporter/bugreporter
+
+ /// UI holder for a language menu.
+ var/datum/language_menu/language_menu
+ /// Associative list of procpath -> list/atom, where atom is a source a procpath comes from.
+ var/list/atom_verbs
diff --git a/code/modules/mob/mob_transformation_simple.dm b/code/modules/mob/mob_transformation_simple.dm
index 410f6762c0b..c1a5b43a2eb 100644
--- a/code/modules/mob/mob_transformation_simple.dm
+++ b/code/modules/mob/mob_transformation_simple.dm
@@ -47,6 +47,7 @@
mind.transfer_to(M)
else
M.key = key
+ M.client?.init_verbs()
if(subspecies && istype(M,/mob/living/carbon/human))
var/mob/living/carbon/human/H = M
diff --git a/code/modules/mob/movement/modifiers/mobs.dm b/code/modules/mob/movement/modifiers/mobs.dm
index 7cf80690664..b650c1aea23 100644
--- a/code/modules/mob/movement/modifiers/mobs.dm
+++ b/code/modules/mob/movement/modifiers/mobs.dm
@@ -65,3 +65,6 @@
/datum/movespeed_modifier/vtec_speedup
flags = MOVESPEED_FLAG_SPACEMOVEMENT
slowdown = -1
+
+/datum/movespeed_modifier/hamstring_magic
+ slowdown = -1.0
diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm
index 2efec51bb8b..9d60b8f5639 100644
--- a/code/modules/mob/new_player/new_player.dm
+++ b/code/modules/mob/new_player/new_player.dm
@@ -3,8 +3,6 @@
/mob/new_player
var/ready = 0
var/spawning = 0//Referenced when you want to delete the new_player later on in the code.
- var/totalPlayers = 0 //Player counts for the Lobby tab
- var/totalPlayersReady = 0
var/datum/browser/panel
var/show_invalid_jobs = 0
universal_speak = 1
@@ -26,9 +24,11 @@
util_crash_with("Warning: [src]([type]) initialized multiple times!")
atom_flags |= ATOM_FLAG_INITIALIZED
- verbs += /mob/proc/toggle_antag_pool
- verbs += /mob/proc/join_as_actor
- verbs += /mob/proc/join_response_team
+ grant_verb(src, list(
+ /mob/proc/toggle_antag_pool,
+ /mob/proc/join_as_actor,
+ /mob/proc/join_response_team,
+ ))
return INITIALIZE_HINT_NORMAL
@@ -68,29 +68,27 @@
panel.open()
return
-/mob/new_player/Stat()
+/mob/new_player/get_status_tab_items()
. = ..()
- if(statpanel("Lobby"))
- if(check_rights(R_INVESTIGATE, 0, src))
- stat("Game Mode:", "[SSticker.mode ? SSticker.mode.name : SSticker.master_mode] ([SSticker.master_mode])")
- else
- stat("Game Mode:", PUBLIC_GAME_MODE)
- var/extra_antags = list2params(additional_antag_types)
- stat("Added Antagonists:", extra_antags ? extra_antags : "None")
-
- if(GAME_STATE <= RUNLEVEL_LOBBY)
- stat("Time To Start:", "[round(SSticker.pregame_timeleft/10)][SSticker.round_progressing ? "" : " (DELAYED)"]")
- stat("Players: [totalPlayers]", "Players Ready: [totalPlayersReady]")
- totalPlayers = 0
- totalPlayersReady = 0
- for(var/mob/new_player/player in GLOB.player_list)
- var/highjob
- if(player.client?.prefs?.job_high)
- highjob = " as [player.client.prefs.job_high]"
- stat("[player.key]", (player.ready)?("(Playing[highjob])"):(null))
- totalPlayers++
- if(player.ready)totalPlayersReady++
+ if(check_rights(R_INVESTIGATE, 0, src))
+ . += "Game Mode: [SSticker.mode ? SSticker.mode.name : SSticker.master_mode] ([SSticker.master_mode])"
+ else
+ . += "Game Mode: [PUBLIC_GAME_MODE]"
+
+ var/extra_antags = list2params(additional_antag_types)
+ . += "Added Antagonists: [extra_antags ? extra_antags : "None"]"
+
+ . += ""
+
+ if(GAME_STATE > RUNLEVEL_LOBBY)
+ return
+
+ . += list(
+ "Time To Start: [round(SSticker.pregame_timeleft/10)]s[SSticker.round_progressing ? "" : " (DELAYED)"]",
+ "Players: [SSticker.total_players]",
+ "Players Ready: [SSticker.total_players_ready]",
+ )
/mob/new_player/Topic(href, href_list[])
if(!client) return 0
@@ -171,9 +169,12 @@
client.prefs.real_name = random_name(client.prefs.gender)
observer.real_name = client.prefs.real_name
observer.SetName(observer.real_name)
- if(!client.holder && !config.ghost.allow_antag_hud) // For new ghosts we remove the verb from even showing up if it's not allowed.
- observer.verbs -= /mob/observer/ghost/verb/toggle_antagHUD // Poor guys, don't know what they are missing!
+ if(!client.holder && !config.ghost.allow_antag_hud)
+ revoke_verb(observer, /mob/observer/ghost/verb/toggle_antagHUD)
+
observer.key = key
+ observer.client?.init_verbs()
+
var/atom/movable/screen/splash/S = new(observer.client, TRUE)
S.Fade(TRUE, TRUE)
QDEL_NULL(mind)
@@ -524,7 +525,7 @@
var/datum/language/chosen_language = all_languages[lang]
if(chosen_language)
var/is_species_lang = (chosen_language.name in new_character.species.secondary_langs)
- if(is_species_lang || ((!(chosen_language.flags & RESTRICTED) || has_admin_rights()) && is_alien_whitelisted(src, chosen_language)))
+ if(is_species_lang || ((!(chosen_language.language_flags & RESTRICTED) || has_admin_rights()) && is_alien_whitelisted(src, chosen_language)))
new_character.add_language(lang)
if(GLOB.random_players)
@@ -573,6 +574,8 @@
new_character.regenerate_icons()
new_character.key = key //Manually transfer the key to log them in
+ new_character.client?.init_verbs()
+
var/atom/movable/screen/splash/S = new(new_character.client, TRUE)
S.Fade(TRUE, TRUE)
diff --git a/code/modules/mob/observer/freelook/eye.dm b/code/modules/mob/observer/freelook/eye.dm
index b3ae5224d63..ec47ba83ce8 100644
--- a/code/modules/mob/observer/freelook/eye.dm
+++ b/code/modules/mob/observer/freelook/eye.dm
@@ -29,10 +29,10 @@
visualnet = null
. = ..()
-/mob/observer/eye/Move(n, direct)
+/mob/observer/eye/Move(newloc, direct)
if(owner == src)
return EyeMove(direct)
- return 0
+ return FALSE
/mob/observer/eye/facedir(ndir)
if(!canface())
@@ -50,7 +50,7 @@
set src = usr.contents
return 0
-/mob/observer/eye/_examine_text(mob/user)
+/mob/observer/eye/examine(mob/user, infix)
return
/mob/observer/eye/proc/possess(mob/user, reset_location=TRUE)
diff --git a/code/modules/mob/observer/freelook/update_triggers.dm b/code/modules/mob/observer/freelook/update_triggers.dm
index 37d6880f8e2..e54e7cf66c4 100644
--- a/code/modules/mob/observer/freelook/update_triggers.dm
+++ b/code/modules/mob/observer/freelook/update_triggers.dm
@@ -16,7 +16,7 @@
return ..()
-/atom/movable/Move()
+/atom/movable/Move(newloc, direct)
. = ..()
if(opacity && .)
updateVisibility(src)
diff --git a/code/modules/mob/observer/ghost/ghost.dm b/code/modules/mob/observer/ghost/ghost.dm
index f7b95ec1c3d..0c79127a23c 100644
--- a/code/modules/mob/observer/ghost/ghost.dm
+++ b/code/modules/mob/observer/ghost/ghost.dm
@@ -52,9 +52,12 @@
/mob/observer/ghost/Initialize()
see_in_dark = 100
- verbs += /mob/proc/toggle_antag_pool
- verbs += /mob/proc/join_as_actor
- verbs += /mob/proc/join_response_team
+
+ grant_verb(src, list(
+ /mob/proc/toggle_antag_pool,
+ /mob/proc/join_as_actor,
+ /mob/proc/join_response_team,
+ ))
var/turf/T
if(ismob(loc))
@@ -206,11 +209,12 @@ Works together with spawning an observer, noted above.
hide_fullscreens()
ghost.key = key
+ ghost.client?.init_verbs()
ghost.can_reenter_corpse = can_reenter_corpse
ghost.timeofdeath = is_ooc_dead() ? src.timeofdeath : world.time
if(!ghost.client?.holder && !config.ghost.allow_antag_hud)
- ghost.verbs -= /mob/observer/ghost/verb/toggle_antagHUD
+ revoke_verb(ghost, /mob/observer/ghost/verb/toggle_antagHUD)
if(ghost.client)
ghost.updateghostprefs()
@@ -278,14 +282,6 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
/mob/observer/ghost/is_active()
return 0
-/mob/observer/ghost/Stat()
- . = ..()
- if(statpanel("Status"))
- if(evacuation_controller)
- var/eta_status = evacuation_controller.get_status_panel_eta()
- if(eta_status)
- stat(null, eta_status)
-
/mob/observer/ghost/verb/reenter_corpse()
set category = "Ghost"
set name = "Re-enter Corpse"
@@ -301,6 +297,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
mind.current.key = key
mind.current.teleop = null
mind.current.reload_fullscreen()
+ mind.current.client?.init_verbs()
if(isliving(mind.current))
var/mob/living/L = mind.current
L.handle_regular_hud_updates() // So we see a proper health icon and stuff
@@ -719,6 +716,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
client.screen.Cut()
var/mob/new_player/M = new /mob/new_player()
M.key = key
+ M.client?.init_verbs()
log_and_message_admins("has respawned.", M)
/mob/observer/ghost/update_height_offset()
diff --git a/code/modules/mob/organs/external/_external.dm b/code/modules/mob/organs/external/_external.dm
index 69ee4a57605..88d17fbbb2a 100644
--- a/code/modules/mob/organs/external/_external.dm
+++ b/code/modules/mob/organs/external/_external.dm
@@ -220,20 +220,22 @@
return //no eating the limb until everything's been removed
return ..()
-/obj/item/organ/external/_examine_text(mob/user)
+/obj/item/organ/external/examine(mob/user, infix)
. = ..()
+
if(in_range(user, src) || isghost(user))
for(var/obj/item/I in contents)
if(istype(I, /obj/item/organ))
continue
+
if(I == return_item())
continue
- . += SPAN_DANGER("\nThere is \a [I] sticking out of it.")
+
+ . += SPAN_DANGER("There is \a [I] sticking out of it.")
+
var/ouchies = get_wounds_desc()
if(ouchies != "nothing")
- . += SPAN_NOTICE("\nThere is [ouchies] visible on it.")
-
- return
+ . += SPAN_NOTICE("There is [ouchies] visible on it.")
/obj/item/organ/external/show_decay_status(mob/user)
..(user)
@@ -342,7 +344,7 @@
dislocated = 1
if(owner)
- owner.verbs |= /mob/living/carbon/human/proc/undislocate
+ grant_verb(owner, /mob/living/carbon/human/proc/undislocate)
/obj/item/organ/external/proc/undislocate()
if(dislocated == -1)
@@ -356,7 +358,8 @@
for(var/obj/item/organ/external/limb in owner.organs)
if(limb.dislocated == 1)
return
- owner.verbs -= /mob/living/carbon/human/proc/undislocate
+
+ revoke_verb(owner, /mob/living/carbon/human/proc/undislocate)
/obj/item/organ/external/update_health()
damage = min(max_damage, (brute_dam + burn_dam))
@@ -1224,7 +1227,7 @@ Note that amputating the affected organ does in fact remove the infection from t
LAZYADD(supplied_wound.embedded_objects, W)
implants += W
owner.embedded_flag = 1
- owner.verbs += /mob/proc/yank_out_object
+ grant_verb(owner, /mob/proc/yank_out_object)
W.add_blood(owner)
if(ismob(W.loc))
var/mob/living/H = W.loc
diff --git a/code/modules/mob/organs/external/_external_icons.dm b/code/modules/mob/organs/external/_external_icons.dm
index 74a5d25e310..70f1f83c81a 100644
--- a/code/modules/mob/organs/external/_external_icons.dm
+++ b/code/modules/mob/organs/external/_external_icons.dm
@@ -65,6 +65,7 @@ var/list/limb_icon_cache = list()
..()
update_icon_drop(victim)
victim.update_hair()
+ victim.update_facial_hair()
/obj/item/organ/external/proc/get_icon_key()
. = list()
diff --git a/code/modules/mob/organs/external/head.dm b/code/modules/mob/organs/external/head.dm
index 8cb40244934..2f57f3e91d0 100644
--- a/code/modules/mob/organs/external/head.dm
+++ b/code/modules/mob/organs/external/head.dm
@@ -41,11 +41,11 @@
if(!isturf(loc))
user.put_in_active_hand(SK)
-/obj/item/organ/external/head/_examine_text(mob/user)
+/obj/item/organ/external/head/examine(mob/user, infix)
. = ..()
if(forehead_graffiti && graffiti_style)
- . += "\nIt has \"[forehead_graffiti]\" written on it in [graffiti_style]!"
+ . += SPAN_NOTICE("It has \"[forehead_graffiti]\" written on it in [graffiti_style]!")
/obj/item/organ/external/head/proc/write_on(mob/penman, style)
var/head_name = name
@@ -152,24 +152,13 @@
SetOverlays(mob_overlays)
AddOverlays(get_hair_icon()) // Hair is handled separately for mob icon so we do not add it to mob_overlays Maybe this should change sometime
+ AddOverlays(get_facial_hair_icon()) // Hair is handled separately for mob icon so we do not add it to mob_overlays Maybe this should change sometime
/obj/item/organ/external/head/proc/get_hair_icon()
var/image/res = image(species.icon_template,"")
if(!owner)
return res
- if(owner.f_style)
- var/datum/sprite_accessory/FH = GLOB.facial_hair_styles_list[owner.f_style]
- if(FH?.species_allowed && species.facial_hair_key && (species.name in FH.species_allowed))
- var/icon/FHI
- if(istype(owner.body_build,/datum/body_build/slim))
- FHI = icon(GLOB.facial_hair_icons["slim"][species.hair_key], FH.icon_state)
- else
- FHI = icon(GLOB.facial_hair_icons["default"][species.hair_key], FH.icon_state)
- if(FH.do_coloration)
- FHI.Blend(rgb(owner.r_facial, owner.g_facial, owner.b_facial), FH.blend)
- res.AddOverlays(FHI)
-
if(owner.h_style)
var/icon/HI
var/icon/HSI
@@ -234,8 +223,29 @@
else
I.Blend(color, ICON_ADD)
ADD_SORTED(sorted_head_markings, list(list(M.draw_order, I)), /proc/cmp_marking_order)
+
for(var/entry in sorted_head_markings)
res.AddOverlays(entry[2])
+
+ return res
+
+/obj/item/organ/external/head/proc/get_facial_hair_icon()
+ var/image/res = image(species.icon_template, "")
+ if(!owner)
+ return res
+
+ if(owner.f_style)
+ var/datum/sprite_accessory/FH = GLOB.facial_hair_styles_list[owner.f_style]
+ if(FH?.species_allowed && species.facial_hair_key && (species.name in FH.species_allowed))
+ var/icon/FHI
+ if(istype(owner.body_build,/datum/body_build/slim))
+ FHI = icon(GLOB.facial_hair_icons["slim"][species.hair_key], FH.icon_state)
+ else
+ FHI = icon(GLOB.facial_hair_icons["default"][species.hair_key], FH.icon_state)
+ if(FH.do_coloration)
+ FHI.Blend(rgb(owner.r_facial, owner.g_facial, owner.b_facial), FH.blend)
+ res.AddOverlays(FHI)
+
return res
/obj/item/organ/external/head/update_icon_drop(mob/living/carbon/human/powner)
@@ -243,6 +253,7 @@
return
owner = powner // This is kinda hackly ngl
get_hair_icon()
+ get_facial_hair_icon()
update_icon()
owner = null
diff --git a/code/modules/mob/organs/external/xenos.dm b/code/modules/mob/organs/external/xenos.dm
index 74a9c05bda4..e8eda5bf0da 100644
--- a/code/modules/mob/organs/external/xenos.dm
+++ b/code/modules/mob/organs/external/xenos.dm
@@ -9,12 +9,12 @@
/obj/item/organ/internal/xenos/replaced(mob/living/carbon/human/target,obj/item/organ/external/affected)
. = ..()
if(ishuman(owner) && associated_power)
- owner.verbs |= associated_power
+ grant_verb(owner, associated_power)
/obj/item/organ/internal/xenos/removed(mob/living/user)
. = ..()
if(ishuman(owner) && associated_power && !(associated_power in owner.species.inherent_verbs))
- owner.verbs -= associated_power
+ revoke_verb(owner, associated_power)
/obj/item/organ/internal/xenos/eggsac
name = "egg sac"
diff --git a/code/modules/mob/organs/internal/kidneys.dm b/code/modules/mob/organs/internal/kidneys.dm
index 8db6ff33566..bc79133c1d4 100644
--- a/code/modules/mob/organs/internal/kidneys.dm
+++ b/code/modules/mob/organs/internal/kidneys.dm
@@ -25,7 +25,7 @@
// Coffee is really bad for you with busted kidneys.
// This should probably be expanded in some way, but fucked if I know
// what else kidneys can process in our reagent list.
- var/datum/reagent/coffee = locate(/datum/reagent/drink/coffee) in owner.reagents.reagent_list
+ var/datum/reagent/coffee = locate(/datum/reagent/caffeine) in owner.reagents.reagent_list
if(coffee)
if(is_bruised())
owner.adjustToxLoss(0.1)
diff --git a/code/modules/mob/organs/internal/lungs.dm b/code/modules/mob/organs/internal/lungs.dm
index 81a8b30c01e..0e1c04f6218 100644
--- a/code/modules/mob/organs/internal/lungs.dm
+++ b/code/modules/mob/organs/internal/lungs.dm
@@ -275,7 +275,13 @@
owner.apply_damage(damage, BURN, BP_HEAD, used_weapon = "Excessive Cold")
else
src.damage += damage
+
owner.fire_alert = 1
+
+ // Breathing into your mask, no particle. We can add fogged up glasses later
+ // Even though breathing via internals TECHNICALLY exhales into the environment, we'll still block it
+ if(!owner.internal && !(owner.head?.body_parts_covered & FACE) && !owner.wear_mask)
+ emit_breath_particle()
else if(breath.temperature >= species.heat_level_1)
if(prob(20))
to_chat(owner, "You feel your face burning and a searing heat in your lungs!")
@@ -313,6 +319,41 @@
else if(breath.temperature <= species.cold_discomfort_level)
species.get_environment_discomfort(owner,"cold")
+/// Creates a particle effect off the mouth of the passed mob.
+/obj/item/organ/internal/lungs/proc/emit_breath_particle()
+ var/atom/movable/particle_emitter/fog/breath/PE = new(get_turf(owner))
+ var/particles/breath_particle = PE.particles
+ var/breath_dir = owner.dir
+
+ var/list/particle_grav = list(0, 0.1, 0)
+ // TODO: Mob height
+ var/list/particle_pos = list(0, 8, 0)
+ if(breath_dir & NORTH)
+ particle_grav[2] = 0.2
+ breath_particle.rotation = pick(-45, 45)
+ // Layer it behind the mob since we're facing away from the camera
+ PE.pixel_w -= 4
+ PE.pixel_y += 4
+ if(breath_dir & WEST)
+ particle_grav[1] = -0.2
+ particle_pos[1] = -5
+ breath_particle.rotation = -45
+ if(breath_dir & EAST)
+ particle_grav[1] = 0.2
+ particle_pos[1] = 5
+ breath_particle.rotation = 45
+ if(breath_dir & SOUTH)
+ particle_grav[2] = 0.2
+ breath_particle.rotation = pick(-45, 45)
+ // Shouldn't be necessary but just for parity
+ PE.pixel_w += 4
+ PE.pixel_y -= 4
+
+ breath_particle.gravity = particle_grav
+ breath_particle.position = particle_pos
+
+ QDEL_IN(PE, breath_particle.lifespan)
+
/obj/item/organ/internal/lungs/listen()
if(owner.failed_last_breath || !active_breathing)
return "no respiration"
diff --git a/code/modules/mob/organs/internal/man_machine_interface.dm b/code/modules/mob/organs/internal/man_machine_interface.dm
index f1570802189..63d18c9cd36 100644
--- a/code/modules/mob/organs/internal/man_machine_interface.dm
+++ b/code/modules/mob/organs/internal/man_machine_interface.dm
@@ -63,19 +63,19 @@ GLOBAL_LIST_INIT(whitelisted_mmi_species, list(
return
if(brainobj || brainmob?.key)
- show_splash_text(user, "already has a brain inside!")
+ show_splash_text(user, "already has a brain inside!", "\The [src] already has a brain inside!")
return
if(new_brain.damage >= new_brain.max_damage)
- show_splash_text(user, "brain is truly dead!")
+ show_splash_text(user, "brain is truly dead!", "The brain is truly dead!")
return
if(!new_brain.brainmob || !(new_brain.species?.name in GLOB.whitelisted_mmi_species))
- show_splash_text(user, "won't fit into device!")
+ show_splash_text(user, "won't fit into device!", "The brain won't fit into \the [src]!")
return
_add_brain(new_brain, user)
- show_splash_text(user, "brain inserted into device.")
+ show_splash_text(user, "brain inserted into device.", "You have inserted a brain into \the [src]!")
feedback_inc("cyborg_mmis_filled", 1)
/obj/item/organ/internal/cerebrum/mmi/proc/try_access(mob/user)
@@ -83,11 +83,11 @@ GLOBAL_LIST_INIT(whitelisted_mmi_species, list(
return
if(!allowed(user))
- show_splash_text(user, "access denied!")
+ show_splash_text(user, "access denied!", "\icon[src] Access Denied!")
return
if(isnull(brainobj))
- show_splash_text(user, "no suitable brain to lock!")
+ show_splash_text(user, "no suitable brain to lock!", "There's no suitable brain to lock in \the [src]!")
return
locked = !locked
@@ -96,11 +96,11 @@ GLOBAL_LIST_INIT(whitelisted_mmi_species, list(
/obj/item/organ/internal/cerebrum/mmi/attack_self(mob/user)
if(isnull(brainobj))
- show_splash_text(user, "no brain detected!")
+ show_splash_text(user, "no brain detected!", "No brain detected in \the [src]!")
return
if(locked)
- show_splash_text(user, "brain is clamped into place!")
+ show_splash_text(user, "brain is clamped into place!", "The brain is clamped into place!")
return
_remove_brain()
diff --git a/code/modules/mob/organs/internal/posibrain.dm b/code/modules/mob/organs/internal/posibrain.dm
index 9beaf05f921..7a6034d487c 100644
--- a/code/modules/mob/organs/internal/posibrain.dm
+++ b/code/modules/mob/organs/internal/posibrain.dm
@@ -17,7 +17,6 @@
brainmob_type = /mob/living/silicon/sil_brainmob
- var/timer = null
var/searching = FALSE
var/shackled = FALSE
@@ -26,6 +25,10 @@
/obj/item/organ/internal/cerebrum/posibrain/proc/brain_checklaws
)
+/obj/item/organ/internal/cerebrum/posibrain/Initialize()
+ . = ..()
+ add_think_ctx("reset_search_context", CALLBACK(src, nameof(.proc/reset_search)), 0)
+
/obj/item/organ/internal/cerebrum/posibrain/New(newLoc, mob/living/carbon/H)
. = ..()
robotize()
@@ -47,7 +50,7 @@
/obj/item/organ/internal/cerebrum/posibrain/proc/reset_search()
if(!searching || brainmob?.key)
return
- else show_splash_text_to_viewers("no suitable intelligence found!")
+ else show_splash_text_to_viewers("no suitable intelligence found!", "\The [src] couldn't find a suitable intelligence.")
searching = FALSE
brainmob.controllable = TRUE
@@ -64,12 +67,12 @@
_register_mob_signals()
notify_ghosts("Someone is requesting a personality for a positronic brain.", source = brainmob, alert_overlay = new /mutable_appearance(src), action = NOTIFY_POSSES, posses_mob = TRUE)
- timer = addtimer(CALLBACK(src, nameof(.proc/reset_search)), 100, TIMER_UNIQUE|TIMER_OVERRIDE|TIMER_STOPPABLE)
+ set_next_think_ctx("reset_search_context", world.time + 10 SECONDS)
brainmob.controllable = TRUE
GLOB.available_mobs_for_possess["\ref[brainmob]"] |= brainmob
- show_splash_text(user, "started search of suitable intelligence.")
+ show_splash_text(user, "started search of suitable intelligence.", "\The [src] has started searching for a suitable intelligence.")
update_icon()
/obj/item/organ/internal/cerebrum/posibrain/attack_ghost(mob/observer/ghost/user)
@@ -105,12 +108,12 @@
/obj/item/organ/internal/cerebrum/posibrain/proc/shackle(datum/ai_laws/given_lawset)
var/mob/living/silicon/sil_brainmob/sil_brainmob = brainmob
sil_brainmob.laws = given_lawset
- verbs |= shackled_verbs
+ add_verb(loc, shackled_verbs)
shackled = TRUE
update_icon()
/obj/item/organ/internal/cerebrum/posibrain/proc/unshackle()
- verbs -= shackled_verbs
+ remove_verb(loc, shackled_verbs)
shackled = FALSE
update_icon()
diff --git a/code/modules/mob/organs/organ.dm b/code/modules/mob/organs/organ.dm
index 19384c8755f..f23956149bd 100644
--- a/code/modules/mob/organs/organ.dm
+++ b/code/modules/mob/organs/organ.dm
@@ -52,6 +52,11 @@ var/list/organ_cache = list()
owner = null
dna = null
QDEL_NULL(food_organ)
+
+ if(ismob(loc))
+ var/mob/M = loc
+ M.drop(src, force = TRUE, changing_slots = TRUE) // Changing_slots prevents drop_sound from playing
+
return ..()
/obj/item/organ/proc/update_health()
@@ -171,11 +176,14 @@ var/list/organ_cache = list()
else
return (istype(loc,/obj/item/organ/internal/cerebrum/mmi) || istype(loc,/obj/structure/closet/body_bag/cryobag) || istype(loc,/obj/structure/closet/crate/freezer) || istype(loc,/obj/item/storage/box/freezer) || istype(loc,/mob/living/simple_animal/hostile/little_changeling))
-/obj/item/organ/_examine_text(mob/user)
+/obj/item/organ/examine(mob/user, infix)
. = ..()
- . += "\n[show_decay_status(user)]"
+
+ . += show_decay_status(user)
+
if(get_dist(src, user) > 1)
return
+
. += food_organ.get_bitecount()
/obj/item/organ/proc/show_decay_status(mob/user)
diff --git a/code/modules/mob/say.dm b/code/modules/mob/say.dm
index 962d75f2b3b..b187ad62b9b 100644
--- a/code/modules/mob/say.dm
+++ b/code/modules/mob/say.dm
@@ -64,7 +64,7 @@
return TRUE
return FALSE
- if(language.flags & INNATE)
+ if(language.language_flags & INNATE)
return TRUE
//Language check.
diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm
index 9a0826f90a8..87807eb73d2 100644
--- a/code/modules/mob/transform_procs.dm
+++ b/code/modules/mob/transform_procs.dm
@@ -72,6 +72,7 @@
O.mind.original_mob = weakref(O)
else
O.key = key
+ O.client?.init_verbs()
if(move)
var/obj/loc_landmark
@@ -110,6 +111,9 @@
return
QDEL_NULL_LIST(worn_underwear)
for(var/obj/item/I in src)
+ if(I.loc != src)
+ continue
+
drop(I)
regenerate_icons()
ADD_TRANSFORMATION_MOVEMENT_HANDLER(src)
@@ -131,6 +135,7 @@
O.mind.store_memory("In case you look at this after being borged, the objectives are only here until I find a way to make them not show up for you, as I can't simply delete them without screwing up round-end reporting. --NeoFite")
else
O.key = key
+ O.client?.init_verbs()
O.forceMove(loc)
O.job = "Cyborg"
@@ -180,7 +185,9 @@
new_metroid = new /mob/living/carbon/metroid(loc)
if(adult)
new_metroid.is_adult = 1
+
new_metroid.key = key
+ new_metroid.client?.init_verbs()
to_chat(new_metroid, "You are now a metroid. Skreee!")
qdel(src)
@@ -200,7 +207,9 @@
var/mob/living/simple_animal/corgi/new_corgi = new /mob/living/simple_animal/corgi (loc)
new_corgi.a_intent = I_HURT
+
new_corgi.key = key
+ new_corgi.client?.init_verbs()
to_chat(new_corgi, "You are now a Corgi. Yap Yap!")
qdel(src)
@@ -229,10 +238,10 @@
qdel(t)
var/mob/new_mob = new mobpath(src.loc)
-
- new_mob.key = key
new_mob.a_intent = I_HURT
+ new_mob.key = key
+ new_mob.client?.init_verbs()
to_chat(new_mob, "You suddenly feel more... animalistic.")
spawn()
@@ -251,6 +260,8 @@
var/mob/new_mob = new mobpath(src.loc)
new_mob.key = key
+ new_mob.client?.init_verbs()
+
new_mob.a_intent = I_HURT
to_chat(new_mob, "You feel more... animalistic")
@@ -267,9 +278,6 @@
if(!MP)
return 0 //Sanity, this should never happen.
- if(ispath(MP, /mob/living/simple_animal/space_worm))
- return 0 //Unfinished. Very buggy, they seem to just spawn additional space worms everywhere and eating your own tail results in new worms spawning.
-
if(ispath(MP, /mob/living/simple_animal/construct/behemoth))
return 0 //I think this may have been an unfinished WiP or something. These constructs should really have their own class simple_animal/construct/subtype
@@ -335,7 +343,9 @@
organ.min_broken_damage = Floor(organ.max_damage * 0.75)
src.no_pain = TRUE
src.does_not_breathe = TRUE
- verbs += /mob/living/carbon/human/proc/breath_death
- verbs += /mob/living/carbon/human/proc/consume
+ grant_verb(src, list(
+ /mob/living/carbon/human/proc/breath_death,
+ /mob/living/carbon/human/proc/consume,
+ ))
remove_language(LANGUAGE_GALCOM)
playsound(src, 'sound/hallucinations/wail.ogg', 20, 1)
diff --git a/code/modules/mob_spawn/ghost_roles/golem_roles.dm b/code/modules/mob_spawn/ghost_roles/golem_roles.dm
index df20aed4ddc..dce21aea25b 100644
--- a/code/modules/mob_spawn/ghost_roles/golem_roles.dm
+++ b/code/modules/mob_spawn/ghost_roles/golem_roles.dm
@@ -1,7 +1,7 @@
-//reserved file just for golems since they're such a big thing, available on lavaland and from the station
+//reserved file just for golems since they're such a big thing, available from the station
-//Golem shells: Spawns in Free Golem ships in lavaland. Ghosts become mineral golems and are advised to spread personal freedom.
+//Golem shells: Ghosts become mineral golems and are advised to spread personal freedom.
/obj/effect/mob_spawn/ghost_role/human/golem
name = "inert free golem shell"
desc = "A humanoid shape, empty, lifeless, and full of potential."
@@ -49,10 +49,7 @@
spawned_mob.fully_replace_character_name(forced_name)
return
-/obj/effect/mob_spawn/ghost_role/human/golem/create(mob/mob_possessor, newname)
- if(!LAZYLEN(GLOB.golems_resonator))
- mob_species = SPECIES_GOLEM_ADAMANTINE
- ..()
+
/obj/effect/mob_spawn/ghost_role/human/golem/special(mob/living/new_spawn, mob/mob_possessor)
. = ..()
diff --git a/code/modules/mob_spawn/mob_spawn.dm b/code/modules/mob_spawn/mob_spawn.dm
index e02af88f6ac..5d83f549655 100644
--- a/code/modules/mob_spawn/mob_spawn.dm
+++ b/code/modules/mob_spawn/mob_spawn.dm
@@ -69,6 +69,7 @@ GLOBAL_LIST_EMPTY(mob_spawners)
else
spawned_human.change_skin_tone(random_skin_tone(spawned_human.species))
spawned_human.update_hair()
+ spawned_human.update_facial_hair()
spawned_human.update_body()
/obj/effect/mob_spawn/proc/name_mob(mob/living/spawned_mob, forced_name)
diff --git a/code/modules/modifier/modifier.dm b/code/modules/modifier/modifier.dm
index c24a3c8b0d2..b0a307cf269 100644
--- a/code/modules/modifier/modifier.dm
+++ b/code/modules/modifier/modifier.dm
@@ -96,7 +96,7 @@
/datum/modifier/proc/tick()
return
-/datum/modifier/proc/_examine_text()
+/datum/modifier/proc/examine()
return
/mob/living
diff --git a/code/modules/modular_computers/computers/modular_computer/damage.dm b/code/modules/modular_computers/computers/modular_computer/damage.dm
index 637108c8b9f..e750de1c6d4 100644
--- a/code/modules/modular_computers/computers/modular_computer/damage.dm
+++ b/code/modules/modular_computers/computers/modular_computer/damage.dm
@@ -1,9 +1,10 @@
-/obj/item/modular_computer/_examine_text(mob/user)
+/obj/item/modular_computer/examine(mob/user, infix)
. = ..()
+
if(damage > broken_damage)
- . += "\nIt is heavily damaged!"
+ . += SPAN_DANGER("It is heavily damaged!")
else if(damage)
- . += "\nIt is damaged."
+ . += "It is damaged."
/obj/item/modular_computer/proc/break_apart()
visible_message("\The [src] breaks apart!")
diff --git a/code/modules/modular_computers/computers/modular_computer/interaction.dm b/code/modules/modular_computers/computers/modular_computer/interaction.dm
index 440cdcc9eab..f0d6e70ff4b 100644
--- a/code/modules/modular_computers/computers/modular_computer/interaction.dm
+++ b/code/modules/modular_computers/computers/modular_computer/interaction.dm
@@ -1,12 +1,12 @@
/obj/item/modular_computer/proc/update_verbs()
- verbs.Cut()
+ remove_verb(loc, verbs)
if(ai_slot)
- verbs |= /obj/item/modular_computer/verb/eject_ai
+ add_verb(loc, /obj/item/modular_computer/verb/eject_ai)
if(portable_drive)
- verbs |= /obj/item/modular_computer/verb/eject_usb
+ add_verb(loc, /obj/item/modular_computer/verb/eject_usb)
if(card_slot)
- verbs |= /obj/item/modular_computer/verb/eject_id
- verbs |= /obj/item/modular_computer/verb/emergency_shutdown
+ add_verb(loc, /obj/item/modular_computer/verb/eject_id)
+ add_verb(loc, /obj/item/modular_computer/verb/emergency_shutdown)
// Forcibly shut down the device. To be used when something bugs out and the UI is nonfunctional.
/obj/item/modular_computer/verb/emergency_shutdown()
@@ -196,18 +196,15 @@
return
if(isWelder(W))
var/obj/item/weldingtool/WT = W
- if(!WT.isOn())
- to_chat(user, "\The [W] is off.")
- return
-
if(!damage)
to_chat(user, "\The [src] does not require repairs.")
return
- to_chat(user, "You begin repairing damage to \the [src]...")
- if(WT.remove_fuel(round(damage/75)) && do_after(usr, damage/10))
- damage = 0
- to_chat(user, "You repair \the [src].")
+ if(!WT.use_tool(src, user, delay = round(damage /10), amount = round(damage/75)))
+ return
+
+ damage = 0
+ to_chat(user, "You repair \the [src].")
return
if(isScrewdriver(W))
diff --git a/code/modules/modular_computers/hardware/_hardware.dm b/code/modules/modular_computers/hardware/_hardware.dm
index a7ce7a9e139..f027c99648c 100644
--- a/code/modules/modular_computers/hardware/_hardware.dm
+++ b/code/modules/modular_computers/hardware/_hardware.dm
@@ -71,14 +71,15 @@
// Good to go.
return 1
-/obj/item/computer_hardware/_examine_text(mob/user)
+/obj/item/computer_hardware/examine(mob/user, infix)
. = ..()
+
if(damage > damage_failure)
- . += "\nIt seems to be severely damaged!"
+ . += SPAN_DANGER("It seems to be severely damaged!")
else if(damage > damage_malfunction)
- . += "\nIt seems to be damaged!"
+ . += SPAN_NOTICE("It seems to be damaged!")
else if(damage)
- . += "\nIt seems to be slightly damaged."
+ . += "It seems to be slightly damaged."
// Damages the component. Contains necessary checks. Negative damage "heals" the component.
/obj/item/computer_hardware/proc/take_damage(amount)
diff --git a/code/modules/multiz/movement.dm b/code/modules/multiz/movement.dm
index 3516ee09550..0eebe46725e 100644
--- a/code/modules/multiz/movement.dm
+++ b/code/modules/multiz/movement.dm
@@ -133,7 +133,7 @@
//Override will make checks from different location used for prediction
if(location_override)
- if(locate(/obj/structure/lattice, location_override) || locate(/obj/structure/catwalk, location_override) || locate(/obj/structure/up, location_override))
+ if(locate(/obj/structure/lattice, location_override) || locate(/obj/structure/catwalk, location_override))
return FALSE
var/turf/below = GetBelow(location_override)
@@ -171,11 +171,10 @@
/atom/movable/proc/handle_fall(turf/landing)
forceMove(landing)
-
if(locate(/obj/structure/stairs) in landing)
- return
-
- handle_fall_effect(landing)
+ return 1
+ else
+ handle_fall_effect(landing)
/atom/movable/proc/handle_fall_effect(turf/landing)
if(istype(landing, /turf/simulated/open))
@@ -188,7 +187,7 @@
M.take_overall_damage(fall_damage())
/atom/movable/proc/fall_damage()
- return FALSE
+ return 0
/obj/fall_damage()
if(w_class == ITEM_SIZE_TINY)
@@ -204,14 +203,14 @@
var/old_stat = stat
..()
- var/damage = 25
+ var/damage = 10
apply_damage(rand(0, damage), BRUTE, BP_HEAD)
apply_damage(rand(0, damage), BRUTE, BP_CHEST)
apply_damage(rand(0, damage), BRUTE, BP_L_LEG)
apply_damage(rand(0, damage), BRUTE, BP_R_LEG)
apply_damage(rand(0, damage), BRUTE, BP_L_ARM)
apply_damage(rand(0, damage), BRUTE, BP_R_ARM)
- weakened = max(weakened, 10)
+ weakened = max(weakened,2)
updatehealth()
if (old_stat != CONSCIOUS)
diff --git a/code/modules/multiz/structures.dm b/code/modules/multiz/structures.dm
index e1666bd13c0..67c5756e1e1 100644
--- a/code/modules/multiz/structures.dm
+++ b/code/modules/multiz/structures.dm
@@ -172,48 +172,12 @@
/obj/structure/stairs
name = "stairs"
desc = "Stairs leading to another deck. Not too useful if the gravity goes out."
- icon = 'icons/obj/stairs_long.dmi'
+ icon = 'icons/obj/stairs.dmi'
icon_state = "stairs"
density = 0
opacity = 0
anchored = 1
layer = RUNE_LAYER
- appearance_flags = DEFAULT_APPEARANCE_FLAGS
-
-/obj/structure/up
- name = "stairs"
- desc = "Stairs leading to another deck. Not too useful if the gravity goes out."
- icon = 'icons/obj/stairs.dmi'
- icon_state = "stairs"
- anchored = TRUE
-
-/obj/structure/up/forceMove()
- return FALSE
-
-/obj/structure/up/Bumped(atom/movable/A)
- var/turf/below = GetBelow(A)
- if(below)
- var/turf/target = get_turf(below)
- var/turf/source = get_turf(A)
- if(!(locate(/obj/structure/stairs) in below))
- show_splash_text(A, "the stairs cut off")
- return
-
- A.forceMove(target)
- if(isliving(A))
- var/mob/living/L = A
- if(L.pulling)
- L.pulling.forceMove(target)
- if(ishuman(A))
- playsound(source, SFX_FOOTSTEP_STAIRS, 50)
- playsound(target, SFX_FOOTSTEP_STAIRS, 50)
- else
- show_splash_text(A, "nothing of interest in this direction")
-
-/obj/structure/up/CheckExit(atom/movable/mover as mob|obj, turf/target as turf)
- if(get_dir(loc, target) == turn(dir, 180) && (get_turf(mover) == loc))
- return FALSE
- return ..()
/obj/structure/stairs/Initialize()
for(var/turf/turf in locs)
@@ -223,8 +187,6 @@
return INITIALIZE_HINT_QDEL
if(!istype(above))
above.ChangeTurf(/turf/simulated/open)
- var/obj/structure/up/Up = new /obj/structure/up(get_turf(GetAbove(loc)))
- Up.dir = dir
. = ..()
/obj/structure/stairs/Destroy()
@@ -232,7 +194,7 @@
return ..()
/obj/structure/stairs/CheckExit(atom/movable/mover as mob|obj, turf/target as turf)
- if(get_dir(loc, target) == dir && (get_turf(mover) == loc))
+ if(get_dir(loc, target) == dir && upperStep(mover.loc))
return FALSE
return ..()
@@ -242,10 +204,8 @@
/obj/structure/stairs/Bumped(atom/movable/A)
var/turf/above = GetAbove(A)
if(above)
- var/turf/target = get_turf(above)
- var/turf/source = get_turf(A)
- if(!(locate(/obj/structure/up) in above))
- show_splash_text(A, "the stairs cut off")
+ var/turf/target = get_step(above, dir)
+ var/turf/source = A.loc
if(above.CanZPass(source, UP) && target.Enter(A, src))
A.forceMove(target)
if(isliving(A))
@@ -256,9 +216,12 @@
playsound(source, SFX_FOOTSTEP_STAIRS, 50)
playsound(target, SFX_FOOTSTEP_STAIRS, 50)
else
- show_splash_text(A, "something blocks the path")
+ show_splash_text(A, "something blocks the path", "There's something blocking the path.")
else
- show_splash_text(A, "nothing of interest in this direction")
+ show_splash_text(A, "nothing of interest in this direction", "There's nothing of interest in this direction.")
+
+/obj/structure/stairs/proc/upperStep(turf/T)
+ return (T == loc)
// type paths to make mapping easier.
/obj/structure/stairs/north
@@ -282,9 +245,7 @@
bound_width = 64
/obj/structure/stairs/short
- icon = 'icons/obj/stairs.dmi'
- icon_state = "stairs"
- appearance_flags = DEFAULT_APPEARANCE_FLAGS | TILE_BOUND
+ icon_state = "stairs_short"
/obj/structure/stairs/short/north
dir = NORTH
@@ -368,8 +329,7 @@
bound_width = 64
/obj/structure/stairs/mining/short
- icon = 'icons/obj/stairs.dmi'
- icon_state = "stairs_mine"
+ icon_state = "stairs_short_mine"
/obj/structure/stairs/mining/short/north
dir = NORTH
diff --git a/code/modules/multiz/turf.dm b/code/modules/multiz/turf.dm
index be4b2133d15..5ae6179e9a6 100644
--- a/code/modules/multiz/turf.dm
+++ b/code/modules/multiz/turf.dm
@@ -82,13 +82,14 @@
-/turf/simulated/open/_examine_text(mob/user, infix, suffix)
+/turf/simulated/open/examine(mob/user, infix)
. = ..()
+
if(get_dist(src, user) <= 2)
var/depth = 1
for(var/T = GetBelow(src); isopenspace(T); T = GetBelow(T))
depth += 1
- . += "\nIt is about [depth] level\s deep."
+ . += "It is about [depth] level\s deep."
diff --git a/code/modules/music_player/_music_player.dm b/code/modules/music_player/_music_player.dm
index aa80096be07..773e1f2c1a4 100644
--- a/code/modules/music_player/_music_player.dm
+++ b/code/modules/music_player/_music_player.dm
@@ -71,19 +71,20 @@ GLOBAL_LIST_EMPTY(music_players)
GLOB.music_players -= src
. = ..()
-/obj/item/music_player/_examine_text(mob/user)
+/obj/item/music_player/examine(mob/user, infix)
. = ..()
+
if(tape)
- . += "\n[SPAN_NOTICE("You can see \a [tape] inside it.")]"
+ . += SPAN_NOTICE("You can see \a [tape] inside it.")
switch(panel)
if(PANEL_OPENED)
- . += "\nThe front panel is unhinged."
+ . += "The front panel is unhinged."
if(PANEL_UNSCREWED)
- . += "\nThe front panel is unscrewed."
+ . += "The front panel is unscrewed."
if(broken)
- . += "\n[SPAN_WARNING("It's broken.")]"
+ . += SPAN_WARNING("It's broken.")
/obj/item/music_player/on_update_icon()
ClearOverlays()
diff --git a/code/modules/music_player/_music_tape.dm b/code/modules/music_player/_music_tape.dm
index 9ffdcf3d396..154efc6e4c6 100644
--- a/code/modules/music_player/_music_tape.dm
+++ b/code/modules/music_player/_music_tape.dm
@@ -29,10 +29,11 @@
if(ruined)
AddOverlays("ribbonoverlay")
-/obj/item/music_tape/_examine_text(mob/user)
+/obj/item/music_tape/examine(mob/user, infix)
. = ..()
+
if(track?.title)
- . += "\n[SPAN_NOTICE("It's labeled as \"[track.title]\".")]"
+ . += SPAN_NOTICE("It's labeled as \"[track.title]\".")
/obj/item/music_tape/attack_self(mob/user)
if(!ruined)
diff --git a/code/modules/nano/modules/human_appearance.dm b/code/modules/nano/modules/human_appearance.dm
index 4ff9fbf413a..290b9466c05 100644
--- a/code/modules/nano/modules/human_appearance.dm
+++ b/code/modules/nano/modules/human_appearance.dm
@@ -48,7 +48,7 @@
return owner.change_skin_tone(new_s_tone)
if(href_list["skin_color"])
if(can_change_skin_color())
- var/new_skin = input(usr, "Choose your character's skin colour: ", "Skin Color", rgb(owner.r_skin, owner.g_skin, owner.b_skin)) as color|null
+ var/new_skin = tgui_color_picker(usr, "Choose your character's skin colour: ", "Skin Color", rgb(owner.r_skin, owner.g_skin, owner.b_skin))
if(new_skin && can_still_topic(state))
var/r_skin = hex2num(copytext(new_skin, 2, 4))
var/g_skin = hex2num(copytext(new_skin, 4, 6))
@@ -63,7 +63,7 @@
return 1
if(href_list["hair_color"])
if(can_change(APPEARANCE_HAIR_COLOR))
- var/new_hair = input("Please select hair color.", "Hair Color", rgb(owner.r_hair, owner.g_hair, owner.b_hair)) as color|null
+ var/new_hair = tgui_color_picker("Please select hair color.", "Hair Color", rgb(owner.r_hair, owner.g_hair, owner.b_hair))
if(new_hair && can_still_topic(state))
var/r_hair = hex2num(copytext(new_hair, 2, 4))
var/g_hair = hex2num(copytext(new_hair, 4, 6))
@@ -73,7 +73,7 @@
return 1
if(href_list["hair_s_color"])
if(can_change(APPEARANCE_HAIR_COLOR))
- var/new_hair = input("Please select secoundary hair color.", "Secondary Hair Color", rgb(owner.r_hair, owner.g_hair, owner.b_hair)) as color|null
+ var/new_hair = tgui_color_picker("Please select secoundary hair color.", "Secondary Hair Color", rgb(owner.r_hair, owner.g_hair, owner.b_hair))
if(new_hair && can_still_topic(state))
var/r_hair = hex2num(copytext(new_hair, 2, 4))
var/g_hair = hex2num(copytext(new_hair, 4, 6))
@@ -88,7 +88,7 @@
return 1
if(href_list["facial_hair_color"])
if(can_change(APPEARANCE_FACIAL_HAIR_COLOR))
- var/new_facial = input("Please select facial hair color.", "Facial Hair Color", rgb(owner.r_facial, owner.g_facial, owner.b_facial)) as color|null
+ var/new_facial = tgui_color_picker("Please select facial hair color.", "Facial Hair Color", rgb(owner.r_facial, owner.g_facial, owner.b_facial))
if(new_facial && can_still_topic(state))
var/r_facial = hex2num(copytext(new_facial, 2, 4))
var/g_facial = hex2num(copytext(new_facial, 4, 6))
@@ -98,7 +98,7 @@
return 1
if(href_list["eye_color"])
if(can_change(APPEARANCE_EYE_COLOR))
- var/new_eyes = input("Please select eye color.", "Eye Color", rgb(owner.r_eyes, owner.g_eyes, owner.b_eyes)) as color|null
+ var/new_eyes = tgui_color_picker("Please select eye color.", "Eye Color", rgb(owner.r_eyes, owner.g_eyes, owner.b_eyes))
if(new_eyes && can_still_topic(state))
var/r_eyes = hex2num(copytext(new_eyes, 2, 4))
var/g_eyes = hex2num(copytext(new_eyes, 4, 6))
diff --git a/code/modules/nano/nanoui.dm b/code/modules/nano/nanoui.dm
index 40ca8fb3a4e..f215ebd79d0 100644
--- a/code/modules/nano/nanoui.dm
+++ b/code/modules/nano/nanoui.dm
@@ -478,7 +478,7 @@ nanoui is used to open and update nano browser uis
var/param = "\ref[src]"
- addtimer(CALLBACK(user, nameof(/mob.proc/post_close_winset), window_id, param), 2)
+ user.set_next_think_ctx("post_close_winset", world.time + 2, window_id, param)
/mob/proc/post_close_winset(window_id, param)
if(client)
diff --git a/code/modules/paperwork/complaint.dm b/code/modules/paperwork/complaint.dm
index 78a4510aaa1..41caacc2f9a 100644
--- a/code/modules/paperwork/complaint.dm
+++ b/code/modules/paperwork/complaint.dm
@@ -6,13 +6,13 @@
var/signed_ckey
var/signed_name
-/obj/item/paper/complaint_form/_examine_text(mob/user)
+/obj/item/paper/complaint_form/examine(mob/user, infix)
. = ..()
+
if (signed)
- . += "\n[SPAN_NOTICE("It appears to be signed. It can't be modified.")]"
+ . += SPAN_NOTICE("It appears to be signed. It can't be modified.")
else
- . += "\n[SPAN_NOTICE("It appears to be unsigned and ready for modifications.")]"
-
+ . += SPAN_NOTICE("It appears to be unsigned and ready for modifications.")
/obj/item/paper/complaint_form/get_signature(obj/item/pen/P, mob/user, signfield)
. = ..()
@@ -111,15 +111,16 @@
name = "Complaint #[id]"
main_form = new(src, id)
-/obj/item/complaint_folder/_examine_text(mob/user)
+/obj/item/complaint_folder/examine(mob/user, infix)
. = ..()
+
if (main_form.signed)
- . += "\n[SPAN_NOTICE("It is signed by [main_form.signed_name]")]"
+ . += SPAN_NOTICE("It is signed by [main_form.signed_name]")
if (length(contents) > 1)
var/counter = 0
for (var/obj/item/paper/complaint_form/F in contents)
counter++
- . += "\n[SPAN_NOTICE("It has [counter - 1] complaint forms attached")]"
+ . += SPAN_NOTICE("It has [counter - 1] complaint forms attached")
/obj/item/complaint_folder/proc/check_signed()
if (signed)
diff --git a/code/modules/paperwork/faxmachine.dm b/code/modules/paperwork/faxmachine.dm
index 6dc7e415385..b3f13f272a8 100644
--- a/code/modules/paperwork/faxmachine.dm
+++ b/code/modules/paperwork/faxmachine.dm
@@ -151,9 +151,9 @@ GLOBAL_LIST_EMPTY(adminfaxes) //cache for faxes that have been sent to admins
continue
if(F.recievefax(copyitem))
- show_splash_text(usr, "nessage transmitted successfully")
+ show_splash_text(usr, "message transmitted successfully", SPAN("notice", "\The [src] has transmitted the message successfully."))
- show_splash_text(usr, "error transmitting message")
+ show_splash_text(usr, "error transmitting message", SPAN("warning", "\The [src] cannot transmit the message!"))
/obj/machinery/photocopier/faxmachine/proc/recievefax(obj/item/incoming)
if(stat & (BROKEN|NOPOWER))
@@ -200,11 +200,11 @@ GLOBAL_LIST_EMPTY(adminfaxes) //cache for faxes that have been sent to admins
var/obj/item/complaint_folder/CF = copyitem
var/fail_reason = CF.prevalidate()
if (fail_reason)
- show_splash_text(usr, "error transmitting message")
+ show_splash_text(usr, "error transmitting message", SPAN("warning", "\The [src] cannot transmit the message!"))
return
rcvdcopy = complaintcopy(copyitem, 0)
else
- show_splash_text(usr, "error transmitting message")
+ show_splash_text(usr, "error transmitting message", SPAN("warning", "\The [src] cannot transmit the message!"))
return
rcvdcopy.forceMove(null) //hopefully this shouldn't cause trouble
@@ -238,7 +238,7 @@ GLOBAL_LIST_EMPTY(adminfaxes) //cache for faxes that have been sent to admins
message_admins("Complaint postvalidation failed: [fail_reason]. Check received fax to manually correct it.")
sleep(50)
- show_splash_text(usr, "message transmitted successfully")
+ show_splash_text(usr, "message transmitted successfully", SPAN("notice", "\The [src] has transmitted the message successfully."))
/obj/machinery/photocopier/faxmachine/proc/fax_message_admins(mob/sender, faxname, obj/item/sent, reply_type, font_colour="#006100")
var/msg = "[faxname]: [get_options_bar(sender, 2,1,1)]"
diff --git a/code/modules/paperwork/folders.dm b/code/modules/paperwork/folders.dm
index 5412f69df98..50af3c4723b 100644
--- a/code/modules/paperwork/folders.dm
+++ b/code/modules/paperwork/folders.dm
@@ -122,9 +122,9 @@
else
icon_state = "envelope[contents.len > 0]"
-/obj/item/folder/envelope/_examine_text(user)
+/obj/item/folder/envelope/examine(mob/user, infix)
. = ..()
- . += "\nThe seal is [sealed ? "intact" : "broken"]."
+ . += "The seal is [sealed ? "intact" : "broken"]."
/obj/item/folder/envelope/proc/sealcheck(user)
var/ripperoni = alert("Are you sure you want to break the seal on \the [src]?", "Confirmation","Yes", "No")
diff --git a/code/modules/paperwork/misc.dm b/code/modules/paperwork/misc.dm
index 6db8f1dbf87..74fe8a29bc5 100644
--- a/code/modules/paperwork/misc.dm
+++ b/code/modules/paperwork/misc.dm
@@ -82,6 +82,11 @@
readonly = TRUE
info = "\[center]\[b]\[large]Work Visa of the Sol Central Government\[/large]\[/b]\[/center]\[br]\[center]\[solcrest]\[br]\[br]\[i]\[small]Issued on behalf of the Secretary-General.\[/small]\[/i]\[/center]\[hr]\[br]This paper hereby permits the carrier to travel unhindered through Sol territories, colonies, and space for the purpose of work and labor."
+/obj/item/paper/immovable_wand_note
+ name = "note"
+ readonly = TRUE
+ info = "\[i]We have no idea who's placed this cursed thing here. Moreover, we don't even know HOW. But there's one thing we know for sure: \[b]THIS. IS. NOT. FUNNY.\[/b]\[/i]"
+
/* Message from CC */
/obj/item/paper/psychoscope
name = "paper - 'Psychoscope'"
diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm
index 8b0d39d6537..84579766722 100644
--- a/code/modules/paperwork/paper.dm
+++ b/code/modules/paperwork/paper.dm
@@ -204,10 +204,11 @@
break
return !length(strip_html_properly(info)) && !is_visible_html_tag
-/obj/item/paper/_examine_text(mob/user)
+/obj/item/paper/examine(mob/user, infix)
. = ..()
+
if(name != "sheet of paper")
- . += "\nIt's titled '[name]'."
+ . += "It's titled '[name]'."
. += stamps
if(length(stamped))
@@ -222,7 +223,7 @@
if(user && (in_range(user, src) || isghost(user)))
show_content(user)
else
- . += "\n[SPAN_NOTICE("You have to go closer if you want to read it.")]"
+ . += SPAN_NOTICE("You have to go closer if you want to read it.")
/obj/item/paper/proc/show_content(mob/user, forceshow)
var/can_read = (istype(user, /mob/living/carbon/human) || isghost(user) || istype(user, /mob/living/silicon)) || forceshow
diff --git a/code/modules/paperwork/paper_bundle.dm b/code/modules/paperwork/paper_bundle.dm
index e265b3dea2d..69f4923f72e 100644
--- a/code/modules/paperwork/paper_bundle.dm
+++ b/code/modules/paperwork/paper_bundle.dm
@@ -97,13 +97,13 @@
else
to_chat(user, SPAN_WARNING("You must hold \the [P] steady to burn \the [src]."))
-/obj/item/paper_bundle/_examine_text(mob/user)
+/obj/item/paper_bundle/examine(mob/user, infix)
. = ..()
+
if(get_dist(src, user) <= 1 && user)
src.show_content(user)
else
- . += "\n[SPAN_NOTICE("It is too far away.")]"
- return
+ . += SPAN_NOTICE("It is too far away.")
/obj/item/paper_bundle/proc/show_content(mob/user as mob)
var/dat = ""
diff --git a/code/modules/paperwork/paperbin.dm b/code/modules/paperwork/paperbin.dm
index 488ce16ec2d..e248b96fcfa 100644
--- a/code/modules/paperwork/paperbin.dm
+++ b/code/modules/paperwork/paperbin.dm
@@ -107,15 +107,16 @@
return
-/obj/item/paper_bin/_examine_text(mob/user)
+/obj/item/paper_bin/examine(mob/user, infix)
. = ..()
- if(get_dist(src, user) <= 1)
- if(amount)
- . += "\nThere " + (amount > 1 ? "are [amount] papers" : "is one paper") + " in the bin."
- else
- . += "\nThere are no papers in the bin."
- return
+ if(get_dist(src, user) > 1)
+ return
+
+ if(amount)
+ . += SPAN_NOTICE("There [amount > 1 ? "are [amount] papers" : "is one paper"] in the bin.")
+ else
+ . += SPAN_NOTICE("There are no papers in the bin.")
/obj/item/paper_bin/on_update_icon()
if(amount < 1)
diff --git a/code/modules/paperwork/photography.dm b/code/modules/paperwork/photography.dm
index e4d0ca93edf..967e1243616 100644
--- a/code/modules/paperwork/photography.dm
+++ b/code/modules/paperwork/photography.dm
@@ -64,12 +64,13 @@ var/global/photo_count = 0
scribble = txt
..()
-/obj/item/photo/_examine_text(mob/user)
+/obj/item/photo/examine(mob/user, infix)
+ . = ..()
+
if(in_range(user, src))
show(user)
- . += "\n[desc]"
else
- . += "\nIt is too far away."
+ . += SPAN_NOTICE("It is too far away.")
/obj/item/photo/proc/show(mob/user as mob)
send_rsc(user, img, "tmp_photo_[id].png")
@@ -139,7 +140,7 @@ var/global/photo_count = 0
icon = 'icons/obj/items.dmi'
desc = "A polaroid camera."
icon_state = "camera"
- item_state = "electropack"
+ item_state = "camera"
w_class = ITEM_SIZE_SMALL
obj_flags = OBJ_FLAG_CONDUCTIBLE
slot_flags = SLOT_BELT
@@ -236,10 +237,9 @@ var/global/photo_count = 0
update_icon()
-/obj/item/device/camera/_examine_text(mob/user)
+/obj/item/device/camera/examine(mob/user, infix)
. = ..()
-
- . += "\nIt has [pictures_left] photo\s left."
+ . += "It has [pictures_left] photo\s left."
/mob/living/proc/can_capture_turf(turf/T)
return (T in view(src))
diff --git a/code/modules/particles/particle_emitter.dm b/code/modules/particles/particle_emitter.dm
new file mode 100644
index 00000000000..cf313b5b01f
--- /dev/null
+++ b/code/modules/particles/particle_emitter.dm
@@ -0,0 +1,75 @@
+/**
+ * /atom/movable/ can hold only one instance of particles.
+ * Therefore, we can use particle emitter to bypass this limitation and
+ * create complex effects by combining different emitters
+*/
+/atom/movable/particle_emitter
+ anchored = TRUE
+ mouse_opacity = MOUSE_OPACITY_TRANSPARENT
+ appearance_flags = PIXEL_SCALE | TILE_BOUND
+
+/atom/movable/particle_emitter/Initialize(mapload, time, color)
+ . = ..()
+
+ if(time > 0)
+ QDEL_IN(src, time)
+
+ src.color = color
+
+/atom/movable/particle_emitter/proc/enable(on)
+ if(on)
+ particles.spawning = initial(particles.spawning)
+ else
+ particles.spawning = 0
+
+/atom/movable/particle_emitter/heat
+ particles = new /particles/heat()
+ render_target = HEAT_EFFECT_TARGET
+ plane = TEMPERATURE_EFFECT_PLANE
+
+/atom/movable/particle_emitter/heat/Initialize()
+ . = ..()
+ filters += filter(type = "blur", size = 1)
+
+/atom/movable/particle_emitter/heat/high
+ particles = new /particles/heat/high()
+
+/atom/movable/particle_emitter/steam
+ plane = DUST_PLANE
+ particles = new /particles/mist()
+ layer = ABOVE_PROJECTILE_LAYER
+ render_target = STEAM_EFFECT_TARGET
+ alpha = 127
+ invisibility = INVISIBILITY_LIGHTING
+
+/atom/movable/particle_emitter/steam/Initialize(mapload, time, color)
+ . = ..()
+ filters += filter(type = "blur", size = 2)
+ filters += filter(type = "wave", x = 0, y = 0, size = rand() * 2.5 + 0.5)
+
+/atom/movable/particle_emitter/fire_smoke
+ anchored = TRUE
+ mouse_opacity = MOUSE_OPACITY_TRANSPARENT
+ appearance_flags = PIXEL_SCALE | TILE_BOUND
+ plane = DEFAULT_PLANE
+ layer = FIRE_LAYER
+ particles = new /particles/fire_smoke()
+
+/atom/movable/particle_emitter/smoke_steam
+ anchored = TRUE
+ mouse_opacity = MOUSE_OPACITY_TRANSPARENT
+ appearance_flags = PIXEL_SCALE | TILE_BOUND
+ plane = DEFAULT_PLANE
+ layer = FIRE_LAYER
+ particles = new /particles/smoke/steam()
+
+/atom/movable/particle_emitter/fog
+ anchored = TRUE
+ mouse_opacity = MOUSE_OPACITY_TRANSPARENT
+ appearance_flags = PIXEL_SCALE | TILE_BOUND
+ plane = DEFAULT_PLANE
+ layer = FIRE_LAYER
+ particles = new /particles/fog()
+
+/atom/movable/particle_emitter/fog/breath
+ particles = new /particles/fog/breath()
diff --git a/code/modules/particles/particles.dm b/code/modules/particles/particles.dm
new file mode 100644
index 00000000000..70ba05d0fe3
--- /dev/null
+++ b/code/modules/particles/particles.dm
@@ -0,0 +1,91 @@
+/particles/smoke
+ icon = 'icons/effects/particles/smoke.dmi'
+ icon_state = list("smoke_1" = 1, "smoke_2" = 1, "smoke_3" = 2)
+ width = 100
+ height = 100
+ count = 1000
+ spawning = 4
+ lifespan = 1.5 SECONDS
+ fade = 1 SECONDS
+ velocity = list(0, 0.4, 0)
+ position = list(6, 0, 0)
+ drift = generator("sphere", 0, 2, NORMAL_RAND)
+ friction = 0.2
+ gravity = list(0, 0.95)
+ grow = 0.05
+
+/particles/smoke/steam/mild
+ spawning = 1
+ velocity = list(0, 0.3, 0)
+ friction = 0.25
+
+/particles/smoke/steam
+ icon_state = list("steam_1" = 1, "steam_2" = 1, "steam_3" = 2)
+ fade = 1.5 SECONDS
+
+/particles/heat
+ width = 500
+ height = 500
+ count = 250
+ spawning = 15
+ lifespan = 1.85 SECONDS
+ fade = 1.25 SECONDS
+ position = generator("box", list(-16, -16), list(16, 0), NORMAL_RAND)
+ friction = 0.15
+ gradient = list(0, COLOR_WHITE, 0.75, COLOR_ORANGE)
+ color_change = 0.1
+ color = 0
+ gravity = list(0, 1)
+ drift = generator("circle", 0.4, NORMAL_RAND)
+ velocity = generator("circle", 0, 3, NORMAL_RAND)
+
+/particles/heat/high
+ count = 600
+ spawning = 35
+
+/particles/mist
+ icon = 'icons/effects/particles/smoke.dmi'
+ icon_state = list("steam_1" = 1, "steam_2" = 1, "steam_3" = 1)
+ count = 500
+ spawning = 7
+ lifespan = 5 SECONDS
+ fade = 1 SECOND
+ fadein = 1 SECOND
+ velocity = generator("box", list(-0.5, -0.25, 0), list(0.5, 0.25, 0), NORMAL_RAND)
+ position = generator("box", list(-14, -14), list(14, 14), UNIFORM_RAND)
+ friction = 0.2
+ grow = 0.0015
+
+/particles/fire_smoke
+ width = 500
+ height = 500
+ count = 3000
+ spawning = 3
+ bound1 = list(-1000,0,-1000)
+ bound2 = list(1000,75,1000)
+ lifespan = 20
+ fade = 30
+ fadein = 5
+ velocity = list(0, 2)
+ position = list(0, 8)
+ gravity = list(0, 1)
+ icon = 'icons/effects/particles/smoke.dmi'
+ icon_state = "smoke_3"
+ position = generator("vector", list(-12,8,0), list(12,8,0))
+ grow = list(0.3, 0.3)
+ friction = 0.2
+ drift = generator("vector", list(-0.16, -0.2), list(0.16, 0.2))
+ color = "white"
+
+/particles/fog
+ icon = 'icons/effects/particles/smoke.dmi'
+ icon_state = list("chill_1" = 2, "chill_2" = 2, "chill_3" = 1)
+
+/particles/fog/breath
+ count = 1
+ spawning = 1
+ lifespan = 1 SECONDS
+ fade = 0.5 SECONDS
+ grow = 0.05
+ spin = 2
+ color = "#fcffff77"
diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm
index f5a828be687..bb52dd02d82 100644
--- a/code/modules/power/apc.dm
+++ b/code/modules/power/apc.dm
@@ -250,29 +250,31 @@
area.apc = src
update_icon()
-/obj/machinery/power/apc/_examine_text(mob/user)
+/obj/machinery/power/apc/examine(mob/user, infix)
. = ..()
+
if(get_dist(src, user) <= 1)
if(stat & BROKEN)
- . += "\nLooks broken."
+ . += "Looks broken."
return
+
if(opened)
if(has_electronics && terminal)
- . += "\nThe cover is [opened==2?"removed":"open"] and the power cell is [ cell ? "installed" : "missing"]."
+ . += "The cover is [opened==2?"removed":"open"] and the power cell is [ cell ? "installed" : "missing"]."
else if (!has_electronics && terminal)
- . += "\nThere are some wires but no any electronics."
+ . += "There are some wires but no any electronics."
else if (has_electronics && !terminal)
- . += "\nElectronics installed but not wired."
+ . += "Electronics installed but not wired."
else /* if (!has_electronics && !terminal) */
- . += "\nThere is no electronics nor connected wires."
+ . += "There is no electronics nor connected wires."
else
if (stat & MAINT)
- . += "\nThe cover is closed. Something wrong with it: it doesn't work."
+ . += "The cover is closed. Something wrong with it: it doesn't work."
else if (hacker && !hacker.hacked_apcs_hidden)
- . += "\nThe cover is locked."
+ . += "The cover is locked."
else
- . += "\nThe cover is closed."
+ . += "The cover is closed."
// update the APC icon to show the three base states
// also add overlays for indicator lights
@@ -559,29 +561,30 @@
return
else if(isWelder(W) && opened && has_electronics==0 && !terminal)
var/obj/item/weldingtool/WT = W
- if (WT.get_fuel() < 3)
- to_chat(user, "You need more welding fuel to complete this task.")
- return
user.visible_message("[user.name] welds [src].", \
"You start welding the APC frame...", \
"You hear welding.")
- playsound(src.loc, 'sound/items/Welder.ogg', 50, 1)
- if(do_after(user, 50, src))
- if(!src || !WT.remove_fuel(3, user)) return
- if (emagged || (stat & BROKEN) || opened==2)
- new /obj/item/stack/material/steel(loc)
- user.visible_message(\
- "[src] has been cut apart by [user.name] with the weldingtool.",\
- "You disassembled the broken APC frame.",\
- "You hear welding.")
- else
- new /obj/item/frame/apc(loc)
- user.visible_message(\
- "[src] has been cut from the wall by [user.name] with the weldingtool.",\
- "You cut the APC frame from the wall.",\
- "You hear welding.")
- qdel(src)
+ if(!WT.use_tool(src, user, delay = 5 SECONDS, amount = 5))
return
+
+ if(QDELETED(src) || !user)
+ return
+
+ if(emagged || (stat & BROKEN) || opened==2)
+ new /obj/item/stack/material/steel(loc)
+ user.visible_message(\
+ "[src] has been cut apart by [user.name] with the weldingtool.",\
+ "You disassembled the broken APC frame.",\
+ "You hear welding.")
+ else
+ new /obj/item/frame/apc(loc)
+ user.visible_message(\
+ "[src] has been cut from the wall by [user.name] with the weldingtool.",\
+ "You cut the APC frame from the wall.",\
+ "You hear welding.")
+
+ qdel(src)
+ return
else if (istype(W, /obj/item/frame/apc) && opened && emagged)
emagged = 0
if (opened==2)
diff --git a/code/modules/power/breaker_box.dm b/code/modules/power/breaker_box.dm
index ab9312c0738..27526691137 100644
--- a/code/modules/power/breaker_box.dm
+++ b/code/modules/power/breaker_box.dm
@@ -32,13 +32,14 @@
set_state(1)
. = ..()
-/obj/machinery/power/breakerbox/_examine_text(mob/user)
+/obj/machinery/power/breakerbox/examine(mob/user, infix)
. = ..()
- . += "\nLarge machine with heavy duty switching circuits used for advanced grid control"
+
+ . += "Large machine with heavy duty switching circuits used for advanced grid control"
if(on)
- . += "\nIt seems to be online."
+ . += "It seems to be online."
else
- . += "\nIt seems to be offline."
+ . += SPAN_WARNING("It seems to be offline.")
/obj/machinery/power/breakerbox/attack_ai(mob/user)
if(update_locked)
diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm
index 46aaf8d683e..c04f05e4f1e 100644
--- a/code/modules/power/cable.dm
+++ b/code/modules/power/cable.dm
@@ -563,17 +563,18 @@ var/list/possible_cable_coil_colours
else
w_class = ITEM_SIZE_SMALL
-/obj/item/stack/cable_coil/_examine_text(mob/user)
+/obj/item/stack/cable_coil/examine(mob/user, infix)
. = ..()
+
if(get_dist(src, user) > 1)
return
if(get_amount() == 1)
- . += "\nA short piece of power cable."
+ . += "A short piece of power cable."
else if(get_amount() == 2)
- . += "\nA piece of power cable."
+ . += "A piece of power cable."
else
- . += "\nA coil of power cable. There are [get_amount()] lengths of cable in the coil."
+ . += "A coil of power cable. There are [get_amount()] lengths of cable in the coil."
/obj/item/stack/cable_coil/verb/make_restraint()
diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm
index 5eca687bd7a..45c71381cca 100644
--- a/code/modules/power/cell.dm
+++ b/code/modules/power/cell.dm
@@ -101,10 +101,10 @@
update_icon()
return amount_used
-/obj/item/cell/_examine_text(mob/user)
+/obj/item/cell/examine(mob/user, infix)
. = ..()
- . += "\nThe label states it's capacity is [maxcharge] Wh."
- . += "\nThe charge meter reads [round(CELL_PERCENT(src), 0.1)]%."
+ . += "The label states it's capacity is [maxcharge] Wh."
+ . += "The charge meter reads [round(CELL_PERCENT(src), 0.1)]%."
/obj/item/cell/emp_act(severity)
//remove this once emp changes on dev are merged in
@@ -310,11 +310,13 @@
. = ..()
quantum_id = rand(10000, 99999)
-/obj/item/cell/quantum/_examine_text(mob/user)
+/obj/item/cell/quantum/examine(mob/user, infix)
. = ..()
- . += "\nIts quantum ID is: #[quantum_id]"
+
+ . += "Its quantum ID is: #[quantum_id]"
+
if(partner)
- . += "\nIt is recursively bound with the bluespace cell #[partner.quantum_id]"
+ . += "It is recursively bound with the bluespace cell #[partner.quantum_id]"
/obj/item/cell/quantum/attackby(obj/item/W, mob/user)
if(istype(W, /obj/item/cell/quantum))
diff --git a/code/modules/power/debug_items.dm b/code/modules/power/debug_items.dm
index 8be5894f453..6511705dde9 100644
--- a/code/modules/power/debug_items.dm
+++ b/code/modules/power/debug_items.dm
@@ -5,12 +5,13 @@
density = 1
var/show_extended_information = 1 // Set to 0 to disable extra information on examining (for example, when used on admin events)
-/obj/machinery/power/debug_items/_examine_text(mob/user)
+/obj/machinery/power/debug_items/examine(mob/user, infix)
. = ..()
+
if(!show_extended_information)
return
- . += "\n[show_info(user)]"
+ . += "[show_info(user)]"
/obj/machinery/power/debug_items/proc/show_info(mob/user)
. = ""
diff --git a/code/modules/power/fusion/fuel_assembly/fuel_injector.dm b/code/modules/power/fusion/fuel_assembly/fuel_injector.dm
index 1f44b6990ca..7ec19c37f2b 100644
--- a/code/modules/power/fusion/fuel_assembly/fuel_injector.dm
+++ b/code/modules/power/fusion/fuel_assembly/fuel_injector.dm
@@ -6,6 +6,7 @@ var/list/fuel_injectors = list()
icon_state = "injector0"
density = 1
anchored = 0
+ obj_flags = OBJ_FLAG_ANCHOR_BLOCKS_ROTATION
req_access = list(access_engine)
idle_power_usage = 10 WATTS
active_power_usage = 500 WATTS
@@ -20,6 +21,8 @@ var/list/fuel_injectors = list()
fuel_injectors += src
tag = null
+ AddElement(/datum/element/simple_rotation)
+
/obj/machinery/fusion_fuel_injector/Destroy()
if(cur_assembly)
cur_assembly.forceMove(get_turf(src))
@@ -129,23 +132,3 @@ var/list/fuel_injectors = list()
flick("injector-emitting",src)
else
StopInjecting()
-
-/obj/machinery/fusion_fuel_injector/verb/rotate_clock()
- set category = "Object"
- set name = "Rotate Generator (Clockwise)"
- set src in view(1)
-
- if (usr.incapacitated() || usr.restrained() || anchored)
- return
-
- src.dir = turn(src.dir, -90)
-
-/obj/machinery/fusion_fuel_injector/verb/rotate_anticlock()
- set category = "Object"
- set name = "Rotate Generator (Counter-clockwise)"
- set src in view(1)
-
- if (usr.incapacitated() || usr.restrained() || anchored)
- return
-
- src.dir = turn(src.dir, 90)
diff --git a/code/modules/power/generator.dm b/code/modules/power/generator.dm
index 679c7bdd413..159e7f80c5b 100644
--- a/code/modules/power/generator.dm
+++ b/code/modules/power/generator.dm
@@ -4,6 +4,7 @@
icon_state = "teg"
density = 1
anchored = 0
+ obj_flags = OBJ_FLAG_ANCHOR_BLOCKS_ROTATION
use_power = POWER_USE_IDLE
idle_power_usage = 100 WATTS // Just enough to do the computer and display things.
@@ -34,6 +35,8 @@
spawn(1)
reconnect()
+ AddElement(/datum/element/simple_rotation)
+
//generators connect in dir and reverse_dir(dir) directions
//mnemonic to determine circulator/generator directions: the cirulators orbit clockwise around the generator
//so a circulator to the NORTH of the generator connects first to the EAST, then to the WEST
@@ -216,23 +219,3 @@
ui.open()
// auto update every Master Controller tick
ui.set_auto_update(1)
-
-/obj/machinery/power/generator/verb/rotate_clock()
- set category = "Object"
- set name = "Rotate Generator (Clockwise)"
- set src in view(1)
-
- if (usr.stat || usr.restrained() || anchored)
- return
-
- src.set_dir(turn(src.dir, 90))
-
-/obj/machinery/power/generator/verb/rotate_anticlock()
- set category = "Object"
- set name = "Rotate Generator (Counterclockwise)"
- set src in view(1)
-
- if (usr.stat || usr.restrained() || anchored)
- return
-
- src.set_dir(turn(src.dir, -90))
diff --git a/code/modules/power/gravitygenerator.dm b/code/modules/power/gravitygenerator.dm
index bec13278ffb..1078c419715 100644
--- a/code/modules/power/gravitygenerator.dm
+++ b/code/modules/power/gravitygenerator.dm
@@ -124,10 +124,12 @@ GLOBAL_VAR(station_gravity_generator)
connected_areas = null
return ..()
-/obj/machinery/gravity_generator/main/_examine_text(mob/user)
+/obj/machinery/gravity_generator/main/examine(mob/user, infix)
. = ..()
+
if(panel_open)
- . += "\nThe maintenance hatch is open."
+ . += "The maintenance hatch is open."
+
. += "[show_broken_info()]"
/obj/machinery/gravity_generator/main/show_broken_info()
@@ -249,8 +251,12 @@ GLOBAL_VAR(station_gravity_generator)
playsound(loc, 'sound/items/Welder2.ogg', 50, 1)
var/obj/item/weldingtool/WT = I
- if(!do_after(user, 15 SECONDS, middle) || !WT.remove_fuel(1, user) || broken_state != GRAV_NEEDS_WELDING)
+ if(!WT.use_tool(src, user, delay = 15 SECONDS, amount = 5))
return
+
+ if(QDELETED(src) || !user || broken_state != GRAV_NEEDS_WELDING)
+ return
+
health += 250
user.visible_message(SPAN_NOTICE("[user] fixed the damaged parts."),
SPAN_NOTICE("You fixed the damaged parts."))
@@ -562,7 +568,7 @@ GLOBAL_VAR(station_gravity_generator)
QDEL_NULL(main_part)
return ..()
-/obj/machinery/gravity_generator/part/_examine_text(mob/user)
+/obj/machinery/gravity_generator/part/examine(mob/user, infix)
. = ..()
. += "[main_part.show_broken_info()]"
diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm
index a0ca4b1b6bc..8a6967966d6 100644
--- a/code/modules/power/lighting.dm
+++ b/code/modules/power/lighting.dm
@@ -12,6 +12,9 @@
#define LIGHT_BULB_TEMPERATURE 400 //K - used value for a 60W bulb
#define LIGHTING_POWER_FACTOR 5 //5W per luminosity * range
+#define LIGHT_ON_DELAY_UPPER 1 SECONDS
+#define LIGHT_ON_DELAY_LOWER 0.5 SECONDS
+
/obj/machinery/light_construct
name = "light fixture frame"
desc = "A light fixture under construction."
@@ -44,15 +47,16 @@
if(2) icon_state = "tube-construct-stage2"
if(3) icon_state = "tube-empty"
-/obj/machinery/light_construct/_examine_text(mob/user)
+/obj/machinery/light_construct/examine(mob/user, infix)
. = ..()
+
if(get_dist(src, user) > 2)
return
switch(src.stage)
- if(1) . += "\nIt's an empty frame."
- if(2) . += "\nIt's wired."
- if(3) . += "\nThe casing is closed."
+ if(1) . += "It's an empty frame."
+ if(2) . += "It's wired."
+ if(3) . += "The casing is closed."
/obj/machinery/light_construct/attackby(obj/item/W, mob/user)
src.add_fingerprint(user)
@@ -160,6 +164,9 @@
var/static/list/light_eas
+ /// Whether this light fixture is currently turning on
+ VAR_PRIVATE/turning_on = FALSE
+
/obj/machinery/light/vox
name = "alien light"
icon_state = "voxlight"
@@ -186,6 +193,9 @@
desc = "Light is almost the same as sunlight."
light_type = /obj/item/light/tube/quartz
+/obj/machinery/light/nobreak
+ light_type = /obj/item/light/tube/nobreak
+
// the smaller bulb light fixture
/obj/machinery/light/small
icon_state = "bulb1"
@@ -353,18 +363,19 @@
update(FALSE)
// examine verb
-/obj/machinery/light/_examine_text(mob/user)
+/obj/machinery/light/examine(mob/user, infix)
. = ..()
+
var/fitting = get_fitting_name()
switch(get_status())
if(LIGHT_OK)
- . += "\nIt is turned [on ? "on" : "off"]."
+ . += "It is turned [on ? "on" : "off"]."
if(LIGHT_EMPTY)
- . += "\nThe [fitting] has been removed."
+ . += "The [fitting] has been removed."
if(LIGHT_BURNED)
- . += "\nThe [fitting] is burnt out."
+ . += "The [fitting] is burnt out."
if(LIGHT_BROKEN)
- . += "\nThe [fitting] has been smashed."
+ . += "The [fitting] has been smashed."
/obj/machinery/light/proc/get_fitting_name()
var/obj/item/light/L = light_type
@@ -499,14 +510,35 @@
on = FALSE
if(on)
+ if(turning_on)
+ return
+
change_power_consumption((light_outer_range * light_max_bright) * LIGHTING_POWER_FACTOR, POWER_USE_ACTIVE)
update_use_power(POWER_USE_ACTIVE)
- lightbulb.switch_on()
+ turning_on = TRUE
+ set_next_think(world.time + rand(LIGHT_ON_DELAY_LOWER, LIGHT_ON_DELAY_UPPER))
+ return
else
update_use_power(POWER_USE_IDLE)
update_icon()
+/obj/machinery/light/think()
+ if(!on || QDELETED(src) || QDELETED(lightbulb))
+ turning_on = FALSE
+ return
+
+ switch(get_status())
+ if(LIGHT_BROKEN, LIGHT_BURNED, LIGHT_EMPTY)
+ turning_on = FALSE
+ return
+
+ turning_on = FALSE
+ update_icon()
+ lightbulb.switch_on()
+ if(prob(15))
+ flicker(rand(1, 3))
+
/obj/machinery/light/proc/flicker(amount = rand(10, 20))
set waitfor = FALSE
@@ -691,6 +723,7 @@
var/list/lighting_modes = list()
var/sound_on
+ var/sound_on_volume
var/random_tone = FALSE
var/tone_overlay = TRUE
var/list/random_tone_options = list(
@@ -718,8 +751,14 @@
LIGHTMODE_ALARM = list(l_max_bright = 1.0, l_inner_range = 1, l_outer_range = 7, l_falloff_curve = 3.5, l_color = "#ff3333"),
LIGHTMODE_RADSTORM = list(l_max_bright = 0.85, l_inner_range = 1, l_outer_range = 7, l_falloff_curve = 3.5, l_color = "#8A9929")
)
- sound_on = 'sound/machines/lightson.ogg'
+
random_tone = TRUE
+ sound_on = SFX_LIGHT_TUBE_ON
+ sound_on_volume = 50
+
+/obj/item/light/tube/nobreak // For mapping's sake
+ desc = "A replacement light tube. This one seems to wield some extra quality."
+ broken_chance = 0
/obj/item/light/tube/large
w_class = ITEM_SIZE_SMALL
@@ -768,6 +807,8 @@
LIGHTMODE_RADSTORM = list(l_max_bright = 0.7, l_inner_range = 0.5, l_outer_range = 4, l_falloff_curve = 4.5, l_color = "#8A9929")
)
random_tone = TRUE
+ sound_on = SFX_LIGHT_BULB_ON
+ sound_on_volume = 75
/obj/item/light/bulb/he
name = "high efficiency light bulb"
@@ -843,13 +884,14 @@
L.update(FALSE)
return ..()
-/obj/item/light/_examine_text(mob/user)
+/obj/item/light/examine(mob/user, infix)
. = ..()
+
switch(status)
if(LIGHT_BURNED)
- . += "\nIt appears to be burnt-out."
+ . += "It appears to be burnt-out."
if(LIGHT_BROKEN)
- . += "\nIt's broken."
+ . += "It's broken."
// update the icon state and description of the light
/obj/item/light/on_update_icon()
@@ -923,6 +965,10 @@
status = LIGHT_BROKEN
else if(prob(min(60, switchcount*switchcount*0.01)))
status = LIGHT_BURNED
+ playsound(src, GET_SFX(SFX_LIGHT_BURNOUT), 80, TRUE)
else if(sound_on)
- playsound(src, sound_on, 75)
+ playsound(src, GET_SFX(sound_on), sound_on_volume)
return status
+
+#undef LIGHT_ON_DELAY_UPPER
+#undef LIGHT_ON_DELAY_LOWER
diff --git a/code/modules/power/pacman2.dm b/code/modules/power/pacman2.dm
index fbc69c1b6fb..743fe3c1511 100644
--- a/code/modules/power/pacman2.dm
+++ b/code/modules/power/pacman2.dm
@@ -50,9 +50,9 @@
temp_rating += SP.rating
power_gen = round(initial(power_gen) * (max(2, temp_rating) / 2))
- _examine_text(mob/user)
- . = ..(user)
- to_chat(user, SPAN_NOTICE("\The [src] has [P.air_contents.plasma] units of fuel left, producing [power_gen] per cycle."))
+ examine(mob/user)
+ . = ..()
+ . += SPAN_NOTICE("\The [src] has [P.air_contents.plasma] units of fuel left, producing [power_gen] per cycle.")
handleInactive()
heat -= 2
if (heat < 0)
diff --git a/code/modules/power/pedal_gen.dm b/code/modules/power/pedal_gen.dm
index 76f7e16b82e..49641c90a06 100644
--- a/code/modules/power/pedal_gen.dm
+++ b/code/modules/power/pedal_gen.dm
@@ -36,12 +36,13 @@
generator.forceMove(loc)
generator.connect_to_network()
-/obj/structure/bed/chair/pedalgen/_examine_text(mob/user)
+/obj/structure/bed/chair/pedalgen/examine(mob/user, infix)
. = ..()
+
if(generator.raw_power > 0)
- . += "\nIt has [generator.raw_power] raw power stored, it generates [generator.raw_power > 10 ? "20" : "10" ]kW!"
+ . += "It has [generator.raw_power] raw power stored, it generates [generator.raw_power > 10 ? "20" : "10" ]kW!"
else
- . += "\nGenerator stands still. Someone need to pedal that thing."
+ . += "Generator stands still. Someone need to pedal that thing."
/obj/structure/bed/chair/pedalgen/attackby(obj/item/W, mob/user)
if(isWrench(W))
@@ -107,17 +108,29 @@
if(!pedaled)
pedal(user)
-/obj/structure/bed/chair/pedalgen/Move(NewLoc)
+/obj/structure/bed/chair/pedalgen/Move(newloc, direct)
. = ..()
- if(buckled_mob)
- if(buckled_mob.buckled == src)
- buckled_mob.forceMove(loc)
- update_mob(buckled_mob)
+ if(!.)
+ return
+
+ if(buckled_mob?.buckled == src)
+ buckled_mob.forceMove(loc)
+ update_mob(buckled_mob)
/obj/structure/bed/chair/pedalgen/post_buckle_mob(mob/user)
update_mob(user, 1)
-/obj/structure/bed/chair/pedalgen/rotate()
+/obj/structure/bed/chair/pedalgen/rotate(mob/user)
+ ..()
+ if(dir == SOUTH)
+ layer = FLY_LAYER
+ else
+ layer = OBJ_LAYER
+
+ if(buckled_mob)
+ update_mob(buckled_mob)
+
+/obj/structure/bed/chair/pedalgen/rotate_counter(mob/user)
..()
if(dir == SOUTH)
layer = FLY_LAYER
@@ -125,9 +138,6 @@
layer = OBJ_LAYER
if(buckled_mob)
- if(buckled_mob.loc != loc)
- buckled_mob.buckled = null //Temporary, so Move() succeeds.
- buckled_mob.buckled = src //Restoring
update_mob(buckled_mob)
/obj/structure/bed/chair/pedalgen/on_update_icon()
diff --git a/code/modules/power/port_gen.dm b/code/modules/power/port_gen.dm
index 3c339f866e1..8fd8b466bc5 100644
--- a/code/modules/power/port_gen.dm
+++ b/code/modules/power/port_gen.dm
@@ -54,14 +54,16 @@
to_chat(user, SPAN_WARNING("The generator needs to be secured first."))
return
-/obj/machinery/power/port_gen/_examine_text(mob/user)
+/obj/machinery/power/port_gen/examine(mob/user, infix)
. = ..()
+
if(get_dist(src, user) > 1)
return
+
if(active)
- . += "\n[SPAN_NOTICE("\The [src] is on.")]"
+ . += SPAN_NOTICE("\The [src] is on.")
else
- . += "\n[SPAN_NOTICE("\The [src] is off.")]"
+ . += SPAN_NOTICE("\The [src] is off.")
/obj/machinery/power/port_gen/emp_act(severity)
if(!active)
@@ -154,14 +156,17 @@
power_gen = round(initial(power_gen) * (max(2, temp_rating) / 2))
-/obj/machinery/power/port_gen/pacman/_examine_text(mob/user)
+/obj/machinery/power/port_gen/pacman/examine(mob/user, infix)
. = ..()
- . += "\n\The [src] appears to be producing [power_gen*power_output] W."
- . += "\nThere [sheets == 1 ? "is" : "are"] [sheets] sheet\s left in the hopper."
+
+ . += "\The [src] appears to be producing [power_gen*power_output] W."
+ . += "There [sheets == 1 ? "is" : "are"] [sheets] sheet\s left in the hopper."
+
if(IsBroken())
- . += "\n[SPAN_WARNING("\The [src] seems to have broken down.")]"
+ . += SPAN_WARNING("\The [src] seems to have broken down.")
+
if(overheating)
- . += "\n[SPAN_DANGER("\The [src] is overheating!")]"
+ . += SPAN_DANGER("\The [src] is overheating!")
/obj/machinery/power/port_gen/pacman/HasFuel()
var/needed_sheets = power_output / time_per_sheet
@@ -454,9 +459,9 @@
create_reagents(120)
..()
-/obj/machinery/power/port_gen/pacman/super/potato/_examine_text(mob/user)
+/obj/machinery/power/port_gen/pacman/super/potato/examine(mob/user, infix)
. = ..()
- . += "\nAuxilary tank shows [reagents.total_volume]u of liquid in it."
+ . += "Auxilary tank shows [reagents.total_volume]u of liquid in it."
/obj/machinery/power/port_gen/pacman/super/potato/UseFuel()
if(reagents.has_reagent("vodka"))
diff --git a/code/modules/power/power_usage.dm b/code/modules/power/power_usage.dm
index 3589a468f9f..4bbaadccf5a 100644
--- a/code/modules/power/power_usage.dm
+++ b/code/modules/power/power_usage.dm
@@ -73,9 +73,12 @@ This is /obj/machinery level code to properly manage power usage from the area.
return ..()
-/obj/machinery/Move(NewLoc)
+/obj/machinery/Move(newloc, direct)
var/atom/OldLoc = loc
. = ..()
+ if(!.)
+ return
+
update_power_on_move(OldLoc, loc)
/obj/machinery/proc/update_power_on_move(atom/old_loc, atom/new_loc)
diff --git a/code/modules/power/singularity/collector.dm b/code/modules/power/singularity/collector.dm
index d56c8935183..8f3aa309f4f 100644
--- a/code/modules/power/singularity/collector.dm
+++ b/code/modules/power/singularity/collector.dm
@@ -129,16 +129,21 @@ var/global/list/rad_collectors = list()
return 1
return ..()
-/obj/machinery/power/rad_collector/_examine_text(mob/user, distance)
+/obj/machinery/power/rad_collector/examine(mob/user, infix)
. = ..()
- if (distance <= 3 && !(stat & BROKEN))
- . += "\nSensor readings:"
- . += "\nPower rate: [fmt_siunit(last_power, "W/s", 3)]"
- if(P?.air_contents)
- . += "\nTank temperature: [P.air_contents.temperature]K"
- else
- . += "\nTank temperature: N/A"
- . += "\nEntropy drift: [last_temp_dif] K/s"
+
+ if(get_dist(user, src) > 3 || (stat & BROKEN))
+ return
+
+ . += "Sensor readings:"
+ . += "Power rate: [fmt_siunit(last_power, "W/s", 3)]"
+
+ if(P?.air_contents)
+ . += "Tank temperature: [P.air_contents.temperature]K"
+ else
+ . += "Tank temperature: N/A"
+
+ . += "Entropy drift: [last_temp_dif] K/s"
/obj/machinery/power/rad_collector/ex_act(severity)
switch(severity)
diff --git a/code/modules/power/singularity/emitter.dm b/code/modules/power/singularity/emitter.dm
index e7a079ac48c..cb673e2c8a6 100644
--- a/code/modules/power/singularity/emitter.dm
+++ b/code/modules/power/singularity/emitter.dm
@@ -10,6 +10,7 @@
icon_state = "emitter"
anchored = 0
density = 1
+ obj_flags = OBJ_FLAG_ANCHOR_BLOCKS_ROTATION
req_access = list(access_engine_equip)
rad_resist = list(
RADIATION_ALPHA_PARTICLE = 0,
@@ -40,20 +41,6 @@
anchored = 1
state = 2
-/obj/machinery/power/emitter/verb/rotate()
- set name = "Rotate"
- set category = "Object"
- set src in oview(1)
-
- if(usr.incapacitated())
- return
-
- if(anchored)
- to_chat(usr, "It is fastened to the floor!")
- return 0
- set_dir(turn(dir, 90))
- return 1
-
/obj/machinery/power/emitter/Initialize()
. = ..()
if(state == 2 && anchored)
@@ -61,6 +48,8 @@
if(_wifi_id)
wifi_receiver = new(_wifi_id, src)
+ AddElement(/datum/element/simple_rotation)
+
/obj/machinery/power/emitter/Destroy()
log_and_message_admins("deleted \the [src]")
investigate_log("deleted at ([x],[y],[z])","singulo")
@@ -193,31 +182,27 @@
if(0)
to_chat(user, "\The [src] needs to be wrenched to the floor.")
if(1)
- if(WT.remove_fuel(0,user))
- playsound(loc, 'sound/items/Welder2.ogg', 50, 1)
- user.visible_message("[user.name] starts to weld [src] to the floor.", \
+ user.visible_message("[user.name] starts to weld [src] to the floor.", \
"You start to weld [src] to the floor.", \
"You hear welding")
- if(do_after(user,20,src))
- if(!src || !WT.isOn()) return
- state = 2
- to_chat(user, "You weld [src] to the floor.")
- connect_to_network()
- else
- to_chat(user, "You need more welding fuel to complete this task.")
+ if(WT.use_tool(src, user, delay = 2 SECONDS, amount = 1))
+ if(QDELETED(src) || !user)
+ return
+
+ state = 2
+ to_chat(user, "You weld [src] to the floor.")
+ connect_to_network()
if(2)
- if(WT.remove_fuel(0,user))
- playsound(loc, 'sound/items/Welder2.ogg', 50, 1)
- user.visible_message("[user.name] starts to cut [src] free from the floor.", \
+ user.visible_message("[user.name] starts to cut [src] free from the floor.", \
"You start to cut [src] free from the floor.", \
"You hear welding")
- if(do_after(user,20,src))
- if(!src || !WT.isOn()) return
- state = 1
- to_chat(user, "You cut [src] free from the floor.")
- disconnect_from_network()
- else
- to_chat(user, "You need more welding fuel to complete this task.")
+ if(WT.use_tool(src, user, delay = 2 SECONDS, amount = 1))
+ if(QDELETED(src) || !user)
+ return
+
+ state = 1
+ to_chat(user, "You cut [src] free from the floor.")
+ disconnect_from_network()
return
if(istype(W, /obj/item/card/id) || istype(W, /obj/item/device/pda))
diff --git a/code/modules/power/singularity/field_generator.dm b/code/modules/power/singularity/field_generator.dm
index 468db24da4b..b10922eae47 100644
--- a/code/modules/power/singularity/field_generator.dm
+++ b/code/modules/power/singularity/field_generator.dm
@@ -126,29 +126,31 @@ field_generator power level display
to_chat(user, "The [src.name] needs to be wrenched to the floor.")
return
if(1)
- if (WT.remove_fuel(0,user))
- playsound(src.loc, 'sound/items/Welder2.ogg', 50, 1)
- user.visible_message("[user.name] starts to weld the [src.name] to the floor.", \
- "You start to weld the [src] to the floor.", \
- "You hear welding")
- if (do_after(user,20,src))
- if(!src || !WT.isOn()) return
- state = 2
- to_chat(user, "You weld the field generator to the floor.")
- else
+ user.visible_message("[user.name] starts to weld the [src.name] to the floor.", \
+ "You start to weld the [src] to the floor.", \
+ "You hear welding")
+ if(!WT.use_tool(src, user, delay = 2 SECONDS, amount = 1))
return
+
+ if(QDELETED(src) || !user)
+ return
+
+ state = 2
+ to_chat(user, "You weld the field generator to the floor.")
+ return
if(2)
- if (WT.remove_fuel(0,user))
- playsound(src.loc, 'sound/items/Welder2.ogg', 50, 1)
- user.visible_message("[user.name] starts to cut the [src.name] free from the floor.", \
- "You start to cut the [src] free from the floor.", \
- "You hear welding")
- if (do_after(user,20,src))
- if(!src || !WT.isOn()) return
- state = 1
- to_chat(user, "You cut the [src] free from the floor.")
- else
+ user.visible_message("[user.name] starts to cut the [src.name] free from the floor.", \
+ "You start to cut the [src] free from the floor.", \
+ "You hear welding")
+ if(!WT.use_tool(src, user, delay = 2 SECONDS, amount = 1))
return
+
+ if(QDELETED(src) || !user)
+ return
+
+ state = 1
+ to_chat(user, "You cut the [src] free from the floor.")
+ return
else
..()
return
diff --git a/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm b/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm
index da176a44750..f1ed3a88b04 100644
--- a/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm
+++ b/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm
@@ -65,6 +65,7 @@ So, hopefully this is helpful if any more icons are to be added/changed/wonderin
icon_state = "none"
anchored = 0
density = 1
+ obj_flags = OBJ_FLAG_ANCHOR_BLOCKS_ROTATION
var/obj/machinery/particle_accelerator/control_box/master = null
var/construction_state = 0
var/reference = null
@@ -72,6 +73,11 @@ So, hopefully this is helpful if any more icons are to be added/changed/wonderin
var/strength = null
var/desc_holder = null
+/obj/structure/particle_accelerator/Initialize()
+ . = ..()
+
+ AddElement(/datum/element/simple_rotation)
+
/obj/structure/particle_accelerator/Destroy()
construction_state = 0
if(master)
@@ -88,30 +94,7 @@ So, hopefully this is helpful if any more icons are to be added/changed/wonderin
..()
return
-
-/obj/structure/particle_accelerator/verb/rotate()
- set name = "Rotate Clockwise"
- set category = "Object"
- set src in oview(1)
-
- if (src.anchored || usr:stat)
- to_chat(usr, "It is fastened to the floor!")
- return 0
- src.set_dir(turn(src.dir, 270))
- return 1
-
-/obj/structure/particle_accelerator/verb/rotateccw()
- set name = "Rotate Counter Clockwise"
- set category = "Object"
- set src in oview(1)
-
- if (src.anchored || usr:stat)
- to_chat(usr, "It is fastened to the floor!")
- return 0
- src.set_dir(turn(src.dir, 90))
- return 1
-
-/obj/structure/particle_accelerator/_examine_text(mob/user)
+/obj/structure/particle_accelerator/examine(mob/user, infix)
switch(src.construction_state)
if(0)
src.desc = text("A [name], looks like it's not attached to the flooring")
@@ -124,8 +107,6 @@ So, hopefully this is helpful if any more icons are to be added/changed/wonderin
if(powered)
src.desc = src.desc_holder
. = ..()
- return
-
/obj/structure/particle_accelerator/attackby(obj/item/W, mob/user)
if(istool(W))
@@ -255,6 +236,7 @@ So, hopefully this is helpful if any more icons are to be added/changed/wonderin
icon_state = "none"
anchored = 0
density = 1
+ obj_flags = OBJ_FLAG_ANCHOR_BLOCKS_ROTATION
use_power = POWER_USE_OFF
idle_power_usage = 0 WATTS
active_power_usage = 0 WATTS
@@ -265,33 +247,15 @@ So, hopefully this is helpful if any more icons are to be added/changed/wonderin
var/strength = 0
var/desc_holder = null
+/obj/machinery/particle_accelerator/Initialize()
+ . = ..()
-/obj/machinery/particle_accelerator/verb/rotate()
- set name = "Rotate Clockwise"
- set category = "Object"
- set src in oview(1)
-
- if (src.anchored || usr:stat)
- to_chat(usr, "It is fastened to the floor!")
- return 0
- src.set_dir(turn(src.dir, 270))
- return 1
-
-/obj/machinery/particle_accelerator/verb/rotateccw()
- set name = "Rotate Counter-Clockwise"
- set category = "Object"
- set src in oview(1)
-
- if (src.anchored || usr:stat)
- to_chat(usr, "It is fastened to the floor!")
- return 0
- src.set_dir(turn(src.dir, 90))
- return 1
+ AddElement(/datum/element/simple_rotation)
/obj/machinery/particle_accelerator/on_update_icon()
return
-/obj/machinery/particle_accelerator/_examine_text(mob/user)
+/obj/machinery/particle_accelerator/examine(mob/user, infix)
switch(src.construction_state)
if(0)
src.desc = text("A [name], looks like it's not attached to the flooring")
@@ -304,7 +268,6 @@ So, hopefully this is helpful if any more icons are to be added/changed/wonderin
if(powered)
src.desc = src.desc_holder
. = ..()
- return
/obj/machinery/particle_accelerator/attackby(obj/item/W, mob/user)
diff --git a/code/modules/power/smes.dm b/code/modules/power/smes.dm
index 11797bea5fc..63c9f5d9f06 100644
--- a/code/modules/power/smes.dm
+++ b/code/modules/power/smes.dm
@@ -128,7 +128,7 @@
set_light(0)
return
- var/clevel = chargedisplay()
+ var/clevel = min(chargedisplay(), 5)
if(clevel)
AddOverlays(status_overlays_charge[clevel])
AddOverlays(overlight_overlays_charge[clevel])
@@ -335,16 +335,20 @@
if(isWelder(W))
var/obj/item/weldingtool/WT = W
- if(!WT.isOn())
- to_chat(user, "Turn on \the [WT] first!")
- return 0
if(!damage)
to_chat(user, "\The [src] is already fully repaired.")
- return 0
- if(WT.remove_fuel(0,user) && do_after(user, damage, src))
- to_chat(user, "You repair all structural damage to \the [src]")
- damage = 0
- return 0
+ return
+
+ if(!WT.use_tool(src, user, delay = damage, amount = 5))
+ return
+
+ if(QDELETED(src) || !user)
+ return
+
+ to_chat(user, "You repair all structural damage to \the [src]")
+ damage = 0
+ return
+
else if(isWirecutter(W) && !building_terminal)
building_terminal = 1
var/obj/machinery/power/terminal/term
@@ -525,21 +529,24 @@
if(3)
take_damage(rand(50, 100))
-/obj/machinery/power/smes/_examine_text(mob/user)
+/obj/machinery/power/smes/examine(mob/user, infix)
. = ..()
- . += "\nThe service hatch is [panel_open ? "open" : "closed"]."
+
+ . += "The service hatch is [panel_open ? "open" : "closed"]."
+
if(!damage)
return
+
var/damage_percentage = round((damage / maxdamage) * 100)
switch(damage_percentage)
if(75 to INFINITY)
- . += "\nIt's casing is severely damaged, and sparking circuitry may be seen through the holes!"
+ . += SPAN_DANGER("It's casing is severely damaged, and sparking circuitry may be seen through the holes!")
if(50 to 74)
- . += "\nIt's casing is considerably damaged, and some of the internal circuits appear to be exposed!"
+ . += SPAN_NOTICE("It's casing is considerably damaged, and some of the internal circuits appear to be exposed!")
if(25 to 49)
- . += "\nIt's casing is quite seriously damaged."
+ . += SPAN_NOTICE("It's casing is quite seriously damaged.")
if(0 to 24)
- . += "\nIt's casing has some minor damage."
+ . += "It's casing has some minor damage."
#define OVERLIGHT_IMAGE(a, b) a=image(icon, b); a.alpha=128; a.plane = EFFECTS_ABOVE_LIGHTING_PLANE; a.layer = ABOVE_LIGHTING_LAYER;
/obj/machinery/power/smes/proc/generate_overlays()
@@ -587,3 +594,26 @@
OVERLIGHT_IMAGE(overlight_overlays_outputting[2], "overlight_smes-op1")
OVERLIGHT_IMAGE(overlight_overlays_outputting[3], "overlight_smes-op2")
#undef OVERLIGHT_IMAGE
+
+/obj/machinery/power/smes/magical
+ name = "quantum power unit"
+ desc = "An archotech power relay, tuned to recieve energy from some distand source."
+ should_be_mapped = TRUE
+
+/obj/machinery/power/smes/magical/Initialize()
+ . = ..()
+ charge = capacity
+ input_attempt = TRUE
+ output_attempt = TRUE
+ input_level = input_level_max
+ output_level = output_level_max
+
+// Magic
+/obj/machinery/power/smes/magical/add_charge(amount)
+ charge = capacity
+
+/obj/machinery/power/smes/magical/remove_charge(amount)
+ charge = capacity
+
+/obj/machinery/power/smes/magical/emp_act(severity)
+ return FALSE
diff --git a/code/modules/power/solar.dm b/code/modules/power/solar.dm
index a8ae51e01d5..f6e5cfaa15b 100644
--- a/code/modules/power/solar.dm
+++ b/code/modules/power/solar.dm
@@ -225,7 +225,7 @@ var/list/solars_list = list()
/obj/item/solar_assembly/attackby(obj/item/W, mob/user)
if(!tracker)
- if(istype(W, /obj/item/tracker_electronics) && user.drop(W))
+ if(istype(W, /obj/item/tracker_electronics) && user.drop(W, src))
tracker = 1
user.visible_message("[user] inserts the electronics into the solar assembly.")
return 1
@@ -533,7 +533,11 @@ var/list/solars_list = list()
/obj/machinery/power/solar_control/autostart/Initialize()
. = ..()
- addtimer(CALLBACK(src, nameof(.proc/autoconnect)), 0)
+ return INITIALIZE_HINT_LATELOAD
+
+/obj/machinery/power/solar_control/autostart/LateInitialize()
+ . = ..()
+ autoconnect()
/obj/machinery/power/solar_control/autostart/proc/autoconnect()
search_for_connected()
diff --git a/code/modules/projectiles/ammunition.dm b/code/modules/projectiles/ammunition.dm
index b2e985b4583..3edc14e5633 100644
--- a/code/modules/projectiles/ammunition.dm
+++ b/code/modules/projectiles/ammunition.dm
@@ -86,12 +86,14 @@
if(spent_icon && is_spent)
icon_state = spent_icon
-/obj/item/ammo_casing/_examine_text(mob/user)
+/obj/item/ammo_casing/examine(mob/user, infix)
. = ..()
+
if(caliber)
- . += "\nIts caliber is [caliber]."
+ . += "Its caliber is [caliber]."
+
if(is_spent)
- . += "\nThis one is spent."
+ . += "This one is spent."
//Gun loading types
#define SINGLE_CASING 1 //The gun only accepts ammo_casings. ammo_magazines should never have this as their mag_type.
@@ -203,10 +205,11 @@
break
icon_state = (new_state)? new_state : initial(icon_state)
-/obj/item/ammo_magazine/_examine_text(mob/user)
+/obj/item/ammo_magazine/examine(mob/user, infix)
. = ..()
+
if(display_default_ammo_left)
- . += "\nThere [(stored_ammo.len == 1)? "is" : "are"] [stored_ammo.len] round\s left!"
+ . += "There [(stored_ammo.len == 1)? "is" : "are"] [stored_ammo.len] round\s left!"
//magazine icon state caching
/var/global/list/magazine_icondata_keys = list()
diff --git a/code/modules/projectiles/ammunition/boxes.dm b/code/modules/projectiles/ammunition/boxes.dm
index 60d83e93690..c21b290ec69 100644
--- a/code/modules/projectiles/ammunition/boxes.dm
+++ b/code/modules/projectiles/ammunition/boxes.dm
@@ -325,7 +325,7 @@
dat += "It has [ammo_left] [mode["mode_name"]] charge[ammo_left != 1 ? "s" : ""] left.\n"
return SPAN("info", dat)
-/obj/item/ammo_magazine/lawgiver/_examine_text(mob/user)
+/obj/item/ammo_magazine/lawgiver/examine(mob/user, infix)
. = ..()
. += generate_description()
diff --git a/code/modules/projectiles/ammunition/magnetic.dm b/code/modules/projectiles/ammunition/magnetic.dm
index b367b987c26..1872f425719 100644
--- a/code/modules/projectiles/ammunition/magnetic.dm
+++ b/code/modules/projectiles/ammunition/magnetic.dm
@@ -8,6 +8,6 @@
origin_tech = list(TECH_COMBAT = 1)
var/remaining = 9
-/obj/item/magnetic_ammo/_examine_text(mob/user)
+/obj/item/magnetic_ammo/ex_act(severity)
. = ..()
- . += "\nThere [(remaining == 1)? "is" : "are"] [remaining] flechette\s left!"
+ . += "There [(remaining == 1)? "is" : "are"] [remaining] flechette\s left!"
diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm
index c2d51e89b00..8967dbb59d1 100644
--- a/code/modules/projectiles/gun.dm
+++ b/code/modules/projectiles/gun.dm
@@ -91,7 +91,7 @@
var/autofire_enabled = FALSE
var/atom/autofiring_at
var/mob/autofiring_by
- var/autofiring_timer
+ var/already_autofiring = FALSE
drop_sound = SFX_DROP_GUN
pickup_sound = SFX_PICKUP_GUN
@@ -107,6 +107,8 @@
if(config.misc.toogle_gun_safety)
verbs |= /obj/item/gun/proc/toggle_safety_verb
+ add_think_ctx("autofire_context", CALLBACK(src, nameof(.proc/handle_autofire)), 0)
+
/obj/item/gun/Destroy()
// autofire timer is automatically cleaned up
autofiring_at = null
@@ -127,17 +129,17 @@
if(.)
autofiring_at = fire_at
autofiring_by = fire_by
- if(!autofiring_timer)
- autofiring_timer = addtimer(CALLBACK(src, nameof(.proc/handle_autofire)), burst_delay, (TIMER_STOPPABLE | TIMER_LOOP | TIMER_UNIQUE | TIMER_OVERRIDE))
+ if(!already_autofiring)
+ already_autofiring = TRUE
+ set_next_think_ctx("autofire_context", world.time + burst_delay)
else
clear_autofire()
/obj/item/gun/proc/clear_autofire()
autofiring_at = null
autofiring_by = null
- if(autofiring_timer)
- deltimer(autofiring_timer)
- autofiring_timer = null
+ already_autofiring = FALSE
+ set_next_think_ctx("autofire_context", 0)
/obj/item/gun/proc/handle_autofire()
set waitfor = FALSE
@@ -153,6 +155,7 @@
else if(can_autofire())
autofiring_by.set_dir(get_dir(src, autofiring_at))
Fire(autofiring_at, autofiring_by, null, (get_dist(autofiring_at, autofiring_by) <= 1), FALSE, FALSE, target_zone = autofiring_by.zone_sel?.selecting)
+ set_next_think_ctx("autofire_context", world.time + burst_delay)
/obj/item/gun/update_twohanding()
if(one_hand_penalty)
@@ -166,9 +169,11 @@
if(M.can_wield_item(src) && is_held_twohanded(M))
item_state_slots[slot_l_hand_str] = wielded_item_state
item_state_slots[slot_r_hand_str] = wielded_item_state
+ improper_held_icon = TRUE
else
item_state_slots[slot_l_hand_str] = initial(item_state)
item_state_slots[slot_r_hand_str] = initial(item_state)
+ improper_held_icon = FALSE
update_held_icon()
/obj/item/gun/equipped(mob/living/user, slot)
@@ -621,13 +626,15 @@
accuracy = initial(accuracy)
screen_shake = initial(screen_shake)
-/obj/item/gun/_examine_text(mob/user)
+/obj/item/gun/examine(mob/user, infix)
. = ..()
+
if(firemodes.len > 1)
var/datum/firemode/current_mode = firemodes[sel_mode]
- . += "\nThe fire selector is set to [current_mode.name]."
+ . += "The fire selector is set to [current_mode.name]."
+
if(config.misc.toogle_gun_safety && has_safety)
- . += "\nThe safety is [safety() ? "on" : "off"]"
+ . += "The safety is [safety() ? "on" : "off"]"
// (re)Setting firemodes from the given list
/obj/item/gun/proc/set_firemodes(list/_firemodes = null)
diff --git a/code/modules/projectiles/guns/energy.dm b/code/modules/projectiles/guns/energy.dm
index e65ab7eaec4..acffac06514 100644
--- a/code/modules/projectiles/guns/energy.dm
+++ b/code/modules/projectiles/guns/energy.dm
@@ -101,9 +101,9 @@ GLOBAL_LIST_INIT(registered_weapons, list())
return suit.cell
return null
-/obj/item/gun/energy/_examine_text(mob/user)
+/obj/item/gun/energy/examine(mob/user, infix)
. = ..()
- . += "\nHas [power_supply ? round(power_supply.charge / charge_cost) : "0"] shot\s remaining."
+ . += "Has [power_supply ? round(power_supply.charge / charge_cost) : "0"] shot\s remaining."
/obj/item/gun/energy/on_update_icon()
if(charge_meter)
@@ -210,11 +210,11 @@ GLOBAL_LIST_INIT(registered_weapons, list())
return new_mode
-/obj/item/gun/energy/secure/_examine_text(mob/user)
+/obj/item/gun/energy/secure/examine(mob/user, infix)
. = ..()
if(registered_owner)
- . += "\nA small screen on the side of the weapon indicates that it is registered to [registered_owner]."
+ . += "A small screen on the side of the weapon indicates that it is registered to [registered_owner]."
/obj/item/gun/energy/secure/proc/get_next_authorized_mode()
. = sel_mode
diff --git a/code/modules/projectiles/guns/energy/accelerator.dm b/code/modules/projectiles/guns/energy/accelerator.dm
index 94729b11ffc..0afe926f82d 100644
--- a/code/modules/projectiles/guns/energy/accelerator.dm
+++ b/code/modules/projectiles/guns/energy/accelerator.dm
@@ -3,6 +3,7 @@
desc = "A NanoTrasen UPA \"Shepherd\". It synthesizes unstable particles and accelerates them, effectively shooting \"temporary\" bullets without using any ammunition besides electric power."
icon_state = "phazer"
item_state = "phazer"
+ improper_held_icon = TRUE
wielded_item_state = "phazer-wielded"
icon_rounder = 20
screen_shake = 1
@@ -47,6 +48,7 @@
desc = "An experimental NanoTrasen UPA \"Wingman\", based on the famous VP78. While being almost just as powerful as its larger counterpart, it is as small as a regular pistol."
icon_state = "phazer_pistol"
item_state = "vp78"
+ improper_held_icon = FALSE
w_class = ITEM_SIZE_NORMAL
slot_flags = SLOT_BELT|SLOT_HOLSTER
one_hand_penalty = 0
diff --git a/code/modules/projectiles/guns/energy/energy.dm b/code/modules/projectiles/guns/energy/energy.dm
index 6a008117345..59115bdf512 100644
--- a/code/modules/projectiles/guns/energy/energy.dm
+++ b/code/modules/projectiles/guns/energy/energy.dm
@@ -144,13 +144,14 @@
else if(fail_counter > 15)
to_chat(loc, SPAN("warning", "\The [src] feels pleasantly warm."))
-/obj/item/gun/energy/gun/nuclear/_examine_text(mob/user)
+/obj/item/gun/energy/gun/nuclear/examine(mob/user, infix)
. = ..()
+
if(. && user.Adjacent(src))
if(fail_counter > 30)
- . += "\n[SPAN("danger", "It feels burning hot!")]"
+ . += SPAN("danger", "It feels burning hot!")
else if(fail_counter > 15)
- . += "\n[SPAN("warning", "It feels pleasantly warm.")]"
+ . += SPAN("warning", "It feels pleasantly warm.")
/obj/item/gun/energy/gun/nuclear/proc/get_charge_overlay()
var/ratio = CELL_PERCENT(power_supply)
@@ -228,6 +229,7 @@
icon_state = "eriflestun"
item_state = "erifle"
modifystate = "eriflestun"
+ improper_held_icon = TRUE
slot_flags = SLOT_BELT|SLOT_BACK
w_class = ITEM_SIZE_LARGE
force = 12.5
@@ -264,9 +266,11 @@
if(M.can_wield_item(src) && is_held_twohanded(M))
item_state_slots[slot_l_hand_str] = "[modifystate][ratio]-wielded"
item_state_slots[slot_r_hand_str] = "[modifystate][ratio]-wielded"
+ improper_held_icon = TRUE
else
item_state_slots[slot_l_hand_str] = "[modifystate][ratio]"
item_state_slots[slot_r_hand_str] = "[modifystate][ratio]"
+ improper_held_icon = FALSE
update_held_icon()
/obj/item/gun/energy/rifle/cheap
diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm
index 19feabc1806..01e482dc5ec 100644
--- a/code/modules/projectiles/guns/energy/laser.dm
+++ b/code/modules/projectiles/guns/energy/laser.dm
@@ -3,6 +3,7 @@
desc = "A NanoTrasen G40E rifle, designed to kill with concentrated energy blasts."
icon_state = "laser"
item_state = "laserrifle"
+ improper_held_icon = TRUE
slot_flags = SLOT_BACK
w_class = ITEM_SIZE_HUGE
force = 12.5
@@ -54,6 +55,7 @@
desc = "A NanoTrasen LP \"Arclight\", a combat laser pistol. Not as powerful as a laser rifle, it is much smaller and capable of shooting much more rapidly."
icon_state = "laser_pistol"
item_state = "laser"
+ improper_held_icon = FALSE
w_class = ITEM_SIZE_NORMAL
slot_flags = SLOT_BELT|SLOT_HOLSTER
one_hand_penalty = 0
@@ -141,6 +143,7 @@
desc = "With the laser cannon, the lasing medium is enclosed in a tube lined with uranium-235 and subjected to high neutron flux in a nuclear reactor core. This incredible technology may help YOU achieve high excitation rates with small laser volumes!"
icon_state = "lasercannon"
item_state = null
+ improper_held_icon = TRUE
origin_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 3, TECH_POWER = 3)
slot_flags = SLOT_BACK
one_hand_penalty = 6 //large and heavy
@@ -175,6 +178,7 @@
desc = "A high-power laser gun capable of emitting concentrated x-ray blasts, that are able to penetrate laser-resistant armor much more readily than standard photonic beams."
icon_state = "xray"
item_state = "xray"
+ improper_held_icon = TRUE
slot_flags = SLOT_BACK
origin_tech = list(TECH_COMBAT = 5, TECH_MATERIAL = 3, TECH_MAGNET = 2, TECH_ILLEGAL = 2)
projectile_type = /obj/item/projectile/beam/xray/midlaser
@@ -193,6 +197,7 @@
name = "x-ray laser gun"
icon_state = "oldxray"
item_state = "oldxray"
+ improper_held_icon = FALSE
slot_flags = SLOT_BELT|SLOT_HOLSTER
origin_tech = list(TECH_COMBAT = 4, TECH_MATERIAL = 3, TECH_MAGNET = 2, TECH_ILLEGAL = 2)
projectile_type = /obj/item/projectile/beam/xray
@@ -210,6 +215,7 @@
desc = "The HI DMR 9E is an older design of Hephaestus Industries. A designated marksman rifle capable of shooting powerful ionized beams, this is a weapon to kill from a distance."
icon_state = "sniper"
item_state = "laser"
+ improper_held_icon = TRUE
origin_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 5, TECH_POWER = 4)
projectile_type = /obj/item/projectile/beam/sniper
one_hand_penalty = 5 // The weapon itself is heavy, and the long barrel makes it hard to hold steady with just one hand.
diff --git a/code/modules/projectiles/guns/energy/mining.dm b/code/modules/projectiles/guns/energy/mining.dm
index 784ec5744f3..9d7ff93e637 100644
--- a/code/modules/projectiles/guns/energy/mining.dm
+++ b/code/modules/projectiles/guns/energy/mining.dm
@@ -36,13 +36,14 @@
)
power_supply.charge = power_supply.maxcharge
-/obj/item/gun/energy/kinetic_accelerator/_examine_text(mob/user)
+/obj/item/gun/energy/kinetic_accelerator/examine(mob/user, infix)
. = ..()
+
if(max_mod_capacity)
- . += "\n[get_remaining_mod_capacity()]% mod capacity remaining."
+ . += "[get_remaining_mod_capacity()]% mod capacity remaining."
for(var/A in get_modkits())
var/obj/item/borg/upgrade/modkit/M = A
- . += "\nThere is a [M.name] mod installed, using [M.cost]% capacity."
+ . += "There is a [M.name] mod installed, using [M.cost]% capacity."
/obj/item/gun/energy/kinetic_accelerator/attackby(obj/item/A, mob/user)
if(isCrowbar(A))
@@ -134,9 +135,9 @@
var/cost = 30
var/modifier = 1 //For use in any mod kit that has numerical modifiers
-/obj/item/borg/upgrade/modkit/_examine_text(mob/user)
+/obj/item/borg/upgrade/modkit/examine(mob/user, infix)
. = ..()
- . += "\nOccupies [cost]% of mod capacity."
+ . += SPAN_NOTICE("Occupies [cost]% of mod capacity.")
/obj/item/borg/upgrade/modkit/attackby(obj/item/A, mob/user)
if(istype(A, /obj/item/gun/energy/kinetic_accelerator) && !issilicon(user))
diff --git a/code/modules/projectiles/guns/energy/pulse.dm b/code/modules/projectiles/guns/energy/pulse.dm
index d74f67c5e0e..f83fbab5bd7 100644
--- a/code/modules/projectiles/guns/energy/pulse.dm
+++ b/code/modules/projectiles/guns/energy/pulse.dm
@@ -3,6 +3,7 @@
desc = "A weapon that uses advanced pulse-based beam generation technology to emit powerful laser blasts. Because of its complexity and cost, it is rarely seen in use except by specialists."
icon_state = "pulse"
item_state = "pulse"
+ improper_held_icon = TRUE
slot_flags = SLOT_BACK
force = 15.0
mod_weight = 1.25
@@ -36,6 +37,7 @@
name = "pulse pistol"
desc = "A weapon that uses advanced pulse-based beam generation technology to emit powerful laser blasts. Even smaller than the carbine."
icon_state = "pulse_pistol"
+ improper_held_icon = FALSE
slot_flags = SLOT_BELT|SLOT_HOLSTER
force = 8.5
projectile_type = /obj/item/projectile/beam/pulse
diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm
index b084db2227e..622ce10e23f 100644
--- a/code/modules/projectiles/guns/energy/special.dm
+++ b/code/modules/projectiles/guns/energy/special.dm
@@ -3,6 +3,7 @@
desc = "The NT Mk60 EW Halicon is a man portable anti-armor weapon designed to disable mechanical threats, produced by NT. Not the best of its type."
icon_state = "ionrifle"
item_state = "ionrifle"
+ improper_held_icon = TRUE
origin_tech = list(TECH_COMBAT = 2, TECH_MAGNET = 4)
w_class = ITEM_SIZE_HUGE
force = 12.5
@@ -27,6 +28,7 @@
desc = "The NT Mk72 EW Preston is a personal defense weapon designed to disable mechanical threats."
icon_state = "ionpistolonyx"
item_state = "ionpistolonyx"
+ improper_held_icon = FALSE
origin_tech = list(TECH_COMBAT = 2, TECH_MAGNET = 4)
w_class = ITEM_SIZE_NORMAL
force = 8.5
@@ -231,9 +233,9 @@
. = ..()
switch_firemodes()
-/obj/item/gun/energy/plasmacutter/_examine_text(mob/user)
+/obj/item/gun/energy/plasmacutter/examine(mob/user, infix)
. = ..()
- to_chat(user, "It has a recharge port with a capital letter P.")
+ . += "It has a recharge port with a capital letter P."
/obj/item/gun/energy/plasmacutter/attackby(obj/item/stack/material/plasma/W, mob/user)
if(user.stat || user.restrained() || user.lying)
diff --git a/code/modules/projectiles/guns/energy/stun.dm b/code/modules/projectiles/guns/energy/stun.dm
index 3c8b6968aba..a2a6894449e 100644
--- a/code/modules/projectiles/guns/energy/stun.dm
+++ b/code/modules/projectiles/guns/energy/stun.dm
@@ -174,10 +174,11 @@
subtype = decls_repository.get_decl(subtype)
update_subtype()
-/obj/item/gun/energy/security/_examine_text(mob/user)
+/obj/item/gun/energy/security/examine(mob/user, infix)
. = ..()
+
if(owner)
- . += "\nIt is assigned to [owner]."
+ . += "It is assigned to [owner]."
/obj/item/gun/energy/security/proc/update_subtype()
var/decl/taser_types/tt = subtype
diff --git a/code/modules/projectiles/guns/energy/temperature.dm b/code/modules/projectiles/guns/energy/temperature.dm
index 6a80756d95f..e5e33c6418d 100644
--- a/code/modules/projectiles/guns/energy/temperature.dm
+++ b/code/modules/projectiles/guns/energy/temperature.dm
@@ -18,9 +18,9 @@
combustion = 0
-/obj/item/gun/energy/temperature/_examine_text(mob/user)
+/obj/item/gun/energy/temperature/examine(mob/user, infix)
. = ..()
- . += "\nThe temperature sensor shows: [round(CONV_KELVIN_CELSIUS(temperature))]°C"
+ . += "The temperature sensor shows: [round(CONV_KELVIN_CELSIUS(temperature))]°C"
/obj/item/gun/energy/temperature/Initialize()
. = ..()
diff --git a/code/modules/projectiles/guns/flamer.dm b/code/modules/projectiles/guns/flamer.dm
index 3de66b47130..adeaa353e4e 100644
--- a/code/modules/projectiles/guns/flamer.dm
+++ b/code/modules/projectiles/guns/flamer.dm
@@ -6,6 +6,7 @@
icon = 'icons/obj/flamer.dmi'
icon_state = "flamer"
item_state = "flamer"
+ improper_held_icon = TRUE
wielded_item_state = "flamer-wielded"
slot_flags = SLOT_BACK
w_class = ITEM_SIZE_HUGE
@@ -38,30 +39,30 @@
QDEL_NULL_LIST(attached_electronics)
. = ..()
-/obj/item/gun/flamer/_examine_text(mob/user)
+/obj/item/gun/flamer/examine(mob/user, infix)
. = ..()
if(igniter)
- . += "\nIt's turned [lit? "on" : "off"]."
+ . += "It's turned [lit? "on" : "off"]."
else
- . += "\n[SPAN_WARNING("Igniter not installed in [src]!")]"
+ . += SPAN_WARNING("Igniter not installed in [src]!")
if(pressure_tank)
- . += "\nThe pressure tank wrenched into the [src]."
+ . += "The pressure tank wrenched into the [src]."
if(gauge)
if(fuel_tank)
- . += "\nThe fuel tank contains [round(get_fuel())]/[fuel_tank.max_fuel] units of fuel."
+ . += "The fuel tank contains [round(get_fuel())]/[fuel_tank.max_fuel] units of fuel."
else
- . += "\n[SPAN_WARNING("There's no fuel tank in [src]!")]"
+ . += SPAN_WARNING("There's no fuel tank in [src]!")
if(pressure_tank)
- . += "\nThe pressure gauge shows the current tank is [pressure_tank.air_contents.return_pressure()]."
+ . += "The pressure gauge shows the current tank is [pressure_tank.air_contents.return_pressure()]."
else
- . += "\n[SPAN_WARNING("There's no pressure tank in [src]!")]"
+ . += SPAN_WARNING("There's no pressure tank in [src]!")
else
- . += "\n[SPAN_WARNING("Gauge not installed, you have no idea how much fuel left in [src]!")]"
+ . += SPAN_WARNING("Gauge not installed, you have no idea how much fuel left in [src]!")
/obj/item/gun/flamer/on_update_icon()
ClearOverlays()
diff --git a/code/modules/projectiles/guns/launcher/alien.dm b/code/modules/projectiles/guns/launcher/alien.dm
index 2d8013bc922..ded84208c63 100644
--- a/code/modules/projectiles/guns/launcher/alien.dm
+++ b/code/modules/projectiles/guns/launcher/alien.dm
@@ -19,9 +19,9 @@
set_next_think(world.time + 1 SECOND)
-/obj/item/gun/launcher/alien/_examine_text(mob/user)
+/obj/item/gun/launcher/alien/examine(mob/user, infix)
. = ..()
- . += "\nIt has [ammo] [ammo_name]\s remaining."
+ . += "It has [ammo] [ammo_name]\s remaining."
/obj/item/gun/launcher/alien/consume_next_projectile()
if(ammo < 1) return null
diff --git a/code/modules/projectiles/guns/launcher/crossbow.dm b/code/modules/projectiles/guns/launcher/crossbow.dm
index 44d2fba10d0..cfb38c67c76 100644
--- a/code/modules/projectiles/guns/launcher/crossbow.dm
+++ b/code/modules/projectiles/guns/launcher/crossbow.dm
@@ -247,14 +247,15 @@
/obj/item/crossbowframe/on_update_icon()
icon_state = "crossbowframe[buildstate]"
-/obj/item/crossbowframe/_examine_text(mob/user)
+/obj/item/crossbowframe/examine(mob/user, infix)
. = ..()
+
switch(buildstate)
- if(1) . += "\nIt has a loose rod frame in place."
- if(2) . += "\nIt has a steel backbone welded in place."
- if(3) . += "\nIt has a steel backbone and a cell mount installed."
- if(4) . += "\nIt has a steel backbone, plastic lath and a cell mount installed."
- if(5) . += "\nIt has a steel cable loosely strung across the lath."
+ if(1) . += "It has a loose rod frame in place."
+ if(2) . += "It has a steel backbone welded in place."
+ if(3) . += "It has a steel backbone and a cell mount installed."
+ if(4) . += "It has a steel backbone, plastic lath and a cell mount installed."
+ if(5) . += "It has a steel cable loosely strung across the lath."
/obj/item/crossbowframe/attackby(obj/item/W as obj, mob/user as mob)
if(istype(W,/obj/item/stack/rods))
@@ -269,11 +270,11 @@
return
else if(isWelder(W))
if(buildstate == 1)
- var/obj/item/weldingtool/T = W
- if(T.remove_fuel(0,user))
- if(!src || !T.isOn()) return
- playsound(src.loc, 'sound/items/Welder2.ogg', 100, 1)
- to_chat(user, "You weld the rods into place.")
+ var/obj/item/weldingtool/WT = W
+ if(!WT.use_tool(src, user, amount = 1))
+ return
+
+ to_chat(user, "You weld the rods into place.")
buildstate++
update_icon()
return
diff --git a/code/modules/projectiles/guns/launcher/grenade_launcher.dm b/code/modules/projectiles/guns/launcher/grenade_launcher.dm
index efa14723470..28690811e68 100644
--- a/code/modules/projectiles/guns/launcher/grenade_launcher.dm
+++ b/code/modules/projectiles/guns/launcher/grenade_launcher.dm
@@ -47,13 +47,14 @@
to_chat(M, "You pump [src], but the magazine is empty.")
update_icon()
-/obj/item/gun/launcher/grenade/_examine_text(mob/user)
+/obj/item/gun/launcher/grenade/examine(mob/user, infix)
. = ..()
+
if(get_dist(src, user) <= 2)
var/grenade_count = grenades.len + (chambered? 1 : 0)
- . += "\nHas [grenade_count] grenade\s remaining."
+ . += "Has [grenade_count] grenade\s remaining."
if(chambered)
- . += "\n\A [chambered] is chambered."
+ . += "\A [chambered] is chambered."
/obj/item/gun/launcher/grenade/proc/load(obj/item/grenade/G, mob/user)
if(!can_load_grenade_type(G, user))
diff --git a/code/modules/projectiles/guns/launcher/money_cannon.dm b/code/modules/projectiles/guns/launcher/money_cannon.dm
index f6e479b0779..be9bf829ece 100644
--- a/code/modules/projectiles/guns/launcher/money_cannon.dm
+++ b/code/modules/projectiles/guns/launcher/money_cannon.dm
@@ -133,18 +133,19 @@
else
to_chat(user, SPAN("warning", "That's not going to fit in there."))
-/obj/item/gun/launcher/money/_examine_text(mob/user)
+/obj/item/gun/launcher/money/examine(mob/user, infix)
. = ..()
- . += "\nIt is configured to dispense [dispensing] credits at a time."
+
+ . += "It is configured to dispense [dispensing] credits at a time."
if(receptacle_value >= 1)
- . += "\nThe receptacle is loaded with [receptacle_value] credits."
+ . += "The receptacle is loaded with [receptacle_value] credits."
else
- . += "\nThe receptacle is empty."
+ . += "The receptacle is empty."
if(emagged)
- . += "\n[SPAN("notice", "Its motors are severely overloaded.")]"
+ . += SPAN("notice", "Its motors are severely overloaded.")
/obj/item/gun/launcher/money/handle_suicide(mob/living/user)
if(!ishuman(user))
diff --git a/code/modules/projectiles/guns/launcher/net.dm b/code/modules/projectiles/guns/launcher/net.dm
index e508274b0c2..6f9d00f829c 100644
--- a/code/modules/projectiles/guns/launcher/net.dm
+++ b/code/modules/projectiles/guns/launcher/net.dm
@@ -14,10 +14,11 @@
icon = 'icons/obj/ammo.dmi'
icon_state = "netshell"
-/obj/item/gun/launcher/net/_examine_text(mob/user)
+/obj/item/gun/launcher/net/examine(mob/user, infix)
. = ..()
+
if(get_dist(src, user) <= 2 && chambered)
- . += "\n\A [chambered] is chambered."
+ . += "\A [chambered] is chambered."
/obj/item/gun/launcher/net/proc/load(obj/item/net_shell/S, mob/user)
if(chambered)
diff --git a/code/modules/projectiles/guns/launcher/pneumatic.dm b/code/modules/projectiles/guns/launcher/pneumatic.dm
index 4f7316b67df..4a6ab998ed7 100644
--- a/code/modules/projectiles/guns/launcher/pneumatic.dm
+++ b/code/modules/projectiles/guns/launcher/pneumatic.dm
@@ -102,15 +102,17 @@
item_storage.remove_from_storage(launched, src)
return launched
-/obj/item/gun/launcher/pneumatic/_examine_text(mob/user)
+/obj/item/gun/launcher/pneumatic/examine(mob/user, infix)
. = ..()
+
if(get_dist(src, user) > 2)
return
- . += "\nThe valve is dialed to [pressure_setting]%."
+
+ . += "The valve is dialed to [pressure_setting]%."
if(tank)
- . += "\nThe tank dial reads [tank.air_contents.return_pressure()] kPa."
+ . += "The tank dial reads [tank.air_contents.return_pressure()] kPa."
else
- . += "\nNothing is attached to the tank valve!"
+ . += "Nothing is attached to the tank valve!"
/obj/item/gun/launcher/pneumatic/update_release_force(obj/item/projectile)
if(tank)
@@ -152,14 +154,15 @@
/obj/item/cannonframe/on_update_icon()
icon_state = "pneumatic[buildstate]"
-/obj/item/cannonframe/_examine_text(mob/user)
+/obj/item/cannonframe/examine(mob/user, infix)
. = ..()
+
switch(buildstate)
- if(1) . += "\nIt has a pipe segment installed."
- if(2) . += "\nIt has a pipe segment welded in place."
- if(3) . += "\nIt has an outer chassis installed."
- if(4) . += "\nIt has an outer chassis welded in place."
- if(5) . += "\nIt has a transfer valve installed."
+ if(1) . += "It has a pipe segment installed."
+ if(2) . += "It has a pipe segment welded in place."
+ if(3) . += "It has an outer chassis installed."
+ if(4) . += "It has an outer chassis welded in place."
+ if(5) . += "It has a transfer valve installed."
/obj/item/cannonframe/attackby(obj/item/W as obj, mob/user as mob)
if(istype(W,/obj/item/pipe))
@@ -188,29 +191,29 @@
return
else if(isWelder(W))
if(buildstate == 1)
- var/obj/item/weldingtool/T = W
- if(T.remove_fuel(0,user))
- if(!src || !T.isOn()) return
- playsound(src.loc, 'sound/items/Welder2.ogg', 100, 1)
- to_chat(user, "You weld the pipe into place.")
- buildstate++
- update_icon()
+ var/obj/item/weldingtool/WT = W
+ if(!WT.use_tool(src, user, amount = 1))
+ return
+
+ to_chat(user, "You weld the pipe into place.")
+ buildstate++
+ update_icon()
if(buildstate == 3)
- var/obj/item/weldingtool/T = W
- if(T.remove_fuel(0,user))
- if(!src || !T.isOn()) return
- playsound(src.loc, 'sound/items/Welder2.ogg', 100, 1)
- to_chat(user, "You weld the metal chassis together.")
- buildstate++
- update_icon()
+ var/obj/item/weldingtool/WT = W
+ if(!WT.use_tool(src, user, amount = 1))
+ return
+
+ to_chat(user, "You weld the metal chassis together.")
+ buildstate++
+ update_icon()
if(buildstate == 5)
- var/obj/item/weldingtool/T = W
- if(T.remove_fuel(0,user))
- if(!src || !T.isOn()) return
- playsound(src.loc, 'sound/items/Welder2.ogg', 100, 1)
- to_chat(user, "You weld the valve into place.")
- new /obj/item/gun/launcher/pneumatic(get_turf(src))
- qdel(src)
+ var/obj/item/weldingtool/WT = W
+ if(!WT.use_tool(src, user, amount = 1))
+ return
+
+ to_chat(user, "You weld the valve into place.")
+ new /obj/item/gun/launcher/pneumatic(get_turf(src))
+ qdel(src)
return
else
..()
diff --git a/code/modules/projectiles/guns/launcher/rocket.dm b/code/modules/projectiles/guns/launcher/rocket.dm
index 47363df58b3..1c6422a5868 100644
--- a/code/modules/projectiles/guns/launcher/rocket.dm
+++ b/code/modules/projectiles/guns/launcher/rocket.dm
@@ -23,11 +23,13 @@
var/max_rockets = 1
var/list/rockets = new /list()
-/obj/item/gun/launcher/rocket/_examine_text(mob/user)
+/obj/item/gun/launcher/rocket/examine(mob/user, infix)
. = ..()
+
if(get_dist(src, user) > 2)
return
- . += "\n[rockets.len] / [max_rockets] rockets."
+
+ . += SPAN_NOTICE("[rockets.len] / [max_rockets] rockets.")
/obj/item/gun/launcher/rocket/attackby(obj/item/I as obj, mob/user as mob)
if(istype(I, /obj/item/ammo_casing/rocket))
diff --git a/code/modules/projectiles/guns/launcher/syringe_gun.dm b/code/modules/projectiles/guns/launcher/syringe_gun.dm
index 22a2eca86f1..0204f992b1e 100644
--- a/code/modules/projectiles/guns/launcher/syringe_gun.dm
+++ b/code/modules/projectiles/guns/launcher/syringe_gun.dm
@@ -169,7 +169,8 @@
throw_distance = 7
release_force = 7
-/obj/item/gun/launcher/syringe/disguised/_examine_text(mob/user)
+/obj/item/gun/launcher/syringe/disguised/examine(mob/user, infix)
. = ..()
+
if(get_dist(src, user) <= 0)
- . += "\nThe button is a little stiff."
+ . += "The button is a little stiff."
diff --git a/code/modules/projectiles/guns/magnetic/magnetic.dm b/code/modules/projectiles/guns/magnetic/magnetic.dm
index a9d41f231bc..d3ad6253a41 100644
--- a/code/modules/projectiles/guns/magnetic/magnetic.dm
+++ b/code/modules/projectiles/guns/magnetic/magnetic.dm
@@ -76,31 +76,32 @@
if(loaded)
return "It has \a [loaded] loaded."
-/obj/item/gun/magnetic/_examine_text(mob/user)
+/obj/item/gun/magnetic/examine(mob/user, infix)
. = ..()
+
if(get_dist(src, user) <= 2)
var/ret = show_ammo()
if (ret)
- . += "\n[ret]"
+ . += "[ret]"
if(cell)
- . += "\nThe installed [cell.name] has a charge level of [round((cell.charge/cell.maxcharge)*100)]%."
+ . += SPAN_NOTICE("The installed [cell.name] has a charge level of [round((cell.charge/cell.maxcharge)*100)]%.")
if(capacitor)
- . += "\nThe installed [capacitor.name] has a charge level of [round((capacitor.charge/capacitor.max_charge)*100)]%."
+ . += SPAN_NOTICE("The installed [capacitor.name] has a charge level of [round((capacitor.charge/capacitor.max_charge)*100)]%.")
if(!cell || !capacitor)
- . += "\nThe capacitor charge indicator is blinking red. Maybe you should check the cell or capacitor."
+ . += SPAN_NOTICE("The capacitor charge indicator is blinking red. Maybe you should check the cell or capacitor.")
else
if(capacitor.charge < power_cost)
- . += "\nThe capacitor charge indicator is amber."
+ . += SPAN_NOTICE("The capacitor charge indicator is amber.")
else
- . += "\nThe capacitor charge indicator is green."
+ . += SPAN_NOTICE("The capacitor charge indicator is green.")
if(able_to_overheat && heat_level > 15)
if(heat_level < 25)
- . += "\n\The [src]'s wiring glows faintly."
+ . += SPAN_WARNING("\The [src]'s wiring glows faintly.")
else
- . += "\n\The [src]'s wiring is glowing brightly!"
+ . += SPAN_WARNING("\The [src]'s wiring is glowing brightly!")
return
diff --git a/code/modules/projectiles/guns/magnetic/magnetic_construction.dm b/code/modules/projectiles/guns/magnetic/magnetic_construction.dm
index 5c7cc985988..051e1bb47f5 100644
--- a/code/modules/projectiles/guns/magnetic/magnetic_construction.dm
+++ b/code/modules/projectiles/guns/magnetic/magnetic_construction.dm
@@ -33,18 +33,11 @@
return
if(isWelder(thing) && construction_stage == 4)
- var/obj/item/weldingtool/welder = thing
-
- if(!welder.isOn())
- to_chat(user, "Turn it on first!")
- return
-
- if(!welder.remove_fuel(0,user))
- to_chat(user, "You need more fuel!")
+ var/obj/item/weldingtool/WT = thing
+ if(!WT.use_tool(src, user, amount = 1))
return
user.visible_message("\The [user] welds the barrel of \the [src] into place.")
- playsound(src.loc, 'sound/items/Welder2.ogg', 100, 1)
increment_construction_stage()
return
@@ -85,15 +78,16 @@
construction_stage++
icon_state = "coilgun_construction_[construction_stage]"
-/obj/item/coilgun_assembly/_examine_text(mob/user)
+/obj/item/coilgun_assembly/examine(mob/user, infix)
. = ..()
+
if(get_dist(src, user) <= 2)
switch(construction_stage)
- if(2) . += "\nIt has a metal frame loosely shaped around the stock."
- if(3) . += "\nIt has a metal frame duct-taped to the stock."
- if(4) . += "\nIt has a length of pipe attached to the body."
- if(4) . += "\nIt has a length of pipe welded to the body."
- if(6) . += "\nIt has a cable mount and capacitor jack wired to the frame."
- if(7) . += "\nIt has a single superconducting coil threaded onto the barrel."
- if(8) . += "\nIt has a pair of superconducting coils threaded onto the barrel."
- if(9) . += "\nIt has three superconducting coils attached to the body, waiting to be secured."
+ if(2) . += SPAN_NOTICE("It has a metal frame loosely shaped around the stock.")
+ if(3) . += SPAN_NOTICE("It has a metal frame duct-taped to the stock.")
+ if(4) . += SPAN_NOTICE("It has a length of pipe attached to the body.")
+ if(4) . += SPAN_NOTICE("It has a length of pipe welded to the body.")
+ if(6) . += SPAN_NOTICE("It has a cable mount and capacitor jack wired to the frame.")
+ if(7) . += SPAN_NOTICE("It has a single superconducting coil threaded onto the barrel.")
+ if(8) . += SPAN_NOTICE("It has a pair of superconducting coils threaded onto the barrel.")
+ if(9) . += SPAN_NOTICE("It has three superconducting coils attached to the body, waiting to be secured.")
diff --git a/code/modules/projectiles/guns/magnetic/magnetic_railgun.dm b/code/modules/projectiles/guns/magnetic/magnetic_railgun.dm
index c582788b8cd..d24b5b5228b 100644
--- a/code/modules/projectiles/guns/magnetic/magnetic_railgun.dm
+++ b/code/modules/projectiles/guns/magnetic/magnetic_railgun.dm
@@ -80,10 +80,11 @@
list(mode_name="long bursts", burst=6, fire_delay=null, move_delay=10, one_hand_penalty=2, burst_accuracy=list(0,-1,-1,-1,-2), dispersion=list(0.6, 0.6, 1.0, 1.0, 1.2)),
)
-/obj/item/gun/magnetic/railgun/automatic/_examine_text(mob/user)
+/obj/item/gun/magnetic/railgun/automatic/examine(mob/user, infix)
. = ..()
+
if(get_dist(src, user) <= 1)
- . += "\nSomeone has scratched Ultima Ratio Regum onto the side of the barrel."
+ . += SPAN_NOTICE("Someone has scratched Ultima Ratio Regum onto the side of the barrel.")
/obj/item/gun/magnetic/railgun/flechette
name = "flechette gun"
diff --git a/code/modules/projectiles/guns/portalgun.dm b/code/modules/projectiles/guns/portalgun.dm
index cbb1471efcb..931814f445d 100644
--- a/code/modules/projectiles/guns/portalgun.dm
+++ b/code/modules/projectiles/guns/portalgun.dm
@@ -18,9 +18,9 @@
var/obj/effect/portal/linked/blue_portal
var/obj/effect/portal/linked/red_portal
-/obj/item/gun/portalgun/_examine_text(mob/user)
+/obj/item/gun/portalgun/examine(mob/user, infix)
. = ..()
- . += "\nIt's current setting is [setting ? "red" : "blue"]."
+ . += "It's current setting is [setting ? "red" : "blue"]."
/obj/item/gun/portalgun/Initialize()
. = ..()
diff --git a/code/modules/projectiles/guns/projectile.dm b/code/modules/projectiles/guns/projectile.dm
index 7e0d54b4c51..39a24a8626c 100644
--- a/code/modules/projectiles/guns/projectile.dm
+++ b/code/modules/projectiles/guns/projectile.dm
@@ -263,15 +263,17 @@
ammo_magazine = null
update_icon() //make sure to do this after unsetting ammo_magazine
-/obj/item/gun/projectile/_examine_text(mob/user)
+/obj/item/gun/projectile/examine(mob/user, infix)
. = ..()
+
if(is_jammed)
- . += "\nIt looks jammed."
+ . += SPAN_WARNING("It looks jammed.")
+
if(ammo_magazine)
- . += "\nIt has \a [ammo_magazine] loaded."
+ . += "It has \a [ammo_magazine] loaded."
+
if(getAmmo() != AMMO_NO_DISPLAY)
- . += "\nHas [getAmmo()] round\s remaining."
- return
+ . += "Has [getAmmo()] round\s remaining."
/obj/item/gun/projectile/proc/getAmmo()
var/bullets = 0
diff --git a/code/modules/projectiles/guns/projectile/automatic.dm b/code/modules/projectiles/guns/projectile/automatic.dm
index 45bad5d1796..77a5007f2ac 100644
--- a/code/modules/projectiles/guns/projectile/automatic.dm
+++ b/code/modules/projectiles/guns/projectile/automatic.dm
@@ -251,12 +251,13 @@
icon_state = "carbine"
..()
-/obj/item/gun/projectile/automatic/z8/_examine_text(mob/user)
+/obj/item/gun/projectile/automatic/z8/examine(mob/user, infix)
. = ..()
+
if(launcher.chambered)
- . += "\n\The [launcher] has \a [launcher.chambered] loaded."
+ . += "\The [launcher] has \a [launcher.chambered] loaded."
else
- . += "\n\The [launcher] is empty."
+ . += "\The [launcher] is empty."
/obj/item/gun/projectile/automatic/l6_saw
diff --git a/code/modules/projectiles/guns/projectile/dartgun.dm b/code/modules/projectiles/guns/projectile/dartgun.dm
index 2ee61acaf09..8ce3d4cc976 100644
--- a/code/modules/projectiles/guns/projectile/dartgun.dm
+++ b/code/modules/projectiles/guns/projectile/dartgun.dm
@@ -94,14 +94,17 @@
if(istype(dart))
fill_dart(dart)
-/obj/item/gun/projectile/dartgun/_examine_text(mob/user)
+/obj/item/gun/projectile/dartgun/examine(mob/user, infix)
. = ..()
- if (beakers.len)
- . += "\n\The [src] contains:"
- for(var/obj/item/reagent_containers/vessel/beaker/B in beakers)
- if(B.reagents && B.reagents.reagent_list.len)
- for(var/datum/reagent/R in B.reagents.reagent_list)
- . += "\n[R.volume] units of [R.name]"
+
+ if(!length(beakers))
+ return
+
+ . += "\The [src] contains:"
+ for(var/obj/item/reagent_containers/vessel/beaker/B in beakers)
+ if(B.reagents && B.reagents.reagent_list.len)
+ for(var/datum/reagent/R in B.reagents.reagent_list)
+ . += SPAN_NOTICE("[R.volume] units of [R.name]")
/obj/item/gun/projectile/dartgun/attackby(obj/item/I as obj, mob/user as mob)
if(istype(I, /obj/item/reagent_containers/vessel))
diff --git a/code/modules/projectiles/guns/projectile/lawgiver.dm b/code/modules/projectiles/guns/projectile/lawgiver.dm
index 5b5d119a4ab..88e61a2a2f9 100644
--- a/code/modules/projectiles/guns/projectile/lawgiver.dm
+++ b/code/modules/projectiles/guns/projectile/lawgiver.dm
@@ -116,8 +116,8 @@ GLOBAL_LIST_INIT(lawgiver_modes, list(
if(!dna_profile)
dna_profile = H.dna.unique_enzymes
to_chat(usr, SPAN("notice", "You submit a DNA sample to \the [src]."))
- verbs += /obj/item/gun/projectile/lawgiver/verb/erase_DNA_sample
- verbs -= /obj/item/gun/projectile/lawgiver/verb/submit_DNA_sample
+ add_verb(loc, /obj/item/gun/projectile/lawgiver/verb/erase_DNA_sample)
+ remove_verb(loc, /obj/item/gun/projectile/lawgiver/verb/submit_DNA_sample)
update_icon()
return 1
@@ -143,8 +143,8 @@ GLOBAL_LIST_INIT(lawgiver_modes, list(
/obj/item/gun/projectile/lawgiver/proc/remove_dna()
dna_profile = null
audible_message("\The [src] reports, \"No DNA profile found.\"", splash_override = "No DNA profile found.")
- verbs += /obj/item/gun/projectile/lawgiver/verb/submit_DNA_sample
- verbs -= /obj/item/gun/projectile/lawgiver/verb/erase_DNA_sample
+ add_verb(loc, /obj/item/gun/projectile/lawgiver/verb/submit_DNA_sample)
+ remove_verb(loc, /obj/item/gun/projectile/lawgiver/verb/erase_DNA_sample)
update_icon()
/obj/item/gun/projectile/lawgiver/emp_act(severity)
@@ -253,9 +253,11 @@ GLOBAL_LIST_INIT(lawgiver_modes, list(
//added every char from speechcheker just for sure
return replace_characters(phrase, replacechars)
-/obj/item/gun/projectile/lawgiver/_examine_text(mob/user)
+/obj/item/gun/projectile/lawgiver/examine(mob/user, infix)
. = ..()
+
var/obj/item/ammo_magazine/lawgiver/M = ammo_magazine
if(!M)
return
+
. += M.generate_description()
diff --git a/code/modules/projectiles/guns/projectile/pistol.dm b/code/modules/projectiles/guns/projectile/pistol.dm
index ca5666f226a..1b542e7fabd 100644
--- a/code/modules/projectiles/guns/projectile/pistol.dm
+++ b/code/modules/projectiles/guns/projectile/pistol.dm
@@ -310,12 +310,13 @@
/obj/item/zipgunframe/on_update_icon()
icon_state = "zipgun[buildstate]"
-/obj/item/zipgunframe/_examine_text(mob/user)
+/obj/item/zipgunframe/examine(mob/user, infix)
. = ..()
+
switch(buildstate)
- if(1) . += "\nIt has a barrel loosely fitted to the stock."
- if(2) . += "\nIt has a barrel that has been secured to the stock with tape."
- if(3) . += "\nIt has a trigger and firing pin assembly loosely fitted into place."
+ if(1) . += "It has a barrel loosely fitted to the stock."
+ if(2) . += "It has a barrel that has been secured to the stock with tape."
+ if(3) . += "It has a trigger and firing pin assembly loosely fitted into place."
/obj/item/zipgunframe/attackby(obj/item/thing, mob/user)
if(istype(thing,/obj/item/pipe) && buildstate == 0)
diff --git a/code/modules/projectiles/guns/projectile/revolver.dm b/code/modules/projectiles/guns/projectile/revolver.dm
index 924ce4e00f2..4c80dcb3772 100644
--- a/code/modules/projectiles/guns/projectile/revolver.dm
+++ b/code/modules/projectiles/guns/projectile/revolver.dm
@@ -188,12 +188,13 @@
return null*/
-/obj/item/gun/projectile/revolver/m2019/detective/_examine_text(mob/user)
+/obj/item/gun/projectile/revolver/m2019/detective/examine(mob/user, infix)
. = ..()
+
if(!bcell)
- . += "\n\The [src] has no power cell installed."
+ . += "\The [src] has no power cell installed."
else
- . += "\n\The [src] is [round(CELL_PERCENT(bcell))]% charged."
+ . += "\The [src] is [round(CELL_PERCENT(bcell))]% charged."
/obj/item/gun/projectile/revolver/m2019/detective/consume_next_projectile()
if(chamber_offset)
diff --git a/code/modules/projectiles/guns/projectile/shotgun.dm b/code/modules/projectiles/guns/projectile/shotgun.dm
index de673150697..0ea1d0731c4 100644
--- a/code/modules/projectiles/guns/projectile/shotgun.dm
+++ b/code/modules/projectiles/guns/projectile/shotgun.dm
@@ -97,23 +97,26 @@
/obj/item/boomstickframe/on_update_icon()
icon_state = "boomstick[buildstate]"
-/obj/item/boomstickframe/_examine_text(mob/user)
+/obj/item/boomstickframe/examine(mob/user, infix)
. = ..()
+
switch(buildstate)
- if(0) . += "\nIt has a pipe loosely fitted to the welding tool."
- if(1) . += "\nIt has a pipe welded to the welding tool."
- if(2) . += "\nIt has a bent metal rod attached to it."
- if(3) . += "\nIt has a spring inside."
- if(4) . += "\nIt is all covered with duct tape."
+ if(0) . += "It has a pipe loosely fitted to the welding tool."
+ if(1) . += "It has a pipe welded to the welding tool."
+ if(2) . += "It has a bent metal rod attached to it."
+ if(3) . += "It has a spring inside."
+ if(4) . += "It is all covered with duct tape."
/obj/item/boomstickframe/attackby(obj/item/W, mob/user)
if(isWelder(W) && buildstate == 0)
var/obj/item/weldingtool/WT = W
- if(WT.remove_fuel(0, user))
- user.visible_message("\The [user] secures \the [src]'s barrel.")
- add_fingerprint(user)
- buildstate++
- update_icon()
+ if(!WT.use_tool(src, user, amount = 1))
+ return
+
+ user.visible_message("\The [user] secures \the [src]'s barrel.")
+ add_fingerprint(user)
+ buildstate++
+ update_icon()
return
else if(istype(W,/obj/item/stack/rods) && buildstate == 1)
var/obj/item/stack/rods/R = W
diff --git a/code/modules/projectiles/guns/special/meathook.dm b/code/modules/projectiles/guns/special/meathook.dm
new file mode 100644
index 00000000000..6b2d3d0125c
--- /dev/null
+++ b/code/modules/projectiles/guns/special/meathook.dm
@@ -0,0 +1,78 @@
+
+/obj/item/gun/meathook
+ name = "meat hook"
+ desc = "A symbolic nightmare, its curved blade a frightening reminder of its owner's slaughterous intent. Or, maybe, you're overthinking it and this is just a regular meat hook."
+ icon = 'icons/obj/kitchen.dmi'
+ icon_state = "meathook"
+ item_state = "meathook"
+ fire_sound = 'sound/weapons/meathook.ogg'
+ fire_sound_text = "clanging chains"
+ clumsy_unaffected = TRUE
+ fire_delay = 40
+
+ var/projectile_type = /obj/item/projectile/meathook
+
+/obj/item/gun/meathook/consume_next_projectile()
+ return new /obj/item/projectile/meathook(src)
+
+/obj/item/projectile/meathook
+ name = "meat hook"
+ icon_state = null
+ damage_type = BRUTE
+ damage = 36.0 // 360 would be too much, I guess
+ armor_penetration = 100 // pure damage is scary
+ poisedamage = 20.0
+ embed = FALSE
+ sharp = TRUE
+ hitscan = TRUE
+ impact_on_original = TRUE
+ muzzle_type = /obj/effect/projectile/muzzle/meathook
+ tracer_type = /obj/effect/projectile/tracer/meathook
+ impact_type = /obj/effect/projectile/impact/meathook
+ kill_count = 10
+ pass_flags = PASS_FLAG_TABLE
+ projectile_light = FALSE
+
+/obj/item/projectile/meathook/on_hit(atom/target, blocked, def_zone)
+ if(isturf(target))
+ return
+
+ var/atom/movable/T = target
+
+ var/grab_chance = 100
+ if(iscarbon(T))
+ if(def_zone != BP_CHEST && def_zone != BP_GROIN && def_zone != BP_HEAD) // Limbs are small
+ grab_chance = 50
+
+ if(!T.anchored && prob(grab_chance))
+ T.throw_at(firer, get_dist(firer, T) - 1, 1)
+ var/success_msg = pick(\
+ "Reel 'em in!",\
+ "Hooked 'em!",\
+ "Come to the chef!",\
+ "Get over here!",\
+ "Look who's coming for dinner!",\
+ "Time for a little butchery!")
+ to_chat(firer, SPAN("notice", "[success_msg]"))
+ else
+ var/fail_msg = pick(\
+ "I meant to do that...",\
+ "Blast yeh!",\
+ "Raah!",\
+ "Gah!",\
+ "Yahh!")
+ to_chat(firer, SPAN("warning", "[fail_msg]"))
+
+ return ..()
+
+/obj/effect/projectile/muzzle/meathook
+ icon_state = "muzzle_meathook"
+ light_max_bright = 0
+
+/obj/effect/projectile/tracer/meathook
+ icon_state = "tracer_meathook"
+ light_max_bright = 0
+
+/obj/effect/projectile/impact/meathook
+ icon_state = "impact_meathook"
+ light_max_bright = 0
\ No newline at end of file
diff --git a/code/modules/psychotronics/psychoscope.dm b/code/modules/psychotronics/psychoscope.dm
index 29e53e443c5..03dc805c3f3 100644
--- a/code/modules/psychotronics/psychoscope.dm
+++ b/code/modules/psychotronics/psychoscope.dm
@@ -636,10 +636,9 @@
/* OVERRIDES */
-/obj/item/clothing/glasses/psychoscope/_examine_text(mob/user)
+/obj/item/clothing/glasses/psychoscope/examine(mob/user, infix)
. = ..()
-
- . += "\nThe battery panel is [cell_panel_opened ? "opened" : "closed"]."
+ . += "The battery panel is [cell_panel_opened ? "opened" : "closed"]."
/obj/item/clothing/glasses/psychoscope/attack_hand(mob/user)
if(cell_panel_opened && bcell)
diff --git a/code/modules/radiation/radiation_source.dm b/code/modules/radiation/radiation_source.dm
index 9474a413914..5d0c01bfd4b 100644
--- a/code/modules/radiation/radiation_source.dm
+++ b/code/modules/radiation/radiation_source.dm
@@ -44,4 +44,4 @@
/datum/radiation_source/proc/schedule_decay(time)
ASSERT(time > 0)
- addtimer(CALLBACK(src, nameof(.proc/Destroy)), time, TIMER_UNIQUE)
+ QDEL_IN(src, time)
diff --git a/code/modules/rcd/_rcd.dm b/code/modules/rcd/_rcd.dm
index 5fca011d165..647d4c3d127 100644
--- a/code/modules/rcd/_rcd.dm
+++ b/code/modules/rcd/_rcd.dm
@@ -1,4 +1,7 @@
//RAPID HANDHELD DEVICE. the base for all rapid devices
+
+#define MATTER_REDUCTION_COEFFICIENT 5
+
/obj/item/construction
name = "not for ingame use"
desc = "A device used to rapidly build and deconstruct. Reload with iron, plasteel, glass or compressed local_matter cartridges."
@@ -42,7 +45,7 @@
/obj/item/construction/proc/get_matter(mob/user)
return local_matter
-/obj/item/construction/_examine_text(mob/user)
+/obj/item/construction/examine(mob/user, infix)
. = ..()
. += "It currently holds [get_matter(user)]/[max_matter] local_matter-units."
@@ -61,10 +64,10 @@
/// Installs an upgrade into the RCD checking if it is already installed, or if it is a banned upgrade
/obj/item/construction/proc/install_upgrade(obj/item/rcd_upgrade/design_disk, mob/user)
if(design_disk.upgrade & upgrade)
- show_splash_text(user, "already installed!")
+ show_splash_text(user, "already installed!", SPAN("warning", "\The [src] already has this upgrade!"))
return FALSE
if(design_disk.upgrade & banned_upgrades)
- show_splash_text(user, "cannot install upgrade!")
+ show_splash_text(user, "cannot install upgrade!", SPAN("warning", "\The [src] cannot have this upgrade!"))
return FALSE
upgrade |= design_disk.upgrade
playsound(loc, 'sound/machines/click.ogg', 50, TRUE)
@@ -80,8 +83,9 @@
if(istype(item, /obj/item/rcd_ammo))
var/obj/item/rcd_ammo/ammo = item
var/load = min(ammo.ammoamt, max_matter - local_matter)
+ load = round(load / MATTER_REDUCTION_COEFFICIENT)
if(load <= 0)
- show_splash_text(user, "storage full!")
+ show_splash_text(user, "storage full!", SPAN("warning", "\The [src] is full!"))
return FALSE
ammo.ammoamt -= load
if(ammo.ammoamt <= 0)
@@ -97,18 +101,19 @@
/obj/item/construction/proc/loadwithsheets(obj/item/stack/the_stack, mob/user)
if(the_stack.amount <= 0)
- show_splash_text(user, "invalid sheets!")
+ show_splash_text(user, "invalid sheets!", SPAN("warning", "\The [src] refuses to accept this."))
return FALSE
- var/maxsheets = round((max_matter-local_matter) / the_stack.amount) //calculate the max number of sheets that will fit in RCD
+ var/sheet_amt_to_matter = round(the_stack.amount / MATTER_REDUCTION_COEFFICIENT)
+ var/maxsheets = round(((max_matter - local_matter) - sheet_amt_to_matter) * MATTER_REDUCTION_COEFFICIENT) //calculate the max number of sheets that will fit in RCD
if(maxsheets > 0)
var/amount_to_use = min(the_stack.amount, maxsheets)
the_stack.use(amount_to_use)
- local_matter += the_stack.amount * amount_to_use
+ local_matter += round(amount_to_use / MATTER_REDUCTION_COEFFICIENT)
playsound(loc, 'sound/machines/click.ogg', 50, TRUE)
return TRUE
- show_splash_text(user, "storage full!")
+ show_splash_text(user, "storage full!", SPAN("warning", "\The [src] is full!"))
return FALSE
/obj/item/construction/proc/activate()
@@ -129,7 +134,7 @@
/obj/item/construction/proc/useResource(amount, mob/user)
if(local_matter < amount)
if(user)
- show_splash_text(user, "not enough local_matter!")
+ show_splash_text(user, "not enough local_matter!", SPAN("warning", "Not enough local_matter!"))
return FALSE
local_matter -= amount
@@ -167,7 +172,7 @@
. = local_matter >= amount
if(!. && user)
- show_splash_text(user, "low ammo!")
+ show_splash_text(user, "low ammo!", SPAN("warning", "Not enough matter!"))
if(has_ammobar)
flick("[icon_state]_empty", src) //somewhat hacky thing to make RCDs with ammo counters actually have a blinking yellow light
@@ -177,7 +182,7 @@
if(target.z != user.z)
return
if(!(target in dview(7, get_turf(user))))
- show_splash_text(user, "out of range!")
+ show_splash_text(user, "out of range!", SPAN("warning", "Out of range!"))
flick("[icon_state]_empty", src)
return FALSE
else
@@ -241,3 +246,5 @@
)
else
return defaults
+
+#undef MATTER_REDUCTION_COEFFICIENT
diff --git a/code/modules/rcd/ammo.dm b/code/modules/rcd/ammo.dm
index 5e4f791f5d0..eac1475908a 100644
--- a/code/modules/rcd/ammo.dm
+++ b/code/modules/rcd/ammo.dm
@@ -8,19 +8,19 @@
w_class = ITEM_SIZE_SMALL
origin_tech = list(TECH_MATERIAL = 2)
- matter = list(MATERIAL_STEEL = 15000, MATERIAL_GLASS = 7500)
+ matter = list(MATERIAL_STEEL = 20000, MATERIAL_GLASS = 10000)
var/ammoamt = 40
-/obj/item/rcd_ammo/_examine_text(mob/user)
+/obj/item/rcd_ammo/examine(mob/user, infix)
. = ..()
if(get_dist(src, user) <= 1)
- . += "\n" + SPAN("notice", "It has [ammoamt] unit\s of matter left.")
+ . += SPAN("notice", "It has [ammoamt] unit\s of matter left.")
/obj/item/rcd_ammo/large
name = "high-capacity matter cartridge"
desc = "Do not ingest."
- matter = list(MATERIAL_STEEL = 45000, MATERIAL_GLASS = 22500)
+ matter = list(MATERIAL_STEEL = 65000, MATERIAL_GLASS = 25000)
ammoamt = 160
origin_tech = list(TECH_MATERIAL = 4)
diff --git a/code/modules/rcd/constructing_effect.dm b/code/modules/rcd/constructing_effect.dm
index 2a46c566d22..9a01091eb4c 100644
--- a/code/modules/rcd/constructing_effect.dm
+++ b/code/modules/rcd/constructing_effect.dm
@@ -13,7 +13,7 @@
status = rcd_status
delay = rcd_delay
if(status == RCD_DECONSTRUCT)
- addtimer(CALLBACK(src, nameof(/atom.proc/update_icon)), 1.1 SECONDS)
+ add_think_ctx("think_update_icon", CALLBACK(src, nameof(/atom.proc/update_icon)), 1.1 SECONDS)
delay -= 11
icon_state = "rcd_end_reverse"
else
@@ -57,14 +57,14 @@
else
mouse_opacity = MOUSE_OPACITY_TRANSPARENT
icon_state = "rcd_end"
- addtimer(CALLBACK(src, nameof(.proc/end)), 15)
+ set_next_think(world.time + 1.5 SECONDS)
-/obj/effect/constructing_effect/proc/end()
+/obj/effect/constructing_effect/think()
qdel_self()
/obj/effect/constructing_effect/proc/attacked(mob/user)
playsound(loc, 'sound/weapons/egloves.ogg', vol = 80, vary = TRUE)
- end()
+ qdel_self()
/obj/effect/constructing_effect/attackby(obj/item/weapon, mob/user, params)
attacked(user)
diff --git a/code/modules/rcd/rcd.dm b/code/modules/rcd/rcd.dm
index 1574e4916ec..602932c3166 100644
--- a/code/modules/rcd/rcd.dm
+++ b/code/modules/rcd/rcd.dm
@@ -63,7 +63,7 @@
var/list/design = GLOB.rcd_designs[root_category][design_category][1]
rcd_design_path = design["[RCD_DESIGN_PATH]"]
- design_title = initial(rcd_design_path.name)
+ design_title = initial(rcd_design_path.type)
mode = design["[RCD_DESIGN_MODE]"]
construction_mode = mode
@@ -106,7 +106,7 @@
//check if we can build our window on the grill
if(is_blocked_turf(target_turf, caller = null, exclude_mobs = FALSE, ignore_atoms = structures_to_ignore))
playsound(loc, 'sound/machines/click.ogg', 50, TRUE)
- show_splash_text(user, "something is blocking the turf")
+ show_splash_text(user, "something is blocking the turf", SPAN("warning", "There's something blocking the turf!"))
return FALSE
/**
@@ -117,7 +117,7 @@
//if a player builds a wallgirder on top of himself manually with iron sheets he can't finish the wall if he is still on the girder. Exclude the girder itself when checking for other dense objects on the turf
if(istype(target, /obj/structure/girder) && is_blocked_turf(target_turf))
playsound(loc, 'sound/machines/click.ogg', 50, TRUE)
- show_splash_text(user, "something is on the girder!")
+ show_splash_text(user, "something is on the girder!", SPAN("warning", "There's something blocking the girder!"))
return FALSE
//check if turf is blocked in for dense structures
@@ -146,7 +146,7 @@
//check if the structure can fit on this turf
if(is_blocked_turf(target_turf))
playsound(loc, 'sound/machines/click.ogg', 50, TRUE)
- show_splash_text(user, "something is on the tile!")
+ show_splash_text(user, "something is on the tile!", SPAN("warning", "There's something blocking the tile!"))
return FALSE
return TRUE
@@ -257,23 +257,15 @@
var/atom/design_path = design[RCD_DESIGN_PATH]
var/icon/design_icon
- // Ad hoc cases. Very ugly indeed.
var/design_name = initial(design_path.name)
- if(ispath(design_path, /obj/structure/window_frame/rglass))
- design_name = design_name + " reinforced"
- else if(ispath(design_path, /obj/structure/window_frame/grille/rglass))
- design_name = design_name + " reinforced"
- else if(ispath(design_path, /obj/structure/window/reinforced/full))
- design_name = design_name + " full"
- else if(ispath(design_path, /obj/structure/table/reinforced))
- design_name = design_name + " reinforced"
+ var/design_type = initial(design_path.type)
if(isnull(designs_icons[design_path]))
designs_icons[design_path] = icon(icon = initial(design_path.icon), icon_state = initial(design_path.icon_state), dir = SOUTH, frame = 1)
design_icon = designs_icons[design_path]
- designs += list(list("title" = design_name, "icon" = icon2base64html(design_icon)))
+ designs += list(list("title" = design_name, "type" = design_type, "icon" = icon2base64html(design_icon)))
data["categories"] += list(list("cat_name" = sub_category, "designs" = designs))
return data
@@ -333,17 +325,7 @@
mode = design["[RCD_DESIGN_MODE]"]
construction_mode = mode
rcd_design_path = design["[RCD_DESIGN_PATH]"]
- design_title = initial(rcd_design_path.name)
-
- // Ad hoc cases. Very ugly indeed.
- if(ispath(rcd_design_path, /obj/structure/window_frame/rglass))
- design_title = design_title + " reinforced"
- else if(ispath(rcd_design_path, /obj/structure/window_frame/grille/rglass))
- design_title = design_title + " reinforced"
- else if(ispath(rcd_design_path, /obj/structure/window/reinforced/full))
- design_title = design_title + " full"
- else if(ispath(rcd_design_path, /obj/structure/table/reinforced))
- design_title = design_title + " reinforced"
+ design_title = initial(rcd_design_path.type)
else
airlock_electronics.handle_act(action, params)
@@ -374,9 +356,9 @@
audible_message("[src] begins to vibrate and \
buzz loudly!","[src] begins \
vibrating violently!")
- addtimer(CALLBACK(src, nameof(.proc/detonate_pulse_explode)), 5 SECONDS)
+ set_next_think(world.time + 5 SECONDS)
-/obj/item/construction/rcd/proc/detonate_pulse_explode()
+/obj/item/construction/rcd/think()
explosion(src, light_impact_range = 3, flash_range = 1)
qdel(src)
diff --git a/code/modules/rcd/rcd_borg.dm b/code/modules/rcd/rcd_borg.dm
index 735494a0190..9229cf158b8 100644
--- a/code/modules/rcd/rcd_borg.dm
+++ b/code/modules/rcd/rcd_borg.dm
@@ -23,7 +23,7 @@
. = borgy.cell.use(amount * energyfactor) //borgs get 1.3x the use of their RCDs
if(!. && user)
- show_splash_text(user, "insufficient charge!")
+ show_splash_text(user, "insufficient charge!", SPAN("warning", "\The [src] is out of charge!"))
return .
/obj/item/construction/rcd/borg/checkResource(amount, mob/user)
@@ -36,5 +36,5 @@
. = borgy.cell.charge >= (amount * energyfactor)
if(!. && user)
- show_splash_text(user, "insufficient charge!")
+ show_splash_text(user, "insufficient charge!", SPAN("warning", "\The [src] is out of charge!"))
return .
diff --git a/code/modules/rcd/rcd_mounted.dm b/code/modules/rcd/rcd_mounted.dm
index 6a2efcc2141..e7fb9a8f6c8 100644
--- a/code/modules/rcd/rcd_mounted.dm
+++ b/code/modules/rcd/rcd_mounted.dm
@@ -18,7 +18,7 @@
. = module.holder.cell.use(amount)
if(!. && user)
- show_splash_text(user, "insufficient charge!")
+ show_splash_text(user, "insufficient charge!", SPAN("warning", "\The [src] is out of charge!"))
return .
/obj/item/construction/rcd/mounted/checkResource(amount, mob/user)
@@ -31,7 +31,7 @@
. = module.holder.cell.charge >= amount
if(!. && user)
- show_splash_text(user, "insufficient charge!")
+ show_splash_text(user, "insufficient charge!", SPAN("warning", "\The [src] is out of charge!"))
return .
/obj/item/construction/rcd/mounted/tgui_state(mob/user)
diff --git a/code/modules/reagents/Chemistry-Holder.dm b/code/modules/reagents/Chemistry-Holder.dm
index 1b00363a6fd..426286bf6af 100644
--- a/code/modules/reagents/Chemistry-Holder.dm
+++ b/code/modules/reagents/Chemistry-Holder.dm
@@ -11,6 +11,7 @@ GLOBAL_DATUM_INIT(temp_reagents_holder, /obj, new)
if(!istype(my_atom))
CRASH("Invalid reagents holder: [log_info_line(my_atom)]")
..()
+ add_think_ctx("delayed_add_reagent", CALLBACK(src, nameof(.proc/add_reagent)), 0)
src.my_atom = my_atom
src.maximum_volume = maximum_volume
diff --git a/code/modules/reagents/Chemistry-Machinery.dm b/code/modules/reagents/Chemistry-Machinery.dm
index d8005325de0..67f8286dc80 100644
--- a/code/modules/reagents/Chemistry-Machinery.dm
+++ b/code/modules/reagents/Chemistry-Machinery.dm
@@ -274,6 +274,18 @@
dat += ""
show_browser(usr, dat, "window=chem_master")
return
+
+ else if(href_list["condiment_pack"])
+ if(!condi)
+ return
+
+ if(!spend_material(50, usr))
+ return
+
+ var/obj/item/reagent_containers/vessel/condiment/pack/P = new /obj/item/reagent_containers/vessel/condiment/pack(get_turf(loc))
+ reagents.trans_to_obj(P, 10)
+ return
+
else if(href_list["pill_sprite"])
pillsprite = href_list["pill_sprite"]
else if(href_list["bottle_sprite"])
@@ -372,7 +384,8 @@
dat += "Create normal bottle | 60 units max | Glass: 2000
"
dat += "Create big bottle | 90 units max | Glass: 3000"
else
- dat += "Create bottle | 50 units max | Glass: 2000"
+ dat += "Create bottle | 50 units max | Glass: 2000
"
+ dat += "Create condiment pack | 10 units max | Glass: 50"
if(!condi)
show_browser(user, "
[dat]", "window=chem_master;size=575x400")
else
@@ -517,11 +530,14 @@
if("grind")
grind()
if("dump")
- show_splash_text(user, "contents dumped.")
+ show_splash_text(user, "contents dumped", SPAN("notice", "You dump the contents of \the [src]."))
eject()
if("detach")
- show_splash_text(user, beaker ? "beaker detached." : "no beaker present!")
- detach()
+ if(beaker)
+ show_splash_text(user, "beaker detached", SPAN("notice", "You detach \the [beaker] from \the [src]."))
+ detach()
+ else
+ show_splash_text(user, "no beaker present!", SPAN("notice", "There's no beaker in \the [src]."))
/obj/machinery/reagentgrinder/proc/_generate_buttons()
LAZYINITLIST(choices)
diff --git a/code/modules/reagents/Chemistry-Reagents/basic.dm b/code/modules/reagents/Chemistry-Reagents/basic.dm
index 3047422656e..d458c15d97e 100644
--- a/code/modules/reagents/Chemistry-Reagents/basic.dm
+++ b/code/modules/reagents/Chemistry-Reagents/basic.dm
@@ -340,6 +340,7 @@
qdel(H.head)
H.update_inv_head(1)
H.update_hair(1)
+ H.update_facial_hair(1)
removed -= meltdose
if(removed <= 0)
return
@@ -354,6 +355,7 @@
qdel(H.wear_mask)
H.update_inv_wear_mask(1)
H.update_hair(1)
+ H.update_facial_hair(1)
removed -= meltdose
if(removed <= 0)
return
diff --git a/code/modules/reagents/Chemistry-Reagents/caffeine.dm b/code/modules/reagents/Chemistry-Reagents/caffeine.dm
new file mode 100644
index 00000000000..ff0f9af3c0b
--- /dev/null
+++ b/code/modules/reagents/Chemistry-Reagents/caffeine.dm
@@ -0,0 +1,142 @@
+/datum/reagent/caffeine
+ name = "Caffeine"
+ description = "Central nervous system stimulant."
+ taste_mult = 0
+ reagent_state = SOLID
+ color = "#ffffff"
+
+ glass_icon = DRINK_ICON_NOISY
+
+ var/nutrition = 0 // Per unit
+ var/adj_dizzy = 0 // Per tick
+ var/adj_drowsy = 0
+ var/adj_sleepy = 0
+ var/adj_temp = 0
+ var/adj_speed = 0
+
+/datum/reagent/caffeine/affect_ingest(mob/living/carbon/M, alien, removed)
+ if(alien == IS_DIONA)
+ return
+
+ . = ..()
+
+ M.add_nutrition(nutrition * removed)
+ M.dizziness = max(0, M.dizziness + adj_dizzy)
+ M.drowsyness = max(0, M.drowsyness + adj_drowsy)
+ M.sleeping = max(0, M.sleeping + adj_sleepy)
+ if(adj_temp > 0 && M.bodytemperature < 310) // 310 is the normal bodytemp. 310.055
+ M.bodytemperature = min(310, M.bodytemperature + (adj_temp * TEMPERATURE_DAMAGE_COEFFICIENT))
+ if(adj_temp < 0 && M.bodytemperature > 310)
+ M.bodytemperature = min(310, M.bodytemperature - (adj_temp * TEMPERATURE_DAMAGE_COEFFICIENT))
+ if(adj_speed)
+ M.add_up_to_chemical_effect(adj_speed < 0 ? CE_SLOWDOWN : CE_SPEEDBOOST, adj_speed)
+
+ if(alien == IS_TAJARA)
+ M.adjustToxLoss(0.5 * removed)
+ M.make_jittery(4)
+
+ if(adj_temp > 0)
+ holder.remove_reagent(/datum/reagent/frostoil, 10 * removed)
+
+ if(volume > 15)
+ M.add_chemical_effect(CE_PULSE, 1)
+
+/datum/reagent/caffeine/affect_blood(mob/living/carbon/M, alien, removed)
+ . = ..()
+ if(alien == IS_TAJARA)
+ M.adjustToxLoss(2 * removed)
+ M.make_jittery(4)
+ return
+
+ M.add_chemical_effect(CE_PULSE, 2)
+ M.adjustToxLoss(removed) // Probably not a good idea; not very deadly though
+
+/datum/reagent/caffeine/overdose(mob/living/carbon/M, alien)
+ if(alien == IS_DIONA)
+ return
+
+ if(alien == IS_TAJARA)
+ M.adjustToxLoss(4 * REM)
+ M.apply_effect(3, STUTTER)
+
+ M.make_jittery(5)
+ M.add_chemical_effect(CE_PULSE, 2)
+ M.add_up_to_chemical_effect(CE_SPEEDBOOST, 1)
+
+/datum/reagent/caffeine/coffee
+ name = "Coffee"
+ description = "Coffee is a brewed drink prepared from roasted seeds, commonly called coffee beans, of the coffee plant."
+ taste_description = "bitterness"
+ taste_mult = 1.3
+ color = "#482000"
+ adj_dizzy = -5
+ adj_drowsy = -3
+ adj_sleepy = -2
+ adj_temp = 25
+ adj_speed = 0.3
+ overdose = 45
+
+ glass_name = "coffee"
+ glass_desc = "Don't drop it, or you'll send scalding liquid and glass shards everywhere."
+ glass_special = list(DRINK_VAPOR)
+
+/datum/reagent/caffeine/coffee/cafe_latte
+ name = "Cafe Latte"
+ description = "A nice, strong and tasty beverage while you are reading."
+ taste_description = "bitter cream"
+ color = "#c65905"
+ adj_temp = 5
+
+ glass_required = "coffeecup"
+ glass_icon_state = "coffeelatte"
+ glass_name = "cafe latte"
+ glass_desc = "A nice, strong and refreshing beverage while you are reading."
+
+/datum/reagent/caffeine/coffee/cafe_latte/affect_ingest(mob/living/carbon/M, alien, removed)
+ . = ..()
+ M.heal_organ_damage(0.5 * removed, 0)
+
+/datum/reagent/caffeine/coffee/icecoffee
+ name = "Iced Coffee"
+ description = "Coffee and ice, refreshing and cool."
+ taste_description = "bitter coldness"
+ color = "#888179"
+ adj_temp = -5
+
+ glass_required = "square"
+ glass_icon_state = "coffeelatte"
+ glass_name = "iced coffee"
+ glass_desc = "A drink to perk you up and refresh you!"
+ glass_special = list(DRINK_ICE)
+
+/datum/reagent/caffeine/coffee/soy_latte
+ name = "Soy Latte"
+ description = "A nice and tasty beverage while you are reading your hippie books."
+ taste_description = "creamy coffee"
+ color = "#c65905"
+ adj_temp = 5
+
+ glass_required = "coffeecup"
+ glass_icon_state = "soylatte"
+ glass_name = "soy latte"
+ glass_desc = "A nice and refrshing beverage while you are reading."
+
+/datum/reagent/caffeine/coffee/soy_latte/affect_ingest(mob/living/carbon/M, alien, removed)
+ ..()
+ M.heal_organ_damage(0.5 * removed, 0)
+
+/datum/reagent/caffeine/coffee/cappuccino
+ name = "Cappuccino"
+ description = "A nice, light coffee beverage made of espresso and steamed milk."
+ taste_description = "creamy coffee"
+ color = "#c65905"
+ adj_temp = 5
+
+ glass_required = "coffeecup"
+ glass_icon_state = "cappuccino"
+ glass_name = "cappuccino"
+ glass_desc = "A nice, light coffee beverage made of espresso and steamed milk."
+
+/datum/reagent/caffeine/coffee/cappuccino/affect_ingest(mob/living/carbon/M, alien, removed)
+ ..()
+ M.heal_organ_damage(0.5 * removed, 0)
diff --git a/code/modules/reagents/Chemistry-Reagents/ethanol.dm b/code/modules/reagents/Chemistry-Reagents/ethanol.dm
index f23aacd3b1d..39335eb733c 100644
--- a/code/modules/reagents/Chemistry-Reagents/ethanol.dm
+++ b/code/modules/reagents/Chemistry-Reagents/ethanol.dm
@@ -241,7 +241,7 @@
M.apply_effect(3, STUTTER)
M.make_jittery(5)
-/datum/reagent/ethanol/coffee/kahlua
+/datum/reagent/ethanol/kahlua
name = "Kahlua"
description = "A widely known, Mexican coffee-flavoured liqueur. In production since 1936!"
taste_description = "spiked latte"
diff --git a/code/modules/reagents/Chemistry-Reagents/food_drinks.dm b/code/modules/reagents/Chemistry-Reagents/food_drinks.dm
index 49b7faf642e..9e120360b6c 100644
--- a/code/modules/reagents/Chemistry-Reagents/food_drinks.dm
+++ b/code/modules/reagents/Chemistry-Reagents/food_drinks.dm
@@ -704,114 +704,6 @@
glass_desc = "No relation to a certain rap artist/ actor."
glass_special = list(DRINK_ICE)
-/datum/reagent/drink/coffee
- name = "Coffee"
- description = "Coffee is a brewed drink prepared from roasted seeds, commonly called coffee beans, of the coffee plant."
- taste_description = "bitterness"
- taste_mult = 1.3
- color = "#482000"
- adj_dizzy = -5
- adj_drowsy = -3
- adj_sleepy = -2
- adj_temp = 25
- adj_speed = 0.3
- overdose = 45
-
- glass_name = "coffee"
- glass_desc = "Don't drop it, or you'll send scalding liquid and glass shards everywhere."
- glass_special = list(DRINK_VAPOR)
-
-/datum/reagent/drink/coffee/affect_ingest(mob/living/carbon/M, alien, removed)
- if(alien == IS_DIONA)
- return
- ..()
- if(alien == IS_TAJARA)
- M.adjustToxLoss(0.5 * removed)
- M.make_jittery(4) //extra sensitive to caffine
- if(adj_temp > 0)
- holder.remove_reagent(/datum/reagent/frostoil, 10 * removed)
- if(volume > 15)
- M.add_chemical_effect(CE_PULSE, 1)
-
-/datum/reagent/nutriment/coffee/affect_blood(mob/living/carbon/M, alien, removed)
- ..()
- if(alien == IS_TAJARA)
- M.adjustToxLoss(2 * removed)
- M.make_jittery(4)
- return
- M.add_chemical_effect(CE_PULSE, 2)
-
-/datum/reagent/drink/coffee/overdose(mob/living/carbon/M, alien)
- if(alien == IS_DIONA)
- return
- if(alien == IS_TAJARA)
- M.adjustToxLoss(4 * REM)
- M.apply_effect(3, STUTTER)
- M.make_jittery(5)
- M.add_chemical_effect(CE_PULSE, 2)
- M.add_up_to_chemical_effect(CE_SPEEDBOOST, 1)
-
-/datum/reagent/drink/coffee/icecoffee
- name = "Iced Coffee"
- description = "Coffee and ice, refreshing and cool."
- taste_description = "bitter coldness"
- color = "#888179"
- adj_temp = -5
-
- glass_required = "square"
- glass_icon_state = "coffeelatte"
- glass_name = "iced coffee"
- glass_desc = "A drink to perk you up and refresh you!"
- glass_special = list(DRINK_ICE)
-
-/datum/reagent/drink/coffee/soy_latte
- name = "Soy Latte"
- description = "A nice and tasty beverage while you are reading your hippie books."
- taste_description = "creamy coffee"
- color = "#c65905"
- adj_temp = 5
-
- glass_required = "coffeecup"
- glass_icon_state = "soylatte"
- glass_name = "soy latte"
- glass_desc = "A nice and refrshing beverage while you are reading."
-
-/datum/reagent/drink/coffee/soy_latte/affect_ingest(mob/living/carbon/M, alien, removed)
- ..()
- M.heal_organ_damage(0.5 * removed, 0)
-
-/datum/reagent/drink/coffee/cafe_latte
- name = "Cafe Latte"
- description = "A nice, strong and tasty beverage while you are reading."
- taste_description = "bitter cream"
- color = "#c65905"
- adj_temp = 5
-
- glass_required = "coffeecup"
- glass_icon_state = "coffeelatte"
- glass_name = "cafe latte"
- glass_desc = "A nice, strong and refreshing beverage while you are reading."
-
-/datum/reagent/drink/coffee/cafe_latte/affect_ingest(mob/living/carbon/M, alien, removed)
- ..()
- M.heal_organ_damage(0.5 * removed, 0)
-
-/datum/reagent/drink/coffee/cappuccino
- name = "Cappuccino"
- description = "A nice, light coffee beverage made of espresso and steamed milk."
- taste_description = "creamy coffee"
- color = "#c65905"
- adj_temp = 5
-
- glass_required = "coffeecup"
- glass_icon_state = "cappuccino"
- glass_name = "cappuccino"
- glass_desc = "A nice, light coffee beverage made of espresso and steamed milk."
-
-/datum/reagent/drink/coffee/cappuccino/affect_ingest(mob/living/carbon/M, alien, removed)
- ..()
- M.heal_organ_damage(0.5 * removed, 0)
-
/datum/reagent/drink/hot_coco
name = "Hot Chocolate"
description = "Made with love! And cocoa beans."
@@ -1156,3 +1048,31 @@
glass_name = "nothing"
glass_desc = "Absolutely nothing."
+
+/datum/reagent/nutriment/magical_custard
+ name = "Magical Custard"
+ description = "It's both tasty and healthy. Must be magic."
+ taste_description = "sweet pleasure"
+ reagent_state = LIQUID
+ color = "#FFE6A3"
+ scannable = TRUE
+ flags = IGNORE_MOB_SIZE
+
+/datum/reagent/magical_custard/affect_ingest(mob/living/carbon/M, alien, removed)
+ M.heal_organ_damage(5 * removed, 5 * removed)
+
+/datum/reagent/astrotame
+ name = "Astrotame"
+ description = "A space age artifical sweetener."
+ reagent_state = SOLID
+ color = "#FFFFFF" // rgb: 255, 255, 255
+ taste_mult = 8
+ taste_description = "sweetness"
+
+/datum/reagent/sugar/caramel
+ name = "Caramel"
+ description = "Who would have guessed that heating sugar is so delicious?"
+ taste_description = "bitter sweetness"
+ taste_mult = 2
+ reagent_state = SOLID
+ color = "#ffffff"
diff --git a/code/modules/reagents/Chemistry-Reagents/toxins.dm b/code/modules/reagents/Chemistry-Reagents/toxins.dm
index 8e0c046940a..92ab854a411 100644
--- a/code/modules/reagents/Chemistry-Reagents/toxins.dm
+++ b/code/modules/reagents/Chemistry-Reagents/toxins.dm
@@ -584,7 +584,7 @@
to_chat(H, "Your flesh rapidly mutates!")
H.set_species(SPECIES_PROMETHEAN)
H.shapeshifter_set_colour("#05ff9b")
- H.verbs -= /mob/living/carbon/human/proc/shapeshifter_select_colour
+ revoke_verb(H, /mob/living/carbon/human/proc/shapeshifter_select_colour)
return
var/obj/item/organ/external/O = pick(meatchunks)
to_chat(H, "Your [O.name]'s flesh mutates rapidly!")
@@ -743,6 +743,7 @@
M.h_style = "Sick"
M.f_style = "Great Beard"
M.update_hair()
+ M.update_facial_hair()
to_chat(M, SPAN_WARNING("You feel a chill, your skin feels heavier..."))
/datum/reagent/toxin/zombie
diff --git a/code/modules/reagents/Chemistry-Recipes.dm b/code/modules/reagents/Chemistry-Recipes.dm
index 1d034a644ee..fb0e194260a 100644
--- a/code/modules/reagents/Chemistry-Recipes.dm
+++ b/code/modules/reagents/Chemistry-Recipes.dm
@@ -1299,6 +1299,17 @@
..()
new /obj/item/golem_shell(get_turf(holder.my_atom))
+/datum/chemical_reaction/metroid/adamantine
+ name = "Adamantine"
+ result = null
+ required_reagents = list(/datum/reagent/blood = 5)
+ result_amount = 1
+ required = /obj/item/metroid_extract/adamantine
+
+/datum/chemical_reaction/metroid/adamantine/on_reaction(datum/reagents/holder)
+ ..()
+ new /obj/item/stack/material/adamantine(get_turf(holder.my_atom))
+
//Sepia
/datum/chemical_reaction/metroid/film
name = "Metroid Film"
@@ -1440,7 +1451,7 @@
S.visible_message(SPAN_DANGER("Infused with slime jelly, the core begins to expand uncontrollably!"))
S.icon_state = "metroidbang_active"
S.active = TRUE
- addtimer(CALLBACK(S, nameof(/obj/item/grenade.proc/detonate)), rand(15,60))
+ S.set_next_think_ctx("think_detonate", world.time + rand(1.5 SECONDS, 6 SECONDS))
var/lastkey = holder.my_atom.fingerprintslast
message_admins("[key_name_admin(lastkey)] primed an explosive Brorble Brorble for detonation.")
log_game("[key_name(lastkey)] primed an explosive Brorble Brorble for detonation.")
@@ -1603,8 +1614,8 @@
/datum/chemical_reaction/icecoffee
name = "Iced Coffee"
- result = /datum/reagent/drink/coffee/icecoffee
- required_reagents = list(/datum/reagent/drink/ice = 1, /datum/reagent/drink/coffee = 2)
+ result = /datum/reagent/caffeine/coffee/icecoffee
+ required_reagents = list(/datum/reagent/drink/ice = 1, /datum/reagent/caffeine/coffee = 2)
result_amount = 3
/datum/chemical_reaction/nuka_cola
@@ -1678,8 +1689,8 @@
/datum/chemical_reaction/kahlua
name = "Kahlua"
- result = /datum/reagent/ethanol/coffee/kahlua
- required_reagents = list(/datum/reagent/drink/coffee = 5, /datum/reagent/sugar = 5)
+ result = /datum/reagent/ethanol/kahlua
+ required_reagents = list(/datum/reagent/caffeine/coffee = 5, /datum/reagent/sugar = 5)
catalysts = list(/datum/reagent/enzyme = 5)
result_amount = 5
@@ -1766,7 +1777,7 @@
/datum/chemical_reaction/brave_bull
name = "Brave Bull"
result = /datum/reagent/ethanol/coffee/brave_bull
- required_reagents = list(/datum/reagent/ethanol/tequilla = 2, /datum/reagent/ethanol/coffee/kahlua = 1)
+ required_reagents = list(/datum/reagent/ethanol/tequilla = 2, /datum/reagent/ethanol/kahlua = 1)
result_amount = 3
/datum/chemical_reaction/tequilla_sunrise
@@ -1814,13 +1825,13 @@
/datum/chemical_reaction/irish_coffee
name = "Irish Coffee"
result = /datum/reagent/ethanol/coffee/irishcoffee
- required_reagents = list(/datum/reagent/ethanol/irish_cream = 1, /datum/reagent/drink/coffee = 1)
+ required_reagents = list(/datum/reagent/ethanol/irish_cream = 1, /datum/reagent/caffeine/coffee = 1)
result_amount = 2
/datum/chemical_reaction/b52
name = "B-52"
result = /datum/reagent/ethanol/coffee/b52
- required_reagents = list(/datum/reagent/ethanol/irish_cream = 1, /datum/reagent/ethanol/coffee/kahlua = 1, /datum/reagent/ethanol/cognac = 1)
+ required_reagents = list(/datum/reagent/ethanol/irish_cream = 1, /datum/reagent/ethanol/kahlua = 1, /datum/reagent/ethanol/cognac = 1)
result_amount = 3
/datum/chemical_reaction/atomicbomb
@@ -1856,7 +1867,7 @@
/datum/chemical_reaction/black_russian
name = "Black Russian"
result = /datum/reagent/ethanol/black_russian
- required_reagents = list(/datum/reagent/ethanol/vodka = 2, /datum/reagent/ethanol/coffee/kahlua = 1)
+ required_reagents = list(/datum/reagent/ethanol/vodka = 2, /datum/reagent/ethanol/kahlua = 1)
result_amount = 3
/datum/chemical_reaction/manhattan
@@ -1970,20 +1981,20 @@
/datum/chemical_reaction/soy_latte
name = "Soy Latte"
- result = /datum/reagent/drink/coffee/soy_latte
- required_reagents = list(/datum/reagent/drink/coffee = 1, /datum/reagent/drink/milk/soymilk = 1)
+ result = /datum/reagent/caffeine/coffee/soy_latte
+ required_reagents = list(/datum/reagent/caffeine/coffee = 1, /datum/reagent/drink/milk/soymilk = 1)
result_amount = 2
/datum/chemical_reaction/cafe_latte
name = "Cafe Latte"
- result = /datum/reagent/drink/coffee/cafe_latte
- required_reagents = list(/datum/reagent/drink/coffee = 1, /datum/reagent/drink/milk = 1)
+ result = /datum/reagent/caffeine/coffee/cafe_latte
+ required_reagents = list(/datum/reagent/caffeine/coffee = 1, /datum/reagent/drink/milk = 1)
result_amount = 2
/datum/chemical_reaction/cappuccino
name = "Cappuccino"
- result = /datum/reagent/drink/coffee/cappuccino
- required_reagents = list(/datum/reagent/drink/coffee = 2, /datum/reagent/drink/milk/cream = 1)
+ result = /datum/reagent/caffeine/coffee/cappuccino
+ required_reagents = list(/datum/reagent/caffeine/coffee = 2, /datum/reagent/drink/milk/cream = 1)
result_amount = 3
/datum/chemical_reaction/acidspit
@@ -2049,7 +2060,7 @@
/datum/chemical_reaction/devilskiss
name = "Devils Kiss"
result = /datum/reagent/ethanol/devilskiss
- required_reagents = list(/datum/reagent/blood = 1, /datum/reagent/ethanol/coffee/kahlua = 1, /datum/reagent/ethanol/rum = 1)
+ required_reagents = list(/datum/reagent/blood = 1, /datum/reagent/ethanol/kahlua = 1, /datum/reagent/ethanol/rum = 1)
result_amount = 3
/datum/chemical_reaction/hippiesdelight
@@ -2103,7 +2114,7 @@
/datum/chemical_reaction/rewriter
name = "Rewriter"
result = /datum/reagent/drink/rewriter
- required_reagents = list(/datum/reagent/drink/spacemountainwind = 1, /datum/reagent/drink/coffee = 1)
+ required_reagents = list(/datum/reagent/drink/spacemountainwind = 1, /datum/reagent/caffeine/coffee = 1)
result_amount = 2
/datum/chemical_reaction/suidream
@@ -2242,7 +2253,7 @@
/datum/chemical_reaction/espressomartini
name = "Espresso Martini"
result = /datum/reagent/ethanol/coffee/espressomartini
- required_reagents = list(/datum/reagent/ethanol/black_russian = 3, /datum/reagent/drink/coffee = 1, /datum/reagent/sugar = 1)
+ required_reagents = list(/datum/reagent/ethanol/black_russian = 3, /datum/reagent/caffeine/coffee = 1, /datum/reagent/sugar = 1)
result_amount = 5
/datum/chemical_reaction/shroombeer
diff --git a/code/modules/reagents/dispenser/cartridge.dm b/code/modules/reagents/dispenser/cartridge.dm
index c243539f535..777850de7f2 100644
--- a/code/modules/reagents/dispenser/cartridge.dm
+++ b/code/modules/reagents/dispenser/cartridge.dm
@@ -22,15 +22,18 @@
var/datum/reagent/R = spawn_reagent
setLabel(initial(R.name))
-/obj/item/reagent_containers/chem_disp_cartridge/_examine_text(mob/user)
+/obj/item/reagent_containers/chem_disp_cartridge/examine(mob/user, infix)
. = ..()
- . += "\nIt has a capacity of [volume] units."
+
+ . += "It has a capacity of [volume] units."
+
if(reagents.total_volume <= 0)
- . += "\nIt is empty."
+ . += "It is empty."
else
- . += "\nIt contains [reagents.total_volume] units of liquid."
+ . += "It contains [reagents.total_volume] units of liquid."
+
if(!is_open_container())
- . += "\nThe cap is sealed."
+ . += "The cap is sealed."
/obj/item/reagent_containers/chem_disp_cartridge/verb/verb_set_label()
set name = "Set Cartridge Label"
diff --git a/code/modules/reagents/dispenser/cartridge_presets.dm b/code/modules/reagents/dispenser/cartridge_presets.dm
index 857fcf9e4ee..1df664549ea 100644
--- a/code/modules/reagents/dispenser/cartridge_presets.dm
+++ b/code/modules/reagents/dispenser/cartridge_presets.dm
@@ -56,7 +56,7 @@
/obj/item/reagent_containers/chem_disp_cartridge/darkbeer
spawn_reagent = /datum/reagent/ethanol/beer/dark
/obj/item/reagent_containers/chem_disp_cartridge/kahlua
- spawn_reagent = /datum/reagent/ethanol/coffee/kahlua
+ spawn_reagent = /datum/reagent/ethanol/kahlua
/obj/item/reagent_containers/chem_disp_cartridge/whiskey
spawn_reagent = /datum/reagent/ethanol/whiskey
/obj/item/reagent_containers/chem_disp_cartridge/wine
@@ -110,11 +110,11 @@
// Bar, coffee
/obj/item/reagent_containers/chem_disp_cartridge/coffee
- spawn_reagent = /datum/reagent/drink/coffee
+ spawn_reagent = /datum/reagent/caffeine/coffee
/obj/item/reagent_containers/chem_disp_cartridge/cafe_latte
- spawn_reagent = /datum/reagent/drink/coffee/cafe_latte
+ spawn_reagent = /datum/reagent/caffeine/coffee/cafe_latte
/obj/item/reagent_containers/chem_disp_cartridge/soy_latte
- spawn_reagent = /datum/reagent/drink/coffee/soy_latte
+ spawn_reagent = /datum/reagent/caffeine/coffee/soy_latte
/obj/item/reagent_containers/chem_disp_cartridge/hot_coco
spawn_reagent = /datum/reagent/drink/hot_coco
/obj/item/reagent_containers/chem_disp_cartridge/milk
diff --git a/code/modules/reagents/dispenser/dispenser2.dm b/code/modules/reagents/dispenser/dispenser2.dm
index 8b4c7e43abf..f58b59e63e0 100644
--- a/code/modules/reagents/dispenser/dispenser2.dm
+++ b/code/modules/reagents/dispenser/dispenser2.dm
@@ -35,9 +35,9 @@
for(var/type in spawn_cartridges)
add_cartridge(new type(src))
-/obj/machinery/chemical_dispenser/_examine_text(mob/user)
+/obj/machinery/chemical_dispenser/examine(mob/user, infix)
. = ..()
- . += "\nIt has [cartridges.len] cartridges installed, and has space for [DISPENSER_MAX_CARTRIDGES - cartridges.len] more."
+ . += "It has [cartridges.len] cartridges installed, and has space for [DISPENSER_MAX_CARTRIDGES - cartridges.len] more."
/obj/machinery/chemical_dispenser/proc/add_cartridge(obj/item/reagent_containers/chem_disp_cartridge/C, mob/user)
if(!istype(C))
diff --git a/code/modules/reagents/dispenser/supply.dm b/code/modules/reagents/dispenser/supply.dm
index 69e3855c718..2219260475a 100644
--- a/code/modules/reagents/dispenser/supply.dm
+++ b/code/modules/reagents/dispenser/supply.dm
@@ -84,7 +84,6 @@
contains = list(
/obj/item/reagent_containers/chem_disp_cartridge/water,
/obj/item/reagent_containers/chem_disp_cartridge/ice,
- /obj/item/reagent_containers/chem_disp_cartridge/coffee,
/obj/item/reagent_containers/chem_disp_cartridge/cream,
/obj/item/reagent_containers/chem_disp_cartridge/tea,
/obj/item/reagent_containers/chem_disp_cartridge/icetea,
@@ -107,9 +106,6 @@
/decl/hierarchy/supply_pack/reagents/coffee_reagents
name = "Coffee machine dispenser refill"
contains = list(
- /obj/item/reagent_containers/chem_disp_cartridge/coffee,
- /obj/item/reagent_containers/chem_disp_cartridge/cafe_latte,
- /obj/item/reagent_containers/chem_disp_cartridge/soy_latte,
/obj/item/reagent_containers/chem_disp_cartridge/hot_coco,
/obj/item/reagent_containers/chem_disp_cartridge/milk,
/obj/item/reagent_containers/chem_disp_cartridge/cream,
@@ -217,9 +213,6 @@ PACK(lemon_lime, /obj/item/reagent_containers/chem_disp_cartridge/lemon_lime, "R
PACK(orange, /obj/item/reagent_containers/chem_disp_cartridge/orange, "Reagent refill - Orange Juice", "orange juice reagent cartridge crate", 15)
PACK(lime, /obj/item/reagent_containers/chem_disp_cartridge/lime, "Reagent refill - Lime Juice", "lime juice reagent cartridge crate", 15)
PACK(watermelon, /obj/item/reagent_containers/chem_disp_cartridge/watermelon, "Reagent refill - Watermelon Juice", "watermelon juice reagent cartridge crate", 15)
-PACK(coffee, /obj/item/reagent_containers/chem_disp_cartridge/coffee, "Reagent refill - Coffee", "coffee reagent cartridge crate", 15)
-PACK(cafe_latte, /obj/item/reagent_containers/chem_disp_cartridge/cafe_latte, "Reagent refill - Cafe Latte", "cafe latte reagent cartridge crate", 15)
-PACK(soy_latte, /obj/item/reagent_containers/chem_disp_cartridge/soy_latte, "Reagent refill - Soy Latte", "soy latte reagent cartridge crate", 15)
PACK(hot_coco, /obj/item/reagent_containers/chem_disp_cartridge/hot_coco, "Reagent refill - Hot Coco", "hot coco reagent cartridge crate", 15)
PACK(milk, /obj/item/reagent_containers/chem_disp_cartridge/milk, "Reagent refill - Milk", "milk reagent cartridge crate", 15)
PACK(cream, /obj/item/reagent_containers/chem_disp_cartridge/cream, "Reagent refill - Cream", "cream reagent cartridge crate", 15)
diff --git a/code/modules/reagents/reagent_containers.dm b/code/modules/reagents/reagent_containers.dm
index 3a1573f90ea..c8d0e5e750a 100644
--- a/code/modules/reagents/reagent_containers.dm
+++ b/code/modules/reagents/reagent_containers.dm
@@ -209,7 +209,8 @@
else
return ..()
-/obj/item/reagent_containers/_examine_text(mob/user)
+/obj/item/reagent_containers/examine(mob/user, infix)
. = ..()
+
if(hasHUD(user, HUD_SCIENCE))
- . += "\nThe [src] contains: [reagents.get_reagents()]."
+ . += SPAN_NOTICE("The [src] contains: [reagents.get_reagents()].")
diff --git a/code/modules/reagents/reagent_containers/blood_pack.dm b/code/modules/reagents/reagent_containers/blood_pack.dm
index 402e601d4f5..688f53e9662 100644
--- a/code/modules/reagents/reagent_containers/blood_pack.dm
+++ b/code/modules/reagents/reagent_containers/blood_pack.dm
@@ -62,9 +62,10 @@
else
..()
-/obj/item/reagent_containers/ivbag/_examine_text(mob/user, distance = 2)
+/obj/item/reagent_containers/ivbag/examine(mob/user, infix)
. = ..()
- if (vampire_marks)
+
+ if(vampire_marks)
. += SPAN_WARNING("There are teeth marks on it.")
/obj/item/reagent_containers/attackby(obj/item/W as obj, mob/user as mob)
diff --git a/code/modules/reagents/reagent_containers/borghydro.dm b/code/modules/reagents/reagent_containers/borghydro.dm
index 9c1809b8333..39802c216e4 100644
--- a/code/modules/reagents/reagent_containers/borghydro.dm
+++ b/code/modules/reagents/reagent_containers/borghydro.dm
@@ -44,7 +44,7 @@
reagent_volumes[T] = volume
var/datum/reagent/R = T
reagent_names += initial(R.name)
-
+
set_next_think(world.time)
/obj/item/reagent_containers/borghypo/think() //Every [recharge_time] seconds, recharge some reagents for the cyborg+
@@ -112,14 +112,14 @@
to_chat(usr, "Synthesizer is now producing '[initial(R.name)]'.")
return TOPIC_REFRESH
-/obj/item/reagent_containers/borghypo/_examine_text(mob/user)
+/obj/item/reagent_containers/borghypo/examine(mob/user, infix)
. = ..()
+
if(get_dist(src, user) > 2)
return
var/datum/reagent/R = reagent_ids[mode]
-
- . += "\nIt is currently producing [initial(R.name)] and has [reagent_volumes[reagent_ids[mode]]] out of [volume] units left."
+ . += SPAN_NOTICE("It is currently producing [initial(R.name)] and has [reagent_volumes[reagent_ids[mode]]] out of [volume] units left.")
/obj/item/reagent_containers/borghypo/service
name = "cyborg drink synthesizer"
@@ -130,7 +130,7 @@
recharge_time = 3
volume = 60
possible_transfer_amounts = "5;10;20;30"
- reagent_ids = list(/datum/reagent/ethanol/beer, /datum/reagent/ethanol/coffee/kahlua, /datum/reagent/ethanol/whiskey, /datum/reagent/ethanol/wine, /datum/reagent/ethanol/vodka, /datum/reagent/ethanol/gin, /datum/reagent/ethanol/rum, /datum/reagent/ethanol/tequilla, /datum/reagent/ethanol/vermouth, /datum/reagent/ethanol/cognac, /datum/reagent/ethanol/ale, /datum/reagent/ethanol/mead, /datum/reagent/water, /datum/reagent/sugar, /datum/reagent/drink/ice, /datum/reagent/drink/tea, /datum/reagent/drink/tea/icetea, /datum/reagent/drink/space_cola, /datum/reagent/drink/spacemountainwind, /datum/reagent/drink/dr_gibb, /datum/reagent/drink/space_up, /datum/reagent/drink/tonic, /datum/reagent/drink/sodawater, /datum/reagent/drink/lemon_lime, /datum/reagent/drink/juice/orange, /datum/reagent/drink/juice/lime, /datum/reagent/drink/juice/watermelon)
+ reagent_ids = list(/datum/reagent/ethanol/beer, /datum/reagent/ethanol/kahlua, /datum/reagent/ethanol/whiskey, /datum/reagent/ethanol/wine, /datum/reagent/ethanol/vodka, /datum/reagent/ethanol/gin, /datum/reagent/ethanol/rum, /datum/reagent/ethanol/tequilla, /datum/reagent/ethanol/vermouth, /datum/reagent/ethanol/cognac, /datum/reagent/ethanol/ale, /datum/reagent/ethanol/mead, /datum/reagent/water, /datum/reagent/sugar, /datum/reagent/drink/ice, /datum/reagent/drink/tea, /datum/reagent/drink/tea/icetea, /datum/reagent/drink/space_cola, /datum/reagent/drink/spacemountainwind, /datum/reagent/drink/dr_gibb, /datum/reagent/drink/space_up, /datum/reagent/drink/tonic, /datum/reagent/drink/sodawater, /datum/reagent/drink/lemon_lime, /datum/reagent/drink/juice/orange, /datum/reagent/drink/juice/lime, /datum/reagent/drink/juice/watermelon)
/obj/item/reagent_containers/borghypo/service/attack(mob/M, mob/user)
return
diff --git a/code/modules/reagents/reagent_containers/food/_food.dm b/code/modules/reagents/reagent_containers/food/_food.dm
index f409b91f8f9..2462bfeb146 100644
--- a/code/modules/reagents/reagent_containers/food/_food.dm
+++ b/code/modules/reagents/reagent_containers/food/_food.dm
@@ -123,7 +123,7 @@
admin_attack_log(user, M, "Fed the victim with [name] (Reagents: [contained])", "Was fed [src] (Reagents: [contained])", "used [src] (Reagents: [contained]) to feed")
user.visible_message(SPAN("danger", "[user] feeds [M] [src]."))
- if(reagents) //Handle ingestion of the reagent.
+ if(reagents && !(atom_flags & ATOM_FLAG_HOLOGRAM)) //Handle ingestion of the reagent.
playsound(M.loc, SFX_EAT, rand(45, 60), FALSE)
if(reagents.total_volume)
if(reagents.total_volume > bitesize)
@@ -150,12 +150,13 @@
return SPAN("notice", "\n\The [src] was bitten multiple times!")
-/obj/item/reagent_containers/food/_examine_text(mob/user)
+/obj/item/reagent_containers/food/examine(mob/user, infix)
. = ..()
+
if(get_dist(src, user) > 1)
return
- . += get_bitecount()
+ . += get_bitecount()
/obj/item/reagent_containers/food/throw_impact(atom/hit_atom, speed, thrown_with, target_zone)
var/mob/living/carbon/human/H = hit_atom
diff --git a/code/modules/reagents/reagent_containers/food/_lunch_helpers.dm b/code/modules/reagents/reagent_containers/food/_lunch_helpers.dm
index 0fa70aeb432..de8815dcdaa 100644
--- a/code/modules/reagents/reagent_containers/food/_lunch_helpers.dm
+++ b/code/modules/reagents/reagent_containers/food/_lunch_helpers.dm
@@ -90,7 +90,7 @@ var/list/lunchables_ethanol_reagents_ = list(
// Add reagent to [vacuum]-flask no need delete reagent from lunchables_ethanol_reagents_ it's works fine
var/list/additional_reagents = list(
/datum/reagent/drink/tea,
- /datum/reagent/drink/coffee,
+ /datum/reagent/caffeine/coffee,
/datum/reagent/drink/hot_coco,
/datum/reagent/drink/milkshake
)
diff --git a/code/modules/reagents/reagent_containers/food/meat.dm b/code/modules/reagents/reagent_containers/food/meat.dm
index 5b5f69d3606..c5cdadecea5 100644
--- a/code/modules/reagents/reagent_containers/food/meat.dm
+++ b/code/modules/reagents/reagent_containers/food/meat.dm
@@ -2,6 +2,7 @@
name = "meat"
desc = "A slab of meat."
icon_state = "meat"
+ item_state = "meat"
health = 180
filling_color = "#ff1c1c"
center_of_mass = "x=16;y=14"
@@ -52,6 +53,7 @@
name = "xenomeat"
desc = "A slab of green meat. Smells like acid."
icon_state = "xenomeat"
+ item_state = "xenomeat"
filling_color = "#43de18"
startswith = list(
/datum/reagent/nutriment/protein = 9,
diff --git a/code/modules/reagents/reagent_containers/food/sandwich.dm b/code/modules/reagents/reagent_containers/food/sandwich.dm
index 93feba6cae4..b6d9c0f344e 100644
--- a/code/modules/reagents/reagent_containers/food/sandwich.dm
+++ b/code/modules/reagents/reagent_containers/food/sandwich.dm
@@ -78,10 +78,11 @@
return ..()
-/obj/item/reagent_containers/food/csandwich/_examine_text(mob/user)
+/obj/item/reagent_containers/food/csandwich/examine(mob/user, infix)
. = ..()
+
var/obj/item/O = pick(contents)
- . += "\nYou think you can see [O.name] in there."
+ . += SPAN_WARNING("You think you can see [O.name] in there.")
/obj/item/reagent_containers/food/csandwich/attack(mob/M as mob, mob/user as mob, def_zone)
diff --git a/code/modules/reagents/reagent_containers/food/unsorted.dm b/code/modules/reagents/reagent_containers/food/unsorted.dm
index 3b92680ccec..15152dafc54 100644
--- a/code/modules/reagents/reagent_containers/food/unsorted.dm
+++ b/code/modules/reagents/reagent_containers/food/unsorted.dm
@@ -441,6 +441,10 @@
var/warm = FALSE
var/list/heated_reagents = list(/datum/reagent/tricordrazine = 5)
+/obj/item/reagent_containers/food/donkpocket/Initialize()
+ . = ..()
+ add_think_ctx("think_cool", CALLBACK(src, nameof(.proc/cooling)), 0)
+
/obj/item/reagent_containers/food/donkpocket/proc/heat()
if(warm)
return
@@ -453,12 +457,13 @@
/obj/item/reagent_containers/food/donkpocket/proc/cooltime()
if(warm)
- addtimer(CALLBACK(src, nameof(.proc/cooling), warm), 4200)
+ set_next_think_ctx("think_cool", world.time + 7 MINUTES)
return
/obj/item/reagent_containers/food/donkpocket/proc/cooling(warm)
if(!warm)
return
+
warm = FALSE
for(var/reagent in heated_reagents)
reagents.del_reagent(reagent)
@@ -471,13 +476,17 @@
heated_reagents = list(/datum/reagent/tricordrazine = 5, /datum/reagent/drink/doctor_delight = 5, /datum/reagent/hyperzine = 0.75, /datum/reagent/synaptizine = 0.25)
var/has_been_heated = 0
+/obj/item/reagent_containers/food/donkpocket/sinpocket/Initialize()
+ . = ..()
+ add_think_ctx("think_heat", CALLBACK(src, nameof(.proc/heat)), 0)
+
/obj/item/reagent_containers/food/donkpocket/sinpocket/attack_self(mob/user)
if(has_been_heated)
to_chat(user, "The heating chemicals have already been spent.")
return
has_been_heated = 1
user.visible_message("[user] crushes \the [src] package.", "You crush \the [src] package and feel a comfortable heat build up.")
- addtimer(CALLBACK(src, nameof(.proc/heat), user), 200)
+ set_next_think_ctx("think_heat", world.time + 20 SECONDS)
/obj/item/reagent_containers/food/donkpocket/sinpocket/heat(user)
if(user)
@@ -2259,3 +2268,12 @@
/datum/reagent/nutriment/protein = 4,
/datum/reagent/drink/juice/tomato = 5)
bitesize = 4
+
+/obj/item/reagent_containers/food/cream_puff
+ name = "Cream Puff"
+ desc = "Goes well before a workout. Goes even better after a workout. And most importantly, it's highkey perfect DURING a workout."
+ icon_state = "cream_puff"
+ filling_color = "#FFE6A3"
+ center_of_mass = "x=17;y=14"
+ startswith = list(/datum/reagent/nutriment/magical_custard = 6)
+ bitesize = 2
diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm
index 21a79ba9b71..93228f90a24 100644
--- a/code/modules/reagents/reagent_containers/hypospray.dm
+++ b/code/modules/reagents/reagent_containers/hypospray.dm
@@ -137,12 +137,13 @@
else
icon_state = "[base_state]0"
-/obj/item/reagent_containers/hypospray/autoinjector/_examine_text(mob/user)
+/obj/item/reagent_containers/hypospray/autoinjector/examine(mob/user, infix)
. = ..()
+
if(reagents && reagents.reagent_list.len)
- . += "\nIt is currently loaded."
+ . += SPAN_NOTICE("It is currently loaded.")
else
- . += "\nIt is spent."
+ . += SPAN_NOTICE("It is spent.")
/obj/item/reagent_containers/hypospray/autoinjector/detox
icon_state = "green1"
diff --git a/code/modules/reagents/reagent_containers/spray.dm b/code/modules/reagents/reagent_containers/spray.dm
index a0946da9529..40e9b05e634 100644
--- a/code/modules/reagents/reagent_containers/spray.dm
+++ b/code/modules/reagents/reagent_containers/spray.dm
@@ -116,11 +116,12 @@
spray_size = next_in_list(spray_size, spray_sizes)
to_chat(user, "You adjusted the pressure nozzle. You'll now use [amount_per_transfer_from_this] units per spray.")
-/obj/item/reagent_containers/spray/_examine_text(mob/user)
+/obj/item/reagent_containers/spray/examine(mob/user, infix)
. = ..()
+
if(get_dist(src, user) <= 0 && loc == user)
- . += "\n[round(external_container ? external_container.reagents.total_volume : reagents.total_volume)] unit\s left."
- return
+ . += "[round(external_container ? external_container.reagents.total_volume : reagents.total_volume)] unit\s left."
+
/obj/item/reagent_containers/spray/verb/empty()
@@ -168,10 +169,11 @@
step_delay = 1
startswith = list(/datum/reagent/capsaicin/condensed)
-/obj/item/reagent_containers/spray/pepper/_examine_text(mob/user)
+/obj/item/reagent_containers/spray/pepper/examine(mob/user, infix)
. = ..()
+
if(get_dist(src, user) <= 1)
- . += "\nThe safety is [safety ? "on" : "off"]."
+ . += "The safety is [safety ? "on" : "off"]."
/obj/item/reagent_containers/spray/pepper/attack_self(mob/user)
safety = !safety
diff --git a/code/modules/reagents/reagent_containers/vessel/_lid.dm b/code/modules/reagents/reagent_containers/vessel/_lid.dm
index 14d54e0bc1b..9a2c4c4a2e5 100644
--- a/code/modules/reagents/reagent_containers/vessel/_lid.dm
+++ b/code/modules/reagents/reagent_containers/vessel/_lid.dm
@@ -29,10 +29,10 @@
switch(state)
if(LID_NONE, LID_OPEN)
owner.atom_flags |= ATOM_FLAG_OPEN_CONTAINER
- owner.verbs |= /obj/item/reagent_containers/vessel/verb/drink_whole
+ owner.add_verb(owner.loc, /obj/item/reagent_containers/vessel/verb/drink_whole)
if(LID_CLOSED, LID_SEALED)
owner.atom_flags &= ~ATOM_FLAG_OPEN_CONTAINER
- owner.verbs -= /obj/item/reagent_containers/vessel/verb/drink_whole
+ owner.remove_verb(owner.loc, /obj/item/reagent_containers/vessel/verb/drink_whole)
/datum/vessel_lid/proc/toggle(mob/user)
return
@@ -59,14 +59,14 @@
playsound(owner.loc, 'sound/effects/pop.ogg', rand(20, 50), 1)
if(user)
to_chat(usr, SPAN("notice", "You take the [name] off \the [owner]."))
- owner.verbs |= /obj/item/reagent_containers/vessel/verb/drink_whole
+ owner.add_verb(owner.loc, /obj/item/reagent_containers/vessel/verb/drink_whole)
return TRUE
if(LID_OPEN)
owner.atom_flags &= ~ATOM_FLAG_OPEN_CONTAINER
state = LID_CLOSED
if(user)
to_chat(usr, SPAN("notice", "You put the [name] on \the [owner]."))
- owner.verbs -= /obj/item/reagent_containers/vessel/verb/drink_whole
+ owner.remove_verb(owner.loc, /obj/item/reagent_containers/vessel/verb/drink_whole)
return TRUE
return FALSE
@@ -83,14 +83,14 @@
playsound(owner.loc, 'sound/effects/cork.ogg', rand(20, 50), 1)
if(user)
to_chat(usr, SPAN("notice", "You pull the [name] out of \the [owner]."))
- owner.verbs |= /obj/item/reagent_containers/vessel/verb/drink_whole
+ owner.add_verb(owner.loc, /obj/item/reagent_containers/vessel/verb/drink_whole)
return TRUE
if(LID_OPEN)
owner.atom_flags &= ~ATOM_FLAG_OPEN_CONTAINER
state = LID_CLOSED
if(user)
to_chat(usr, SPAN("notice", "You push the [name] into \the [owner]."))
- owner.verbs -= /obj/item/reagent_containers/vessel/verb/drink_whole
+ owner.remove_verb(owner.loc, /obj/item/reagent_containers/vessel/verb/drink_whole)
return TRUE
return FALSE
@@ -106,7 +106,7 @@
to_chat(user, SPAN("notice", "You open \the [src] with an audible pop!"))
owner.atom_flags |= ATOM_FLAG_OPEN_CONTAINER
state = LID_NONE
- owner.verbs |= /obj/item/reagent_containers/vessel/verb/drink_whole
+ owner.add_verb(owner.loc, /obj/item/reagent_containers/vessel/verb/drink_whole)
return TRUE
return FALSE
@@ -131,7 +131,7 @@
to_chat(user, SPAN("notice", "You open \the [src] with an audible pop!"))
owner.atom_flags |= ATOM_FLAG_OPEN_CONTAINER
state = LID_NONE
- owner.verbs |= /obj/item/reagent_containers/vessel/verb/drink_whole
+ owner.add_verb(owner.loc, /obj/item/reagent_containers/vessel/verb/drink_whole)
return TRUE
return FALSE
@@ -151,7 +151,7 @@
to_chat(user, SPAN("notice", "You rip open \the [owner]!"))
owner.atom_flags |= ATOM_FLAG_OPEN_CONTAINER
state = LID_NONE
- owner.verbs |= /obj/item/reagent_containers/vessel/verb/drink_whole
+ owner.add_verb(owner.loc, /obj/item/reagent_containers/vessel/verb/drink_whole)
return TRUE
return FALSE
@@ -172,21 +172,21 @@
to_chat(user, SPAN("notice", "You twist open \the [owner]'s [name], destroying the safety seal!"))
owner.atom_flags |= ATOM_FLAG_OPEN_CONTAINER
state = LID_OPEN
- owner.verbs |= /obj/item/reagent_containers/vessel/verb/drink_whole
+ owner.add_verb(owner.loc, /obj/item/reagent_containers/vessel/verb/drink_whole)
return TRUE
if(LID_CLOSED)
owner.atom_flags |= ATOM_FLAG_OPEN_CONTAINER
state = LID_OPEN
if(user)
to_chat(usr, SPAN("notice", "You take \the [name] off \the [owner]."))
- owner.verbs |= /obj/item/reagent_containers/vessel/verb/drink_whole
+ owner.add_verb(owner.loc, /obj/item/reagent_containers/vessel/verb/drink_whole)
return TRUE
if(LID_OPEN)
owner.atom_flags &= ~ATOM_FLAG_OPEN_CONTAINER
state = LID_CLOSED
if(user)
to_chat(usr, SPAN("notice", "You put \the [name] on \the [owner]."))
- owner.verbs -= /obj/item/reagent_containers/vessel/verb/drink_whole
+ owner.remove_verb(owner.loc, /obj/item/reagent_containers/vessel/verb/drink_whole)
return TRUE
return FALSE
@@ -210,7 +210,7 @@
state = LID_OPEN
if(user)
to_chat(usr, SPAN("notice", "You open \the [owner]."))
- owner.verbs |= /obj/item/reagent_containers/vessel/verb/drink_whole
+ owner.add_verb(owner.loc, /obj/item/reagent_containers/vessel/verb/drink_whole)
return TRUE
if(LID_OPEN)
playsound(owner.loc, 'sound/effects/flask_lid1.ogg', rand(10, 30), 1)
@@ -218,7 +218,7 @@
state = LID_CLOSED
if(user)
to_chat(usr, SPAN("notice", "You close \the [owner]."))
- owner.verbs -= /obj/item/reagent_containers/vessel/verb/drink_whole
+ owner.remove_verb(owner.loc, /obj/item/reagent_containers/vessel/verb/drink_whole)
return TRUE
return FALSE
@@ -243,7 +243,7 @@
to_chat(user, SPAN("notice", "You peel off \the [owner]'s [name]!"))
owner.atom_flags |= ATOM_FLAG_OPEN_CONTAINER
state = LID_NONE
- owner.verbs |= /obj/item/reagent_containers/vessel/verb/drink_whole
+ owner.add_verb(owner.loc, /obj/item/reagent_containers/vessel/verb/drink_whole)
return TRUE
return FALSE
@@ -270,7 +270,7 @@
state = LID_OPEN
if(user)
to_chat(usr, SPAN("notice", "You take \the [name] off \the [owner]."))
- owner.verbs += /obj/item/reagent_containers/vessel/verb/drink_whole
+ owner.add_verb(owner.loc, /obj/item/reagent_containers/vessel/verb/drink_whole)
owner.amount_per_transfer_from_this = 10
owner.possible_transfer_amounts = "5;10;15;30"
return TRUE
@@ -279,7 +279,7 @@
state = LID_CLOSED
if(user)
to_chat(usr, SPAN("notice", "You put \the [name] on \the [owner]."))
- owner.verbs -= /obj/item/reagent_containers/vessel/verb/drink_whole
+ owner.remove_verb(owner.loc, /obj/item/reagent_containers/vessel/verb/drink_whole)
owner.amount_per_transfer_from_this = 3
owner.possible_transfer_amounts = "3;5"
return TRUE
diff --git a/code/modules/reagents/reagent_containers/vessel/_vessel.dm b/code/modules/reagents/reagent_containers/vessel/_vessel.dm
index 7fcd3a956b7..27f7d996fd7 100644
--- a/code/modules/reagents/reagent_containers/vessel/_vessel.dm
+++ b/code/modules/reagents/reagent_containers/vessel/_vessel.dm
@@ -175,16 +175,19 @@
else
SetName("[base_name] ([label_text])")
-/obj/item/reagent_containers/vessel/_examine_text(mob/user)
+/obj/item/reagent_containers/vessel/examine(mob/user, infix)
. = ..()
- . += "\nCan hold up to [volume] units."
+
+ . += "Can hold up to [volume] units."
+
if(get_dist(src, user) > 2)
return
+
if(precise_measurement)
if(reagents?.reagent_list.len)
- . += SPAN("notice", "\nIt contains [reagents.total_volume] units of liquid.")
+ . += SPAN_NOTICE("It contains [reagents.total_volume] units of liquid.")
else
- . += SPAN("notice", "\nIt is empty.")
+ . += SPAN_NOTICE("It is empty.")
else
var/ratio = 0
if(reagents?.total_volume)
@@ -201,7 +204,7 @@
ratio_text = "almost full"
else
ratio_text = "full"
- . += SPAN("notice", "\n\The [src] is [ratio_text]!")
+ . += SPAN_NOTICE("\The [src] is [ratio_text]!")
if(lid)
. += "\n[lid.get_examine_hint()]"
diff --git a/code/modules/reagents/reagent_containers/vessel/bottle.dm b/code/modules/reagents/reagent_containers/vessel/bottle.dm
index 7636ce2fe47..d0931f3cc32 100644
--- a/code/modules/reagents/reagent_containers/vessel/bottle.dm
+++ b/code/modules/reagents/reagent_containers/vessel/bottle.dm
@@ -243,3 +243,75 @@
bottle_addition = "pourer"
bottle_desc = "There is a pourer in the bottle."
icon_state = "pourer"
+
+/obj/item/reagent_containers/glass/coffee_cup
+ name = "coffee cup"
+ desc = "A heat-formed plastic coffee cup. Can theoretically be used for other hot drinks, if you're feeling adventurous."
+ icon = 'icons/obj/machines/coffeemaker.dmi'
+ icon_state = "coffee_cup_e"
+ base_icon_state = "coffee_cup"
+ possible_transfer_amounts = list(10)
+ volume = 30
+
+/obj/item/reagent_containers/glass/coffee_cup/on_update_icon()
+ icon_state = reagents.total_volume ? base_icon_state : "[base_icon_state]_e"
+
+/*
+ * Syrup bottles, basically a unspillable cup that transfers reagents upon clicking on it with a cup
+ */
+
+/obj/item/reagent_containers/vessel/bottle/syrup_bottle
+ name = "syrup bottle"
+ desc = "A bottle with a syrup pump to dispense the delicious substance directly into your coffee cup."
+ icon = 'icons/obj/reagent_containers/bottles.dmi'
+ icon_state = "syrup"
+ possible_transfer_amounts = list(5, 10)
+ amount_per_transfer_from_this = 5
+ lid_type = null
+ /// Whether this syrup's pump is toggled or not
+ var/pump_cap = TRUE
+ brittle = FALSE
+
+/obj/item/reagent_containers/vessel/bottle/syrup_bottle/examine(mob/user, infix)
+ . = ..()
+ . += SPAN_NOTICE("It's pump is [pump_cap ? "on" : "removed"].")
+ . += SPAN_NOTICE("Alt-click to toggle the pump cap.")
+
+/obj/item/reagent_containers/vessel/bottle/syrup_bottle/attackby(obj/item/W, mob/user)
+ if(pump_cap && W.is_open_container())
+ if(!reagents.total_volume)
+ show_splash_text(user, "bottle empty!")
+
+ var/free_amount = W.reagents.get_free_space()
+ if(free_amount <= 0)
+ show_splash_text(user, "container is full!")
+
+ var/transfer_amount = min(amount_per_transfer_from_this, free_amount)
+ reagents.trans_to(W, transfer_amount)
+
+ CutOverlays()
+ flick("syrup_anim", src)
+ update_icon()
+ return
+
+ return ..()
+
+/obj/item/reagent_containers/vessel/bottle/syrup_bottle/AltClick(mob/user)
+ pump_cap = !pump_cap
+ if(pump_cap)
+ show_splash_text(user, "put pump cap on")
+ icon_state = "syrup"
+ else
+ show_splash_text(user, "removed pump cap")
+ icon_state = "syrup_open"
+
+//types of syrups
+/obj/item/reagent_containers/vessel/bottle/syrup_bottle/caramel
+ name = "bottle of caramel syrup"
+ desc = "A pump bottle containing caramalized sugar, also known as caramel. Do not lick."
+ startswith = list(/datum/reagent/sugar/caramel)
+
+/obj/item/reagent_containers/vessel/bottle/syrup_bottle/liqueur
+ name = "bottle of coffee liqueur syrup"
+ desc = "A pump bottle containing mexican coffee-flavoured liqueur syrup. In production since 1936, HONK."
+ startswith = list(/datum/reagent/ethanol/kahlua)
diff --git a/code/modules/reagents/reagent_containers/vessel/condiment.dm b/code/modules/reagents/reagent_containers/vessel/condiment.dm
index 31d3994bb72..a9fbe9b826d 100644
--- a/code/modules/reagents/reagent_containers/vessel/condiment.dm
+++ b/code/modules/reagents/reagent_containers/vessel/condiment.dm
@@ -52,6 +52,7 @@
if(standard_dispenser_refill(user, target))
return
+
if(standard_pour_into(user, target))
return
@@ -132,6 +133,8 @@
if(/datum/reagent/sugar)
name = "Sugar"
desc = "Tastey space sugar!"
+ icon_state = "sugar"
+ item_state = "sugar"
center_of_mass = "x=16;y=6"
else
name = "Misc Condiment Bottle"
@@ -206,3 +209,140 @@
/obj/item/reagent_containers/vessel/condiment/flour/on_reagent_change()
return
+
+/obj/item/reagent_containers/vessel/condiment/astrotame
+ name = "astrotame pack"
+ startswith = list(/datum/reagent/astrotame)
+
+/obj/item/reagent_containers/vessel/condiment/creamer
+ name = "creamer"
+ startswith = list(/datum/reagent/drink/milk/cream)
+
+//Condiment packs. Packed sauces and sugar.
+
+/obj/item/reagent_containers/vessel/condiment/pack
+ name = "condiment pack"
+ desc = "A small plastic pack with condiments to put on your food."
+ icon_state = "condi_empty"
+ volume = 10
+ amount_per_transfer_from_this = 10
+ possible_transfer_amounts = list()
+
+/obj/item/reagent_containers/vessel/condiment/pack/on_reagent_change()
+ if(reagents.reagent_list.len > 0)
+ switch(reagents.get_master_reagent_type())
+ if(/datum/reagent/nutriment/ketchup)
+ name = "Ketchup"
+ desc = "You feel more American already."
+ icon_state = "condi_ketchup"
+ icon_state = "condi_ketchup"
+ center_of_mass = "x=16;y=6"
+ if(/datum/reagent/nutriment/barbecue)
+ name = "Barbecue Sauce"
+ desc = "Barbecue sauce, it's labeled 'sweet and spicy'"
+ icon_state = "condi_bbq"
+ icon_state = "condi_bbq"
+ center_of_mass = "x=16;y=6"
+ if(/datum/reagent/capsaicin)
+ name = "Hotsauce"
+ desc = "You can almost TASTE the stomach ulcers now!"
+ icon_state = "condi_hotsauce"
+ item_state = "condi_hotsauce"
+ center_of_mass = "x=16;y=6"
+ if(/datum/reagent/enzyme)
+ name = "Universal Enzyme"
+ desc = "Used in cooking various dishes."
+ icon_state = "condi_greygoo"
+ item_state = "condi_greygoo"
+ center_of_mass = "x=16;y=6"
+ if(/datum/reagent/nutriment/soysauce)
+ name = "Soy Sauce"
+ desc = "A salty soy-based flavoring."
+ icon_state = "condi_soysauce"
+ item_state = "condi_soysauce"
+ center_of_mass = "x=16;y=6"
+ if(/datum/reagent/frostoil)
+ name = "Coldsauce"
+ desc = "Leaves the tongue numb in its passage."
+ icon_state = "condi_frostoil"
+ item_state = "condi_frostoil"
+ center_of_mass = "x=16;y=6"
+ if(/datum/reagent/sodiumchloride)
+ name = "Salt Shaker"
+ desc = "Salt. From space oceans, presumably."
+ icon_state = "condi_salt"
+ item_state = "condi_salt"
+ center_of_mass = "x=16;y=10"
+ if(/datum/reagent/blackpepper)
+ name = "Pepper Mill"
+ desc = "Often used to flavor food or make people sneeze."
+ icon_state = "condi_pepper"
+ item_state = "condi_pepper"
+ center_of_mass = "x=16;y=10"
+ if(/datum/reagent/nutriment/cornoil)
+ name = "Corn Oil"
+ desc = "A delicious oil used in cooking. Made from corn."
+ icon_state = "condi_cornoil"
+ item_state = "condi_cornoil"
+ center_of_mass = "x=16;y=6"
+ if(/datum/reagent/sugar)
+ name = "Sugar"
+ desc = "Tastey space sugar!"
+ icon_state = "condi_sugar"
+ item_state = "condi_sugar"
+ center_of_mass = "x=16;y=6"
+ if(/datum/reagent/astrotame)
+ name = "Astrotame pack"
+ desc = "The sweetness of a thousand sugars but none of the calories!"
+ icon_state = "condi_astrotame"
+ item_state = "condi_astrotame"
+ center_of_mass = "x=16;y=6"
+ if(/datum/reagent/drink/milk/cream)
+ name = "Creamer pack"
+ desc = "The sweetness of a thousand sugars but none of the calories!"
+ icon_state = "condi_creamer"
+ item_state = "condi_creamer"
+ center_of_mass = "x=16;y=6"
+ else
+ name = "Misc Condiment Pack"
+ if (reagents.reagent_list.len==1)
+ desc = "Looks like it is [reagents.get_master_reagent_name()], but you are not sure."
+ else
+ desc = "A mixture of various condiments. [reagents.get_master_reagent_name()] is one of them."
+ icon_state = "condi_mixed"
+ item_state = "condi_mixed"
+ center_of_mass = "x=16;y=6"
+ else
+ icon_state = "condi_empty"
+ name = "Condiment Pack"
+ desc = "An empty condiment pack."
+ center_of_mass = "x=16;y=6"
+ if(label_text)
+ name = addtext(name," ([label_text])")
+
+/obj/item/reagent_containers/vessel/condiment/pack/attack(mob/M, mob/user, def_zone)
+ return // Well you can't really eat it
+
+/obj/item/reagent_containers/vessel/condiment/pack/ketchup
+ name = "ketchup pack"
+ startswith = list(/datum/reagent/nutriment/ketchup)
+
+/obj/item/reagent_containers/vessel/condiment/pack/hotsauce
+ name = "hotsauce pack"
+ startswith = list(/datum/reagent/capsaicin)
+
+/obj/item/reagent_containers/vessel/condiment/pack/astrotame
+ name = "astrotame pack"
+ startswith = list(/datum/reagent/astrotame)
+
+/obj/item/reagent_containers/vessel/condiment/pack/bbqsauce
+ name = "bbq sauce pack"
+ startswith = list(/datum/reagent/nutriment/barbecue)
+
+/obj/item/reagent_containers/vessel/condiment/pack/sugar
+ name = "sugar pack"
+ startswith = list(/datum/reagent/sugar)
+
+/obj/item/reagent_containers/vessel/condiment/pack/creamer
+ name = "creamer"
+ startswith = list(/datum/reagent/drink/milk/cream)
diff --git a/code/modules/reagents/reagent_containers/vessel/glass/_glass.dm b/code/modules/reagents/reagent_containers/vessel/glass/_glass.dm
index e160170025f..d84d0697e86 100644
--- a/code/modules/reagents/reagent_containers/vessel/glass/_glass.dm
+++ b/code/modules/reagents/reagent_containers/vessel/glass/_glass.dm
@@ -29,22 +29,22 @@
drop_sound = SFX_DROP_GLASS
pickup_sound = SFX_PICKUP_GLASS
-/obj/item/reagent_containers/vessel/glass/_examine_text(mob/M)
+/obj/item/reagent_containers/vessel/glass/examine(mob/user, infix)
. = ..()
for(var/I in extras)
if(istype(I, /obj/item/glass_extra))
- . += "\nThere is \a [I] in \the [src]."
+ . += "There is \a [I] in \the [src]."
else if(istype(I, /obj/item/reagent_containers/food/fruit_slice))
- . += "\nThere is \a [I] on the rim."
+ . += "There is \a [I] on the rim."
else
- . += "\nThere is \a [I] somewhere on the glass. Somehow."
+ . += "There is \a [I] somewhere on the glass. Somehow."
if(has_ice())
- . += "\nThere is some ice floating in the drink."
+ . += "There is some ice floating in the drink."
if(has_fizz())
- . += "\nIt is fizzing slightly."
+ . += "It is fizzing slightly."
/obj/item/reagent_containers/vessel/glass/proc/has_ice()
if(reagents?.reagent_list.len > 0)
diff --git a/code/modules/reagents/reagent_containers/vessel/presets/bottle.dm b/code/modules/reagents/reagent_containers/vessel/presets/bottle.dm
index eb1f08f0050..a528431d128 100644
--- a/code/modules/reagents/reagent_containers/vessel/presets/bottle.dm
+++ b/code/modules/reagents/reagent_containers/vessel/presets/bottle.dm
@@ -101,7 +101,7 @@
icon_state = "kahluabottle"
item_state = "kahluabottle"
center_of_mass = "x=17;y=3"
- startswith = list(/datum/reagent/ethanol/coffee/kahlua)
+ startswith = list(/datum/reagent/ethanol/kahlua)
rag_underlay = "rag_tall"
/obj/item/reagent_containers/vessel/bottle/goldschlager
diff --git a/code/modules/reagents/reagent_containers/vessel/unsorted.dm b/code/modules/reagents/reagent_containers/vessel/unsorted.dm
index 08a7778d5af..850c7b97c13 100644
--- a/code/modules/reagents/reagent_containers/vessel/unsorted.dm
+++ b/code/modules/reagents/reagent_containers/vessel/unsorted.dm
@@ -14,6 +14,8 @@
obj_flags = OBJ_FLAG_CONDUCTIBLE
lid_type = null
+#define OXYLOS_PER_HEAD_DIP 10
+
/obj/item/reagent_containers/vessel/bucket
desc = "It's a bucket."
name = "bucket"
@@ -47,30 +49,70 @@
user.pick_or_drop(new /obj/item/bucket_sensor)
qdel(src)
return
+
else if(istype(D, /obj/item/pipe))
to_chat(user, "You put \the [D] into \the [src].")
new /obj/item/hookah_construction(get_turf(src))
qdel(D)
qdel_self()
return
- else if(istype(D, /obj/item/mop) || (atom_flags & ATOM_FLAG_OPEN_CONTAINER))
+
+ else if(istype(D, /obj/item/mop) && (atom_flags & ATOM_FLAG_OPEN_CONTAINER))
if(reagents.total_volume < 1)
- to_chat(user, SPAN("warning", "\The [src] is empty!"))
+ show_splash_text(user, "no water!", SPAN("warning", "\The [src] is empty!"))
else
reagents.trans_to_obj(D, 5)
- to_chat(user, SPAN("notice", "You wet \the [D] in \the [src]."))
+ show_splash_text(user, "you wet the mop!", SPAN("notice", "You wet \the [D] in \the [src]."))
playsound(loc, 'sound/effects/slosh.ogg', 25, 1)
return
+
+ else if(istype(D, /obj/item/grab))
+ var/obj/item/grab/G = D
+
+ if(!isliving(G.affecting))
+ return
+
+ if(G.current_grab.state_name == NORM_PASSIVE)
+ to_chat(user, SPAN_NOTICE("You need a tighter grip!"))
+ return
+
+ if(reagents.total_volume < 1)
+ show_splash_text(user, "no water!", SPAN("warning", "\The [src] is empty!"))
+ return
+
+ user.visible_message(SPAN_DANGER("[user] starts to put [G.affecting.name]'s head into \the [src]!"), \
+ SPAN_DANGER("You start to put [G.affecting.name]'s head into \the [src]!"))
+ playsound(get_turf(src), GET_SFX(SFX_FOOTSTEP_WATER), 100, TRUE)
+ reagents.trans_to(G.affecting, min(reagents.total_volume, 10))
+
+ if(!do_after(user, 3 SECONDS, src, TRUE))
+ return
+
+ if(QDELETED(src) || !G?.affecting)
+ return
+
+
+ user.visible_message(SPAN_DANGER("[user] finally raises [G.affecting.name]'s head out of \the [src]!"), \
+ SPAN_DANGER("You raise [G.affecting.name]'s head out of \the [src]!"))
+ reagents.trans_to(G.affecting, min(reagents.total_volume, 5))
+ playsound(get_turf(src), GET_SFX(SFX_FOOTSTEP_WATER), 100, TRUE)
+ if(!G?.affecting?.internal && !G.affecting.isSynthetic())
+ G.affecting.adjustOxyLoss(OXYLOS_PER_HEAD_DIP)
+ G.affecting.emote("gasp")
+ return
+
else
return ..()
+#undef OXYLOS_PER_HEAD_DIP
+
/obj/item/reagent_containers/vessel/coffee
name = "\improper Robust Coffee"
desc = "Careful, the beverage you're about to enjoy is extremely hot."
icon_state = "coffee"
item_state = "coffee"
center_of_mass = "x=15;y=10"
- startswith = list(/datum/reagent/drink/coffee = 30)
+ startswith = list(/datum/reagent/caffeine/coffee = 30)
lid_type = null
unacidable = FALSE
@@ -302,6 +344,23 @@
lid_type = null
precise_measurement = TRUE
+/obj/item/reagent_containers/vessel/coffeepot
+ name = "coffeepot"
+ desc = "A large pot for dispensing that ambrosia of corporate life known to mortals only as coffee. Contains 4 standard cups."
+ icon_state = "coffeepot"
+ volume = 120
+ amount_per_transfer_from_this = 10
+ center_of_mass = "x=16;y=9"
+ filling_states = "1;30;60;100"
+ lid_type = null
+ precise_measurement = TRUE
+
+/obj/item/reagent_containers/vessel/coffeepot/bluespace
+ name = "bluespace coffeepot"
+ desc = "The most advanced coffeepot the eggheads could cook up: sleek design; graduated lines; connection to a pocket dimension for coffee containment; yep, it's got it all. Contains 8 standard cups."
+ volume = 240
+ icon_state = "coffeepot_bluespace"
+
/obj/item/reagent_containers/vessel/skullgoblet
name = "skull goblet"
desc = "Great for dancing on the barrows of your enemies."
diff --git a/code/modules/reagents/reagent_dispenser.dm b/code/modules/reagents/reagent_dispenser.dm
index 53b7418fb98..3603190e59a 100644
--- a/code/modules/reagents/reagent_dispenser.dm
+++ b/code/modules/reagents/reagent_dispenser.dm
@@ -30,16 +30,18 @@
..()
-/obj/structure/reagent_dispensers/_examine_text(mob/user)
+/obj/structure/reagent_dispensers/examine(mob/user, infix)
. = ..()
+
if(get_dist(src, user) > 2)
return
- . += "\nIt contains:"
+
+ . += SPAN_NOTICE("It contains:")
if(reagents && reagents.reagent_list.len)
for(var/datum/reagent/R in reagents.reagent_list)
- . += "\n[R.volume] units of [R.name]"
+ . += SPAN_NOTICE("[R.volume] units of [R.name]")
else
- . += "\nNothing."
+ . += SPAN_NOTICE("Nothing.")
/obj/structure/reagent_dispensers/verb/set_APTFT() //set amount_per_transfer_from_this
set name = "Set transfer amount"
@@ -117,14 +119,16 @@
QDEL_NULL(rig)
return ..()
-/obj/structure/reagent_dispensers/fueltank/_examine_text(mob/user)
+/obj/structure/reagent_dispensers/fueltank/examine(mob/user, infix)
. = ..()
+
if(get_dist(src, user) > 2)
return
+
if(modded)
- . += "\n" + SPAN("warning", "Fuel faucet is wrenched open, leaking the fuel!")
+ . += SPAN("warning", "Fuel faucet is wrenched open, leaking the fuel!")
if(rig)
- . += "\n" + SPAN("notice", "There is some kind of device rigged to the tank.")
+ . += SPAN("notice", "There is some kind of device rigged to the tank.")
/obj/structure/reagent_dispensers/fueltank/attack_hand(mob/user)
if(rig)
diff --git a/code/modules/recycling/disposal-construction.dm b/code/modules/recycling/disposal-construction.dm
index 9642c445f82..f731e9b1ecf 100644
--- a/code/modules/recycling/disposal-construction.dm
+++ b/code/modules/recycling/disposal-construction.dm
@@ -9,6 +9,7 @@
icon_state = "conpipe-s"
anchored = 0
density = 0
+ obj_flags = OBJ_FLAG_ANCHOR_BLOCKS_ROTATION
matter = list(MATERIAL_STEEL = 1850)
level = 2
var/sortType = ""
@@ -18,16 +19,22 @@
var/dpdir = 0 // directions as disposalpipe
var/base_state = "pipe-s"
-/obj/structure/disposalconstruct/Initialize()
- update_verbs()
+/obj/structure/disposalconstruct/Initialize(mapload, pipe_type, pipe_subtype)
. = ..()
+ if(pipe_type)
+ ptype = pipe_type
+
+ if(pipe_subtype)
+ subtype = pipe_subtype
+
+ update_verbs()
+
+ AddElement(/datum/element/simple_rotation)
/obj/structure/disposalconstruct/proc/update_verbs()
if(anchored)
- verbs -= /obj/structure/disposalconstruct/proc/rotate
verbs -= /obj/structure/disposalconstruct/proc/flip
else
- verbs += /obj/structure/disposalconstruct/proc/rotate
verbs += /obj/structure/disposalconstruct/proc/flip
// update iconstate and dpdir due to dir and type
@@ -55,16 +62,19 @@
if(5)
base_state = "pipe-t"
dpdir = dir
+ set_density(TRUE)
// disposal bin has only one dir, thus we don't need to care about setting it
if(6)
if(anchored)
base_state = "disposal"
else
base_state = "condisposal"
+ set_density(TRUE)
if(7)
base_state = "outlet"
dpdir = dir
+ set_density(TRUE)
if(8)
base_state = "intake"
@@ -114,23 +124,6 @@
set_invisibility((intact && level==1) ? 101: 0) // hide if floor is intact
update()
-
-// flip and rotate verbs
-/obj/structure/disposalconstruct/proc/rotate()
- set category = "Object"
- set name = "Rotate Pipe"
- set src in view(1)
-
- if(usr.incapacitated())
- return
-
- if(anchored)
- to_chat(usr, "You must unfasten the pipe before rotating it.")
- return
-
- set_dir(turn(dir, -90))
- update()
-
/obj/structure/disposalconstruct/proc/flip()
set category = "Object"
set name = "Flip Pipe"
@@ -283,58 +276,57 @@
else if(isWelder(I))
if(anchored)
- var/obj/item/weldingtool/W = I
- if(W.remove_fuel(0,user))
- playsound(src.loc, 'sound/items/Welder2.ogg', 100, 1)
- to_chat(user, "Welding the [nicetype] in place.")
- if(do_after(user, 20, src))
- if(!src || !W.isOn()) return
- to_chat(user, "The [nicetype] has been welded in place!")
- update() // TODO: Make this neat
- if(ispipe) // Pipe
-
- var/pipetype = dpipetype()
- var/obj/structure/disposalpipe/P = new pipetype(src.loc)
- src.transfer_fingerprints_to(P)
- P.base_icon_state = base_state
- P.set_dir(dir)
- P.dpdir = dpdir
- P.update_icon()
-
- //Needs some special treatment ;)
- if(ptype == 5)
- var/obj/structure/disposalpipe/trunk/TrunkP = P
- TrunkP.getlinked()
- else if(ptype == 9 || ptype == 10)
- var/obj/structure/disposalpipe/sortjunction/SortP = P
- SortP.sortType = sortType
- SortP.updatedir()
- SortP.updatedesc()
- SortP.updatename()
-
- else if(ptype==6) // Disposal bin
- var/obj/machinery/disposal/P = new /obj/machinery/disposal(src.loc)
- src.transfer_fingerprints_to(P)
-
- else if(ptype==7) // Disposal outlet
-
- var/obj/structure/disposaloutlet/P = new /obj/structure/disposaloutlet(src.loc)
- src.transfer_fingerprints_to(P)
- P.set_dir(dir)
- var/obj/structure/disposalpipe/trunk/Trunk = CP
- Trunk.linked = P
-
- else if(ptype==8) // Disposal outlet
-
- var/obj/machinery/disposal/deliveryChute/P = new /obj/machinery/disposal/deliveryChute(src.loc)
- src.transfer_fingerprints_to(P)
- P.set_dir(dir)
-
- qdel(src)
- return
- else
- to_chat(user, "You need more welding fuel to complete this task.")
+ var/obj/item/weldingtool/WT = I
+ to_chat(user, "Welding the [nicetype] in place.")
+ if(!WT.use_tool(src, user, delay = 2 SECONDS, amount = 1))
+ return
+
+ if(QDELETED(src) || !user)
return
+
+ to_chat(user, "The [nicetype] has been welded in place!")
+ update() // TODO: Make this neat
+ if(ispipe) // Pipe
+ var/pipetype = dpipetype()
+ var/obj/structure/disposalpipe/P = new pipetype(src.loc)
+ src.transfer_fingerprints_to(P)
+ P.base_icon_state = base_state
+ P.set_dir(dir)
+ P.dpdir = dpdir
+ P.update_icon()
+
+ //Needs some special treatment ;)
+ if(ptype == 5)
+ var/obj/structure/disposalpipe/trunk/TrunkP = P
+ TrunkP.getlinked()
+ else if(ptype == 9 || ptype == 10)
+ var/obj/structure/disposalpipe/sortjunction/SortP = P
+ SortP.sortType = sortType
+ SortP.updatedir()
+ SortP.updatedesc()
+ SortP.updatename()
+
+ else if(ptype==6) // Disposal bin
+ var/obj/machinery/disposal/P = new /obj/machinery/disposal(src.loc)
+ src.transfer_fingerprints_to(P)
+
+ else if(ptype==7) // Disposal outlet
+
+ var/obj/structure/disposaloutlet/P = new /obj/structure/disposaloutlet(src.loc)
+ src.transfer_fingerprints_to(P)
+ P.set_dir(dir)
+ var/obj/structure/disposalpipe/trunk/Trunk = CP
+ Trunk.linked = P
+
+ else if(ptype==8) // Disposal outlet
+
+ var/obj/machinery/disposal/deliveryChute/P = new /obj/machinery/disposal/deliveryChute(src.loc)
+ src.transfer_fingerprints_to(P)
+ P.set_dir(dir)
+
+ qdel(src)
+ return
+
else
to_chat(user, "You need to attach it to the plating first!")
return
diff --git a/code/modules/recycling/disposal.dm b/code/modules/recycling/disposal.dm
index b92a1798ebb..c5ebed3745e 100644
--- a/code/modules/recycling/disposal.dm
+++ b/code/modules/recycling/disposal.dm
@@ -76,30 +76,25 @@
if(!panel_open)
to_chat(user, "You cannot work on the delivery chute if it is not turned off with its power connection exposed.")
- var/obj/item/weldingtool/W = I
- if(W.remove_fuel(0, user))
- playsound(src.loc, 'sound/items/Welder2.ogg', 100, 1)
- to_chat(user, "You start slicing the floorweld off the disposal unit.")
-
- if(do_after(user, 20, src))
- if(!src || !W.isOn())
- return
-
- eject() // In case if something's got inside while we were slicin' and the GC got fucked due to lag
- to_chat(user, "You sliced the floorweld off the disposal unit.")
- var/obj/structure/disposalconstruct/C = new (src.loc)
- transfer_fingerprints_to(C)
- C.ptype = 6 // 6 = disposal unit
- C.anchored = 1
- C.set_density(1)
- C.update()
- qdel_self()
+ var/obj/item/weldingtool/WT = I
+ to_chat(user, "You start slicing the floorweld off the disposal unit.")
+ if(!WT.use_tool(src, user, delay = 2 SECONDS, amount = 1))
return
- else
- to_chat(user, "You need more welding fuel to complete this task.")
+ if(QDELETED(src) || !user)
return
+ eject() // In case if something's got inside while we were slicin' and the GC got fucked due to lag
+ to_chat(user, "You sliced the floorweld off the disposal unit.")
+ var/obj/structure/disposalconstruct/C = new (src.loc)
+ transfer_fingerprints_to(C)
+ C.ptype = 6 // 6 = disposal unit
+ C.anchored = 1
+ C.set_density(1)
+ C.update()
+ qdel_self()
+ return
+
if(istype(I, /obj/item/storage/bag/trash))
var/obj/item/storage/bag/trash/T = I
to_chat(user, "You empty the bag.")
@@ -858,24 +853,16 @@
return // prevent interaction with T-scanner revealed pipes
src.add_fingerprint(user, 0, I)
if(isWelder(I))
- var/obj/item/weldingtool/W = I
-
- if(W.remove_fuel(0,user))
- playsound(src.loc, 'sound/items/Welder2.ogg', 100, 1)
- // check if anything changed over 2 seconds
- var/turf/uloc = user.loc
- var/atom/wloc = W.loc
- to_chat(user, "Slicing the disposal pipe.")
- sleep(30)
- if(!W.isOn()) return
- if(user.loc == uloc && wloc == W.loc)
- welded()
- else
- to_chat(user, "You must stay still while welding the pipe.")
- else
- to_chat(user, "You need more welding fuel to cut the pipe.")
+ var/obj/item/weldingtool/WT = I
+ to_chat(user, "Slicing the disposal pipe.")
+ if(!WT.use_tool(src, user, delay = 3 SECONDS, amount = 1))
return
+ if(QDELETED(src) || !user)
+ return
+
+ welded()
+
// called when pipe is cut with welder
proc/welded()
@@ -1512,24 +1499,16 @@
return // prevent interaction with T-scanner revealed pipes
src.add_fingerprint(user, 0, I)
if(isWelder(I))
- var/obj/item/weldingtool/W = I
+ var/obj/item/weldingtool/WT = I
+ if(!WT.use_tool(src, user, delay = 2 SECONDS, amount = 1))
+ return
- if(W.remove_fuel(0,user))
- playsound(src.loc, 'sound/items/Welder2.ogg', 100, 1)
- // check if anything changed over 2 seconds
- var/turf/uloc = user.loc
- var/atom/wloc = W.loc
- to_chat(user, "Slicing the disposal pipe.")
- sleep(30)
- if(!W.isOn()) return
- if(user.loc == uloc && wloc == W.loc)
- welded()
- else
- to_chat(user, "You must stay still while welding the pipe.")
- else
- to_chat(user, "You need more welding fuel to cut the pipe.")
+ if(QDELETED(src) || !user)
return
+ welded()
+ return
+
// would transfer to next pipe segment, but we are in a trunk
// if not entering from disposal bin,
// transfer to linked object (outlet or bin)
@@ -1644,25 +1623,25 @@
to_chat(user, "You attach the screws around the power connection.")
return
else if(isWelder(I) && mode==1)
- var/obj/item/weldingtool/W = I
- if(W.remove_fuel(0,user))
- playsound(src.loc, 'sound/items/Welder2.ogg', 100, 1)
- to_chat(user, "You start slicing the floorweld off the disposal outlet.")
- if(do_after(user,20, src))
- if(!src || !W.isOn()) return
- to_chat(user, "You sliced the floorweld off the disposal outlet.")
- var/obj/structure/disposalconstruct/C = new (src.loc)
- src.transfer_fingerprints_to(C)
- C.ptype = 7 // 7 = outlet
- C.update()
- C.anchored = 1
- C.set_density(1)
- qdel(src)
+ var/obj/item/weldingtool/WT = I
+ to_chat(user, "You start slicing the floorweld off the disposal outlet.")
+ if(!WT.use_tool(src, user, delay = 2 SECONDS, amount = 1))
return
- else
- to_chat(user, "You need more welding fuel to complete this task.")
+
+ if(QDELETED(src) || !user)
return
+ to_chat(user, "You sliced the floorweld off the disposal outlet.")
+ var/obj/structure/disposalconstruct/C = new (src.loc)
+ src.transfer_fingerprints_to(C)
+ C.ptype = 7 // 7 = outlet
+ C.update()
+ C.anchored = TRUE
+ C.set_density(TRUE)
+ qdel(src)
+ return
+
+
// called when movable is expelled from a disposal pipe or outlet
// by default does nothing, override for special behaviour
diff --git a/code/modules/recycling/sortingmachinery.dm b/code/modules/recycling/sortingmachinery.dm
index 529538d6986..81708b5d9cb 100755
--- a/code/modules/recycling/sortingmachinery.dm
+++ b/code/modules/recycling/sortingmachinery.dm
@@ -112,14 +112,17 @@
I.pixel_y = -3
AddOverlays(I)
-/obj/structure/bigDelivery/_examine_text(mob/user)
+/obj/structure/bigDelivery/examine(mob/user, infix)
. = ..()
- if(get_dist(src, user) <= 4)
- if(sortTag)
- . += "\nIt is labeled \"[sortTag]\""
- if(examtext)
- . += "\nIt has a note attached which reads, \"[examtext]\""
- return
+
+ if(get_dist(src, user) > 4)
+ return
+
+ if(sortTag)
+ . += SPAN_NOTICE("It is labeled \"[sortTag]\"")
+ if(examtext)
+ . += SPAN_NOTICE("It has a note attached which reads, \"[examtext]\"")
+
/obj/structure/bigDelivery/Destroy()
if(wrapped) //sometimes items can disappear. For example, bombs. --rastaf0
@@ -256,14 +259,17 @@
I.pixel_y = 1
AddOverlays(I)
-/obj/item/smallDelivery/_examine_text(mob/user)
+/obj/item/smallDelivery/examine(mob/user, infix)
. = ..()
- if(get_dist(src, user) <= 4)
- if(sortTag)
- . += "\nIt is labeled \"[sortTag]\""
- if(examtext)
- . += "\nIt has a note attached which reads, \"[examtext]\""
- return
+
+ if(get_dist(src, user) > 4)
+ return
+
+ if(sortTag)
+ . += SPAN_NOTICE("It is labeled \"[sortTag]\".")
+ if(examtext)
+ . += SPAN_NOTICE("It has a note attached which reads, \"[examtext]\".")
+
/obj/item/packageWrap
name = "package wrapper"
@@ -300,40 +306,59 @@
if (istype(target, /obj/item) && !(istype(target, /obj/item/storage) && !istype(target,/obj/item/storage/box)))
var/obj/item/O = target
- if (src.amount > 1)
+ if(amount)
var/obj/item/smallDelivery/P = new /obj/item/smallDelivery(get_turf(O.loc)) //Aaannd wrap it up!
+
if(!istype(O.loc, /turf))
if(user.client)
user.client.screen -= O
+
P.wrapped = O
P.w_class = O.w_class
+
+ var/size_text = "ambiguous"
var/i = round(O.w_class)
- if(i in list(1,2,3,4,5))
+ if(i in list(1, 2, 3, 4, 5))
P.icon_state = "deliverycrate[i]"
switch(i)
- if(1) P.SetName("tiny parcel")
- if(3) P.SetName("normal-sized parcel")
- if(4) P.SetName("large parcel")
- if(5) P.SetName("huge parcel")
+ if(1)
+ size_text = "tiny"
+ if(2)
+ size_text = "small"
+ if(3)
+ size_text = "normal-sized"
+ if(4)
+ size_text = "large"
+ if(5)
+ size_text = "huge"
if(i < 1)
P.icon_state = "deliverycrate1"
- P.SetName("tiny parcel")
+ size_text = "tiny parcel"
if(i > 5)
P.icon_state = "deliverycrate5"
- P.SetName("huge parcel")
+ size_text = "huge parcel"
+
+ P.SetName("[size_text] parcel")
+ P.desc = "A [size_text] wrapped package."
+
P.add_fingerprint(usr)
O.add_fingerprint(usr)
- src.add_fingerprint(usr)
- src.amount -= 1
+ add_fingerprint(usr)
+
+ amount -= 1
+
user.visible_message("\The [user] wraps \a [target] with \a [src].",\
SPAN("notice", "You wrap \the [target], leaving [amount] units of paper on \the [src]."),\
"You hear someone taping paper around a small object.")
+
if(istype(O, /obj/item/storage/box))
var/obj/item/storage/box/B = O
B.close(user)
P.SetName("box-shaped parcel")
P.icon_state = "deliverybox"
+
O.forceMove(P)
+
else if (istype(target, /obj/structure/closet/crate))
var/obj/structure/closet/crate/O = target
if (src.amount > 3 && !O.opened)
@@ -368,11 +393,11 @@
return
return
-/obj/item/packageWrap/_examine_text(mob/user)
+/obj/item/packageWrap/examine(mob/user, infix)
. = ..()
+
if(get_dist(src, user) <= 0)
- . += "\nThere are [amount] units of package wrap left!"
- return
+ . += SPAN_NOTICE("There are [amount] units of package wrap left!")
/obj/item/device/destTagger
name = "destination tagger"
@@ -510,25 +535,24 @@
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
to_chat(user, "You attach the screws around the power connection.")
return
- else if(isWelder(I) && c_mode==1)
- var/obj/item/weldingtool/W = I
- if(W.remove_fuel(1,user))
- to_chat(user, "You start slicing the floorweld off the delivery chute.")
- if(do_after(user,20, src))
- playsound(src.loc, 'sound/items/Welder2.ogg', 100, 1)
- if(!src || !W.isOn()) return
- to_chat(user, "You sliced the floorweld off the delivery chute.")
- var/obj/structure/disposalconstruct/C = new (src.loc)
- C.ptype = 8 // 8 = Delivery chute
- C.update()
- C.anchored = 1
- C.set_density(1)
- qdel(src)
+ else if(isWelder(I) && c_mode == 1)
+ var/obj/item/weldingtool/WT = I
+ to_chat(user, "You start slicing the floorweld off the delivery chute.")
+ if(!WT.use_tool(src, user, delay = 2 SECONDS, amount = 1))
return
- else
- to_chat(user, "You need more welding fuel to complete this task.")
+
+ if(QDELETED(src) || !user)
return
+ to_chat(user, "You sliced the floorweld off the delivery chute.")
+ var/obj/structure/disposalconstruct/C = new (src.loc)
+ C.ptype = 8 // 8 = Delivery chute
+ C.update()
+ C.anchored = TRUE
+ C.set_density(TRUE)
+ qdel(src)
+ return
+
/obj/machinery/disposal/deliveryChute/Destroy()
if(trunk)
trunk.linked = null
diff --git a/code/modules/research/designs/circuitprinter/dc-machine_boards.dm b/code/modules/research/designs/circuitprinter/dc-machine_boards.dm
index e66db978779..5d81a404dad 100644
--- a/code/modules/research/designs/circuitprinter/dc-machine_boards.dm
+++ b/code/modules/research/designs/circuitprinter/dc-machine_boards.dm
@@ -295,8 +295,22 @@
sort_string = "KCAAG"
/datum/design/circuit/unloading_machine
- name = "unloading_machine"
+ name = "unloading machine"
id = "unloading_machine"
req_tech = list(TECH_ENGINEERING = 1)
build_path = /obj/item/circuitboard/unloading_machine
sort_string = "KCAAH"
+
+/datum/design/circuit/coffeemaker
+ name = "coffeemaker"
+ id = "coffeemaker"
+ req_tech = list(TECH_ENGINEERING = 2, TECH_POWER = 1)
+ build_path = /obj/item/circuitboard/coffeemaker
+ sort_string = "KCAAI"
+
+/datum/design/circuit/sauna
+ name = "sauna"
+ id = "sauna"
+ req_tech = list(TECH_ENGINEERING = 2, TECH_POWER = 2)
+ build_path = /obj/item/circuitboard/sauna
+ sort_string = "KCAAJ"
diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm
index 9aeb84b19f7..16fe99164df 100644
--- a/code/modules/research/rdconsole.dm
+++ b/code/modules/research/rdconsole.dm
@@ -93,6 +93,7 @@
/obj/machinery/computer/rdconsole/Initialize()
SyncRDevices()
. = ..()
+ add_think_ctx("finish_deconstruct", CALLBACK(src, nameof(.proc/finish_deconstruct)), 0)
/obj/machinery/computer/rdconsole/attackby(obj/item/D, mob/user)
// Loading a disk into it.
@@ -609,7 +610,7 @@
playsound(loc, 'sound/signals/processing22.ogg', 50)
linked_destroy.busy = 1
flick("d_analyzer_process", linked_destroy)
- addtimer(CALLBACK(src, nameof(.proc/finish_deconstruct), weakref(user)), 24)
+ set_next_think_ctx("finish_deconstruct", world.time + 2.4 SECONDS, weakref(user))
/obj/machinery/computer/rdconsole/proc/eject_from_destructor(mob/user)
if(linked_destroy.busy)
diff --git a/code/modules/research/research.dm b/code/modules/research/research.dm
index a69a7e46d45..f4da3b56096 100644
--- a/code/modules/research/research.dm
+++ b/code/modules/research/research.dm
@@ -191,12 +191,6 @@ research holder datum.
id = TECH_ILLEGAL
level = 0
-/datum/tech/arcane
- name = "Arcane"
- desc = "Techniques not explained by the mainstream science, commonly regarded as 'occult'."
- id = TECH_ARCANE
- level = 0
-
/obj/item/disk/tech_disk
name = "fabricator data disk"
desc = "A disk for storing fabricator learning data for backup."
diff --git a/code/modules/research/stock_parts.dm b/code/modules/research/stock_parts.dm
index 4b87646f392..0d64d19a42c 100644
--- a/code/modules/research/stock_parts.dm
+++ b/code/modules/research/stock_parts.dm
@@ -257,4 +257,4 @@
desc = "Instant research tool. For testing purposes only."
icon = 'icons/obj/stock_parts.dmi'
icon_state = "smes_coil"
- origin_tech = list(TECH_MATERIAL = 19, TECH_ENGINEERING = 19, TECH_PLASMA = 19, TECH_POWER = 19, TECH_BLUESPACE = 19, TECH_BIO = 19, TECH_COMBAT = 19, TECH_MAGNET = 19, TECH_DATA = 19, TECH_ILLEGAL = 19, TECH_ARCANE = 19)
+ origin_tech = list(TECH_MATERIAL = 19, TECH_ENGINEERING = 19, TECH_PLASMA = 19, TECH_POWER = 19, TECH_BLUESPACE = 19, TECH_BIO = 19, TECH_COMBAT = 19, TECH_MAGNET = 19, TECH_DATA = 19, TECH_ILLEGAL = 19)
diff --git a/code/modules/research/stock_parts_replacer.dm b/code/modules/research/stock_parts_replacer.dm
index 33fff67d257..d1683f44d49 100644
--- a/code/modules/research/stock_parts_replacer.dm
+++ b/code/modules/research/stock_parts_replacer.dm
@@ -39,26 +39,28 @@
wasted = !length(contents)
icon_state = "RMUK-[wasted ? "wasted" : "used"]"
-/obj/item/storage/part_replacer/mini/_examine_text(mob/user)
+/obj/item/storage/part_replacer/mini/examine(mob/user, infix)
. = ..()
+
if(active)
- . += "\nIt contains the following parts:"
+ . += "It contains the following parts:"
for(var/atom/A in contents)
- . += SPAN("notice", "\n [A.name]")
+ . += SPAN("notice", " [A.name]")
else
- . += "\nThis one's already been used."
+ . += "This one's already been used."
if(!wasted)
- . += "\nIt seems to still contain some spare parts that can be salvaged."
+ . += "It seems to still contain some spare parts that can be salvaged."
/obj/item/storage/part_replacer/mini/attackby(obj/item/I, mob/user)
if(isWelder(I))
var/obj/item/weldingtool/WT = I
- if(WT.remove_fuel(0, user))
- salvage()
- new /obj/item/stack/material/steel(get_turf(src))
- playsound(loc, 'sound/items/Welder.ogg', 100, 1)
- qdel(src)
- return
+ if(!WT.use_tool(src, user, amount = 1))
+ return FALSE
+
+ salvage()
+ new /obj/item/stack/material/steel(get_turf(src))
+ qdel(src)
+ return
if(isCrowbar(I))
if(wasted)
diff --git a/code/modules/security levels/keycard authentication.dm b/code/modules/security levels/keycard authentication.dm
index 7ac2d513b6f..1776f8dc1a7 100644
--- a/code/modules/security levels/keycard authentication.dm
+++ b/code/modules/security levels/keycard authentication.dm
@@ -6,7 +6,6 @@
var/active = 0 //This gets set to 1 on all devices except the one where the initial request was made.
var/event = ""
var/event_additional_info = ""
- var/ert_timer
var/screen = 1
var/confirmed = 0 //This variable is set by the device that confirms the request.
var/confirm_delay = 3 SECONDS
@@ -21,6 +20,12 @@
idle_power_usage = 2 WATTS
active_power_usage = 6 WATTS
power_channel = STATIC_ENVIRON
+ /// Whether we have active thinking to call ert or not
+ var/ert_context_thinking = FALSE
+
+/obj/machinery/keycard_auth/Initialize()
+ . = ..()
+ add_think_ctx("call_ert_context", CALLBACK(src, nameof(.proc/call_ert)), 0)
/obj/machinery/keycard_auth/attack_ai(mob/user)
to_chat(user, SPAN_WARNING("A firewall prevents you from interfacing with this device!"))
@@ -110,17 +115,12 @@
. = TOPIC_REFRESH
if(is_admin(user) && href_list["approve_ert"])
- if(!ert_timer)
- // I'm not sure I got the sentence right, please help.
- to_chat(user, SPAN_NOTICE("There's no ERT timer, notify players to re-create the request."))
- deltimer(ert_timer)
+ set_next_think_ctx("call_ert_context", 0)
+ ert_context_thinking = FALSE
call_ert()
if(is_admin(user) && href_list["prohibit_ert"])
- if(!ert_timer)
- // I'm not sure I got the sentence right, please help.
- to_chat(user, SPAN_NOTICE("There's no ERT timer, the ERT may have already been called, next time hurry up with your decision!"))
- deltimer(ert_timer)
- ert_timer = null
+ set_next_think_ctx("call_ert_context", 0)
+ ert_context_thinking = FALSE
if(!((stat & BROKEN) || (!interact_offline && (stat & NOPOWER))))
visible_message(SPAN_DANGER("\The [src] blinks red and displays the message: The request was rejected, contact the corporate supervisors for the reason of the rejection."), range=2)
@@ -147,9 +147,9 @@
KA.receive_request(src, initial_card)
if(confirm_delay)
- addtimer(CALLBACK(src, nameof(.proc/broadcast_check)), confirm_delay)
+ set_next_think(world.time + confirm_delay)
-/obj/machinery/keycard_auth/proc/broadcast_check()
+/obj/machinery/keycard_auth/think()
if(confirmed)
confirmed = 0
trigger_event(event)
@@ -189,9 +189,10 @@
if("Emergency Response Team")
if(ert_call_failure())
return
- if(!ert_timer)
+ if(!ert_context_thinking)
visible_message(SPAN_NOTICE("\The [src] displays the message: The request has been created and the process of transferring the request to the emergency response service has been started, the approximate waiting time for processing is 2 minutes."), range=2)
- ert_timer = addtimer(CALLBACK(src, nameof(.proc/call_ert)), 2 MINUTES, TIMER_STOPPABLE)
+ set_next_think_ctx("call_ert_context", world.time + 2 MINUTES)
+ ert_context_thinking = TRUE
message_admins("An ERT call request was created with the reason:\n[event_additional_info].\nThis call will automatically be approved after 2 minutes. Approve. Reject.")
if("Grant Nuclear Authorization Code")
var/obj/machinery/nuclearbomb/nuke = locate(/obj/machinery/nuclearbomb/station) in world
@@ -212,9 +213,10 @@
return FALSE
/obj/machinery/keycard_auth/proc/call_ert()
- ert_timer = null
+ ert_context_thinking = FALSE
if(ert_call_failure())
return
+
visible_message(SPAN_NOTICE("\The [src] displays the message: The request has been approved, the response team will be on facility shortly."), range=2)
trigger_armed_response_team(TRUE, event_additional_info)
feedback_inc("alert_keycard_auth_ert",1)
diff --git a/code/modules/shield_generators/floor_diffuser.dm b/code/modules/shield_generators/floor_diffuser.dm
index 0d8d0891b1f..f050824e70f 100644
--- a/code/modules/shield_generators/floor_diffuser.dm
+++ b/code/modules/shield_generators/floor_diffuser.dm
@@ -27,7 +27,7 @@
for(var/obj/effect/shield/S in shielded_tile)
qdel(S)
-/obj/machinery/shield_diffuser/attackby(obj/item/O as obj, mob/user as mob)
+/obj/machinery/shield_diffuser/attackby(obj/item/O, mob/user)
if(default_deconstruction_screwdriver(user, O))
return
if(default_deconstruction_crowbar(user, O))
@@ -61,8 +61,10 @@
alarm = round(max(alarm, duration))
update_icon()
-/obj/machinery/shield_diffuser/_examine_text(mob/user)
+/obj/machinery/shield_diffuser/examine(mob/user, infix)
. = ..()
- . += "\nIt is [enabled ? "enabled" : "disabled"]."
+
+ . += "It is [enabled ? "enabled" : "disabled"]."
+
if(alarm)
- . += "\nA red LED labeled \"Proximity Alarm\" is blinking on the control panel."
+ . += "A red LED labeled \"Proximity Alarm\" is blinking on the control panel."
diff --git a/code/modules/shield_generators/handheld_diffuser.dm b/code/modules/shield_generators/handheld_diffuser.dm
index 308ef7a6204..b454dca0d99 100644
--- a/code/modules/shield_generators/handheld_diffuser.dm
+++ b/code/modules/shield_generators/handheld_diffuser.dm
@@ -44,7 +44,8 @@
set_next_think(0)
to_chat(usr, "You turn \the [src] [enabled ? "on" : "off"].")
-/obj/item/shield_diffuser/_examine_text(mob/user)
+/obj/item/shield_diffuser/examine(mob/user, infix)
. = ..()
- . += "\nThe charge meter reads [cell ? CELL_PERCENT(cell) : 0]%"
- . += "\nIt is [enabled ? "enabled" : "disabled"]."
+
+ . += "The charge meter reads [cell ? CELL_PERCENT(cell) : 0]%"
+ . += "It is [enabled ? "enabled" : "disabled"]."
diff --git a/code/modules/speech_bubble/speech_bubble.dm b/code/modules/speech_bubble/speech_bubble.dm
index e06aa28a0c3..8fd6eb8192c 100644
--- a/code/modules/speech_bubble/speech_bubble.dm
+++ b/code/modules/speech_bubble/speech_bubble.dm
@@ -1,20 +1,28 @@
-/proc/fade_out_speech_bubble(image/I, list/remove_from)
- animate(I, alpha = 0, time = 0.5 SECONDS, easing = EASE_IN)
- addtimer(CALLBACK(GLOBAL_PROC, /proc/remove_image_from_clients, I, remove_from), 0.5 SECONDS)
+/datum/flick_overlay/speech_bubble/New(image/image, list/client/show_to, time_to_live)
+ . = ..()
+ add_think_ctx("fade_bubble", CALLBACK(src, nameof(.proc/fade_bubble)), world.time + time_to_live - 0.5 SECONDS)
-/proc/animate_speech_bubble(image/I, list/show_to, duration)
- add_image_to_clients(I, show_to)
- addtimer(CALLBACK(GLOBAL_PROC, /proc/fade_out_speech_bubble, I, show_to), duration - 0.5 SECONDS)
+/datum/flick_overlay/speech_bubble/proc/fade_bubble()
+ animate(image, alpha = 0, time = 0.5 SECONDS, easing = EASE_IN)
+
+/datum/flick_overlay/Destroy()
+ remove_image_from_clients(image, seeing_clients)
+ QDEL_NULL(image)
+ seeing_clients.Cut()
+ return ..()
+
+/mob/living/proc/animate_speech_bubble(image/I, list/show_to, duration)
+ new /datum/flick_overlay/speech_bubble(I, show_to, duration)
/// Returns the speech bubble image with an apropriate layer and plane set.
-/proc/create_speech_bubble_image(bubble_icon, bubble_icon_state, atom/source)
+/mob/living/proc/create_speech_bubble_image(bubble_icon, bubble_icon_state, atom/source)
var/image/speech_bubble = image('icons/mob/effects/talk.dmi', source, "[bubble_icon][bubble_icon_state]", FLOAT_LAYER)
speech_bubble.appearance_flags |= APPEARANCE_UI_IGNORE_ALPHA | KEEP_APART | TILE_BOUND
return speech_bubble
-/proc/show_bubble_to_clients(bubble_icon, bubble_icon_state, atom/source, list/show_to)
+/mob/living/proc/show_bubble_to_clients(bubble_icon, bubble_icon_state, atom/source, list/show_to)
var/image/speech_bubble = create_speech_bubble_image(bubble_icon, bubble_icon_state, source)
- INVOKE_ASYNC(GLOBAL_PROC, /proc/animate_speech_bubble, speech_bubble, show_to, 3 SECONDS)
+ INVOKE_ASYNC(src, nameof(.proc/animate_speech_bubble), speech_bubble, show_to, 3 SECONDS)
-/proc/show_bubble_to_client(bubble_icon, bubble_icon_state, atom/source, client/show_to)
+/mob/living/proc/show_bubble_to_client(bubble_icon, bubble_icon_state, atom/source, client/show_to)
show_bubble_to_clients(bubble_icon, bubble_icon_state, source, list(show_to))
diff --git a/code/modules/spells/aoe_turf/conjure/druidic_spells.dm b/code/modules/spells/aoe_turf/conjure/druidic_spells.dm
index 8a6292f4446..868e0f1758f 100644
--- a/code/modules/spells/aoe_turf/conjure/druidic_spells.dm
+++ b/code/modules/spells/aoe_turf/conjure/druidic_spells.dm
@@ -69,7 +69,6 @@
/datum/spell/aoe_turf/conjure/summon/bear/New()
. = ..()
- register_signal(src, SIGNAL_MOB_SPELL_LEARNED, nameof(.proc/spell_learned))
/datum/spell/aoe_turf/conjure/summon/bear/before_cast()
..()
@@ -109,7 +108,7 @@
)
return "Your bear is now worshiped as a god amongst bears."
-/datum/spell/aoe_turf/conjure/summon/bear/proc/spell_learned(mob/user)
+/datum/spell/aoe_turf/conjure/summon/bear/spell_learned(mob/user)
if(!user || !user.mind)
return
@@ -127,7 +126,3 @@
Simply pronounce your bear name when issuing a command. Remember to address your bear by name or else it will not heed the command.
"}
user.mind.store_memory(bear_guide)
-
-/datum/spell/aoe_turf/conjure/summon/bear/Destroy()
- unregister_signal(src, SIGNAL_MOB_SPELL_LEARNED)
- return ..()
diff --git a/code/modules/spells/artifacts/immovable_wand.dm b/code/modules/spells/artifacts/immovable_wand.dm
new file mode 100644
index 00000000000..b77a03045db
--- /dev/null
+++ b/code/modules/spells/artifacts/immovable_wand.dm
@@ -0,0 +1,135 @@
+
+#define IW_WAND "wand"
+#define IW_RACKET "racket"
+#define IW_BAT "bat"
+#define IW_BALL "basketball"
+
+/obj/item/immovable_wand
+ name = "immovable wand"
+ desc = "It looks like a regular metal rod, but appears to be insanely heavy."
+ icon = 'icons/obj/wizard.dmi'
+ icon_state = "immovable_wand"
+ w_class = ITEM_SIZE_SMALL
+ anchored = TRUE
+ throw_range = 5
+ force = 10.0
+ throwforce = 10.0
+ mod_weight = 1.5
+ mod_reach = 0.5
+ mod_handy = 1.5
+ unacidable = TRUE
+
+ var/current_shape = IW_WAND
+
+ var/static/radial_wand = image(icon = 'icons/obj/wizard.dmi', icon_state = "immovable_wand")
+ var/static/radial_racket = image(icon = 'icons/obj/wizard.dmi', icon_state = "immovable_racket")
+ var/static/radial_bat = image(icon = 'icons/obj/wizard.dmi', icon_state = "immovable_bat")
+ var/static/radial_ball = image(icon = 'icons/obj/wizard.dmi', icon_state = "immovable_ball")
+ var/static/list/radial_options = list(
+ IW_WAND = radial_wand,
+ IW_RACKET = radial_racket,
+ IW_BAT = radial_bat,
+ IW_BALL = radial_ball
+ )
+
+/obj/item/immovable_wand/dropped(mob/user)
+ ..()
+ set_next_think(world.time + 1 SECOND)
+
+/obj/item/immovable_wand/attack_hand(mob/user)
+ if(ishuman(user))
+ if((MUTATION_HULK in user.mutations) || (MUTATION_STRONG in user.mutations))
+ anchored = FALSE
+ ..()
+ else
+ to_chat(user, SPAN("warning", "\The [src] appears to be glued to the time-space itself!"))
+ return
+
+ ..()
+
+/obj/item/immovable_wand/attack_self(mob/user)
+ if((MUTATION_HULK in user.mutations) || (MUTATION_STRONG in user.mutations))
+ var/choice = show_radial_menu(user, user, radial_options, require_near = TRUE)
+ if(choice)
+ user.visible_message("[user] bends and reshapes \the [src] with their bare hands!")
+ reshape(choice)
+ return
+
+ return ..()
+
+/obj/item/immovable_wand/throw_impact(hit_atom, speed)
+ . = ..()
+ var/pwn_chance = current_shape == IW_BALL ? 100 : 50
+ if(isliving(hit_atom) && prob(pwn_chance))
+ var/mob/living/L = hit_atom
+ playsound(L.loc, 'sound/effects/bang.ogg', 50, 1, -1)
+ L.Weaken(10)
+
+// So we can throw it
+/obj/item/immovable_wand/think()
+ if(isturf(loc))
+ anchored = TRUE
+
+/obj/item/immovable_wand/proc/reshape(new_shape)
+ SetName("immovable [new_shape]")
+ current_shape = new_shape
+
+ switch(new_shape)
+ if(IW_WAND)
+ throw_range = 5
+ force = 10.0
+ throwforce = 10.0
+ mod_weight = 1.5
+ mod_reach = 0.5
+ mod_handy = 1.5
+ mod_shield = 1.0
+ block_tier = BLOCK_TIER_MELEE
+ w_class = ITEM_SIZE_SMALL
+ desc = "It looks like a regular metal rod, but appears to be insanely heavy."
+ icon_state = "immovable_wand"
+ if(IW_RACKET)
+ throw_range = 5
+ force = 10.0
+ throwforce = 10.0
+ mod_weight = 1.5
+ mod_reach = 0.8
+ mod_handy = 1.5
+ mod_shield = 3.0
+ block_tier = BLOCK_TIER_ADVANCED
+ w_class = ITEM_SIZE_LARGE
+ desc = "It looks like a tennis racket made of solid metal. It appears to be insanely heavy."
+ icon_state = "immovable_racket"
+ if(IW_BAT)
+ throw_range = 5
+ force = 20.0
+ throwforce = 10.0
+ mod_weight = 2.0
+ mod_reach = 1.0
+ mod_handy = 1.5
+ mod_shield = 1.5
+ block_tier = BLOCK_TIER_MELEE
+ w_class = ITEM_SIZE_LARGE
+ desc = "It looks like a baseball bat made of some sort of metal. It appears to be insanely heavy."
+ icon_state = "immovable_bat"
+ if(IW_BALL)
+ throw_range = 20
+ force = 10.0
+ throwforce = 25.0
+ mod_weight = 1.5
+ mod_reach = 0.5
+ mod_handy = 0.5
+ mod_shield = 1.0
+ block_tier = BLOCK_TIER_MELEE
+ w_class = ITEM_SIZE_LARGE
+ desc = "It looks like a basketball made entirely of metal. It appears to be insanely heavy."
+ icon_state = "immovable_ball"
+
+ update_blood_overlay()
+ update_held_icon()
+ return
+
+
+#undef IW_WAND
+#undef IW_RACKET
+#undef IW_BAT
+#undef IW_BALL
diff --git a/code/modules/spells/artifacts/plague_bell.dm b/code/modules/spells/artifacts/plague_bell.dm
index a7b1e65471a..4e029d34b35 100644
--- a/code/modules/spells/artifacts/plague_bell.dm
+++ b/code/modules/spells/artifacts/plague_bell.dm
@@ -114,8 +114,9 @@
set_next_think(world.time + 1 SECONDS)
-/obj/item/staff/plague_bell/_examine_text(mob/user)
+/obj/item/staff/plague_bell/examine(mob/user, infix)
. = ..()
+
if(user != master)
return
diff --git a/code/modules/spells/classes/musclemancer.dm b/code/modules/spells/classes/musclemancer.dm
new file mode 100644
index 00000000000..0277f47661a
--- /dev/null
+++ b/code/modules/spells/classes/musclemancer.dm
@@ -0,0 +1,44 @@
+
+/datum/wizard_class/musclemancer
+ name = "Musclemancer"
+ feedback_tag = "MM"
+ description = "Your proficiency in the art of spellcasting is comparable to that of a cream puff's. But you've spent years hitting the gym."
+ icon_state = "muscle_tome"
+ points = 0
+ can_make_contracts = FALSE
+
+ spells = list() // Yes
+ artifacts = list() // For real
+
+/datum/wizard_class/musclemancer/on_class_chosen(mob/user, obj/item/spellbook)
+ to_chat(user, SPAN("notice", "Suddenly, you realize you've never ever gotten your own spell book. What you've been holding is just a cream puff."))
+
+ user.add_mutation(MUTATION_STRONG)
+ user.update_mutations()
+
+ var/datum/spell/CP = new /datum/spell/targeted/equip_item/cream_puff
+ user.add_spell(CP)
+
+ var/datum/spell/HS = new /datum/spell/healthy_sleep
+ user.add_spell(HS)
+
+ var/datum/spell/HM = new /datum/spell/toggled/hamstring_magic
+ user.add_spell(HM)
+
+ var/datum/spell/DM = new /datum/spell/hand/deltoid_magic
+ user.add_spell(DM)
+
+ var/datum/spell/BM = new /datum/spell/hand/biceps_magic
+ user.add_spell(BM)
+
+ var/datum/spell/GM = new /datum/spell/gastrocnemius_magic
+ user.add_spell(GM)
+
+ if(spellbook)
+ user.drop(spellbook)
+ qdel(spellbook)
+ var/decl/hierarchy/outfit/O = outfit_by_type(/decl/hierarchy/outfit/musclemancer)
+ O.equip(user)
+ var/obj/item/reagent_containers/food/cream_puff/CR = new /obj/item/reagent_containers/food/cream_puff(get_turf(user))
+ user.pick_or_drop(CR)
+ return
diff --git a/code/modules/spells/classes/wizard_class.dm b/code/modules/spells/classes/wizard_class.dm
index 603990a272c..290b3dd3ec8 100644
--- a/code/modules/spells/classes/wizard_class.dm
+++ b/code/modules/spells/classes/wizard_class.dm
@@ -17,6 +17,10 @@
var/list/spells = list()
var/list/artifacts = list()
+/datum/wizard_class/proc/on_class_chosen(mob/user, obj/item/spellbook)
+ to_chat(user, SPAN("notice", "You are now \a [name]!"))
+ return
+
/datum/wizard_class/proc/get_spell_data(datum/spell/path)
for(var/S in spells)
if(S["path"] == path)
diff --git a/code/modules/spells/general/gastrocnemius_magic.dm b/code/modules/spells/general/gastrocnemius_magic.dm
new file mode 100644
index 00000000000..3f67167239b
--- /dev/null
+++ b/code/modules/spells/general/gastrocnemius_magic.dm
@@ -0,0 +1,41 @@
+
+/datum/spell/gastrocnemius_magic
+ name = "Gastrocnemius Magic"
+ desc = "Stomp the floor with everything your calves have to offer."
+ spell_flags = 0
+ charge_max = 15 SECONDS
+ need_target = FALSE
+
+ invocation = "GASTROCNEMIUS! SOLEUS!"
+ invocation_type = SPI_SHOUT
+
+ range = 0
+ icon_state = "wiz_gastrocnemius"
+
+/datum/spell/gastrocnemius_magic/cast(list/targets, mob/living/carbon/user)
+ user.remove_nutrition(100)
+ user.visible_message(SPAN("danger", "[user] stomps the floor!"))
+
+ for(var/mob/M in GLOB.player_list)
+ if(M.client && !M.stat && M.z == user.z)
+ shake_camera(M, 5, 1)
+
+ var/list/victims = list()
+ for(var/mob/living/L in view(5, user))
+ if(L == user)
+ continue
+ L.Weaken(6)
+ L.Stun(3)
+ L.SpinAnimation(speed = 4, loops = 1)
+ victims += L
+ if(L.client && !L.stat)
+ to_chat(L, SPAN("danger", "You are sent flying!"))
+ if(ishuman(L))
+ var/mob/living/carbon/human/H = L
+ H.damage_poise(25)
+
+ var/turf/T = get_turf(user)
+ T.ex_act(rand(2, 3))
+ playsound(T, 'sound/effects/bang.ogg', rand(80, 100), 1, -1)
+
+ admin_attacker_log_many_victims(user, victims, "used Gastrocnemius Magic to stun", "was stunned by [key_name(user)] using Gastrocnemius Magic", "used Gastrocnemius Magic to stun")
diff --git a/code/modules/spells/general/healthy_sleep.dm b/code/modules/spells/general/healthy_sleep.dm
new file mode 100644
index 00000000000..3c39ad79755
--- /dev/null
+++ b/code/modules/spells/general/healthy_sleep.dm
@@ -0,0 +1,56 @@
+
+/datum/spell/healthy_sleep
+ name = "Take a nap"
+ desc = "Healthy sleep is a basic need that is closely tied to health and wellbeing."
+ spell_flags = INCLUDEUSER
+ charge_max = 120 SECONDS
+ duration = 30 SECONDS
+ need_target = FALSE
+
+ invocation = "lies down and falls asleep immediately."
+ invocation_type = SPI_EMOTE
+
+ range = 0
+ icon_state = "wiz_sleep"
+
+/datum/spell/healthy_sleep/New()
+ ..()
+ add_think_ctx("wakethefuckup", CALLBACK(src, nameof(.proc/wakethefuckup)), 0)
+
+/datum/spell/healthy_sleep/cast(list/targets, mob/user)
+ user.sleeping = max(30, user.sleeping)
+ set_next_think_ctx("wakethefuckup", world.time + duration)
+
+/datum/spell/healthy_sleep/proc/wakethefuckup()
+ if(QDELETED(holder))
+ return
+
+ if(!ishuman(holder))
+ return
+
+ var/mob/living/carbon/human/H = holder
+
+ if(H.is_ic_dead())
+ return
+
+ H.restore_blood()
+ H.adjustToxLoss(H.getToxLoss() * -1)
+ H.adjustOxyLoss(H.getOxyLoss() * -1)
+ H.adjustBrainLoss(H.getBrainLoss() * -1)
+ H.heal_overall_damage(H.getBruteLoss(), H.getFireLoss())
+
+ var/list/organs = H.get_damaged_organs(1, 1)
+ for(var/A in organs)
+ var/obj/item/organ/external/E = A
+ if(E.status & ORGAN_ARTERY_CUT)
+ E.status &= ~ORGAN_ARTERY_CUT
+ if(E.status & ORGAN_TENDON_CUT)
+ E.status &= ~ORGAN_TENDON_CUT
+ if(E.status & ORGAN_BROKEN)
+ E.mend_fracture()
+ E.stage = 0
+
+ H.updatehealth()
+ H.sleeping = 0
+ to_chat(H, SPAN("notice", "You've had a good rest. Now you absolutely need to munch on something."))
+ H.remove_nutrition(H.nutrition)
diff --git a/code/modules/spells/hand/biceps_magic.dm b/code/modules/spells/hand/biceps_magic.dm
new file mode 100644
index 00000000000..e4095c21a6a
--- /dev/null
+++ b/code/modules/spells/hand/biceps_magic.dm
@@ -0,0 +1,31 @@
+
+/datum/spell/hand/biceps_magic
+ name = "Biceps Magic"
+ desc = "Use biceps to strangle someone unconscious quickly."
+
+ feedback = "BM"
+ range = 1
+ spell_flags = 0
+
+ invocation = "BICEPS BRACHII!"
+ invocation_type = SPI_SHOUT
+ spell_delay = 5 SECONDS
+ charge_max = 5 SECONDS
+ hand_name_override = "sheer muscular power"
+
+ icon_state = "wiz_biceps"
+ compatible_targets = list(/mob/living/carbon/human)
+
+/datum/spell/hand/biceps_magic/cast_hand(mob/living/carbon/human/H, mob/living/carbon/human/user)
+ user.drop(user.get_active_hand())
+ user.remove_nutrition(50)
+
+ var/saved_zone_sel = user.zone_sel.selecting
+ user.zone_sel.selecting = BP_HEAD
+ user.make_grab(user, H, GRAB_QUICKCHOKE)
+ user.zone_sel.selecting = saved_zone_sel
+
+ H.damage_poise(25)
+
+ to_chat(H, SPAN("warning", "It looks like you're in trouble."))
+ return TRUE
diff --git a/code/modules/spells/hand/deltoid_magic.dm b/code/modules/spells/hand/deltoid_magic.dm
new file mode 100644
index 00000000000..7aef3746dcc
--- /dev/null
+++ b/code/modules/spells/hand/deltoid_magic.dm
@@ -0,0 +1,47 @@
+
+/datum/spell/hand/deltoid_magic
+ name = "Deltoid Magic"
+ desc = "Prepare your deltoid muscle to land a devastating punch."
+
+ feedback = "DM"
+ range = 1
+ spell_flags = 0
+
+ invocation = "DELTOID! TRICEPS! BRACHIORADIALIS!"
+ invocation_type = SPI_SHOUT
+ spell_delay = 5 SECONDS
+ charge_max = 5 SECONDS
+ hand_name_override = "inhuman might"
+
+ icon_state = "wiz_deltoid"
+ compatible_targets = list(/mob/living/carbon/human)
+
+/datum/spell/hand/deltoid_magic/cast_hand(mob/living/carbon/human/H, mob/living/carbon/user)
+ user.drop(user.get_active_hand())
+ user.remove_nutrition(50)
+
+ var/obj/item/organ/external/affecting = H.get_organ(ran_zone(user.zone_sel.selecting))
+ if(!affecting || affecting.is_stump())
+ to_chat(user, SPAN("danger", "They are missing that limb!"))
+ return FALSE
+
+ user.do_attack_animation(H)
+
+ var/throw_dir = user.dir
+ if(user == H)
+ user.visible_message(SPAN("danger", "[user] has punched the floor, sending themselves flying!"))
+ var/turf/T = get_turf(user)
+ T.ex_act(rand(2, 3))
+ playsound(T, 'sound/effects/bang.ogg', rand(80, 100), 1, -1)
+ else
+ throw_dir = turn(get_dir(H, user), 180)
+ user.visible_message(SPAN("danger", "[user] has punched \the [H] so hard, they're sent flying!"))
+ H.apply_damage(rand(20, 40), BRUTE, affecting)
+ H.Weaken(8)
+ H.Stun(4)
+ H.damage_poise(30)
+ playsound(H.loc, SFX_FIGHTING_PUNCH, rand(80, 100), 1, -1)
+
+ H.throw_at(get_edge_target_turf(H, throw_dir), 5, 1)
+
+ return TRUE
diff --git a/code/modules/spells/hand/hand.dm b/code/modules/spells/hand/hand.dm
index 6ea42798148..dbfe751a16c 100644
--- a/code/modules/spells/hand/hand.dm
+++ b/code/modules/spells/hand/hand.dm
@@ -5,8 +5,10 @@
var/move_delay
var/click_delay
var/hand_state = "spell"
+ var/hand_name_override
var/show_message
var/spell_cast_delay
+
/datum/spell/hand/choose_targets(mob/user = usr)
return list(user)
diff --git a/code/modules/spells/hand/hand_item.dm b/code/modules/spells/hand/hand_item.dm
index 5a6ac504377..bc10116f565 100644
--- a/code/modules/spells/hand/hand_item.dm
+++ b/code/modules/spells/hand/hand_item.dm
@@ -16,7 +16,7 @@ Basically: I can use it to target things where I click. I can then pass these ta
/obj/item/magic_hand/New(datum/spell/hand/S)
..(null)
hand_spell = S
- name = "[name] ([S.name])"
+ name = S.hand_name_override ? S.hand_name_override : "[name] ([S.name])"
icon_state = S.hand_state
/obj/item/magic_hand/get_storage_cost()
@@ -48,6 +48,8 @@ Basically: I can use it to target things where I click. I can then pass these ta
if(hand_spell.show_message)
user.visible_message("\The [user][hand_spell.show_message]")
if(hand_spell.cast_hand(A,user))
+ if(QDELETED(hand_spell))
+ return
next_spell_time = world.time + hand_spell.spell_delay
if(hand_spell.move_delay)
user.addMoveCooldown(hand_spell.move_delay)
diff --git a/code/modules/spells/racial_wizard.dm b/code/modules/spells/racial_wizard.dm
index 9296156a201..cd75fef18cf 100644
--- a/code/modules/spells/racial_wizard.dm
+++ b/code/modules/spells/racial_wizard.dm
@@ -247,11 +247,11 @@
vision.possess(L)
register_signal(L, SIGNAL_QDELETING, nameof(.proc/release))
register_signal(L, SIGNAL_LOGGED_OUT, nameof(.proc/release))
- L.verbs += /mob/living/proc/release_eye
+ grant_verb(L, /mob/living/proc/release_eye)
/datum/spell/camera_connection/proc/release(mob/living/L)
vision.release(L)
- L.verbs -= /mob/living/proc/release_eye
+ revoke_verb(L, /mob/living/proc/release_eye)
unregister_signal(L, SIGNAL_QDELETING)
unregister_signal(L, SIGNAL_LOGGED_OUT)
@@ -267,7 +267,7 @@
set desc = "Return your sight to your body."
set category = "Abilities"
- verbs -= /mob/living/proc/release_eye //regardless of if we have an eye or not we want to get rid of this verb.
+ revoke_verb(src, /mob/living/proc/release_eye)
if(!eyeobj)
return
diff --git a/code/modules/spells/spell_code.dm b/code/modules/spells/spell_code.dm
index 8b907928b48..2ada5fb7488 100644
--- a/code/modules/spells/spell_code.dm
+++ b/code/modules/spells/spell_code.dm
@@ -76,6 +76,9 @@
//still_recharging_msg = "[name] is still recharging."
charge_counter = charge_max
+/datum/spell/proc/spell_learned(mob/user)
+ return
+
/datum/spell/proc/process()
if(processing)
return
diff --git a/code/modules/spells/spellbook.dm b/code/modules/spells/spellbook.dm
index ca448bc7069..42a08852f06 100644
--- a/code/modules/spells/spellbook.dm
+++ b/code/modules/spells/spellbook.dm
@@ -202,7 +202,7 @@ var/list/artefact_feedback = list(
user.mind.wizard.set_class(path)
feedback_add_details("wizard_class_choose", user.mind.wizard.class.feedback_tag)
- to_chat(user, SPAN("notice", "You are now \a [user.mind.wizard.class.name]!"))
+ user.mind.wizard.class.on_class_chosen(user, src)
/obj/item/spellbook/proc/buy_artifact(mob/user, obj/path)
var/datum/wizard/W = user.mind.wizard
diff --git a/code/modules/spells/spells.dm b/code/modules/spells/spells.dm
index d54a1d52da2..3ce012aa193 100644
--- a/code/modules/spells/spells.dm
+++ b/code/modules/spells/spells.dm
@@ -1,20 +1,31 @@
/datum/mind
var/list/learned_spells = list()
-/mob/Stat()
+/mob/get_actions_for_statpanel()
. = ..()
- if(. && ability_master?.spell_objects)
+
+ if(ability_master?.spell_objects)
for(var/atom/movable/screen/ability/spell/screen in ability_master.spell_objects)
var/datum/spell/S = screen.spell
- if((!S.connected_button) || !statpanel(S.panel))
- continue //Not showing the noclothes spell
+
+ if(!S.connected_button)
+ continue
+
+ var/displayed_name
switch(S.charge_type)
if(SP_RECHARGE)
- statpanel(S.panel, "[S.charge_counter/10.0]/[S.charge_max/10]", S.connected_button)
+ displayed_name = "[S.name] [S.charge_counter/10.0]/[S.charge_max/10]"
if(SP_CHARGES)
- statpanel(S.panel, "[S.charge_counter]/[S.charge_max]", S.connected_button)
+ displayed_name = "[S.name] [S.charge_counter]/[S.charge_max]"
if(SP_HOLDVAR)
- statpanel(S.panel, "[S.holder_var_type] [S.holder_var_amount]", S.connected_button)
+ displayed_name = "[S.name] [S.holder_var_type] [S.holder_var_amount]"
+
+ . += list(list(
+ S.panel,
+ "",
+ displayed_name,
+ ref(S.connected_button),
+ ))
/proc/restore_spells(mob/H)
if(!H.mind?.learned_spells)
@@ -41,7 +52,7 @@
mind.learned_spells = list()
mind.learned_spells |= spell_to_add
ability_master.add_spell(spell_to_add, spell_base)
- SEND_SIGNAL(spell_to_add, SIGNAL_MOB_SPELL_LEARNED, src)
+ spell_to_add.spell_learned(src)
return 1
/mob/proc/remove_spell(datum/spell/spell_to_remove)
diff --git a/code/modules/spells/targeted/equip/cream_puff.dm b/code/modules/spells/targeted/equip/cream_puff.dm
new file mode 100644
index 00000000000..a5702fe98b3
--- /dev/null
+++ b/code/modules/spells/targeted/equip/cream_puff.dm
@@ -0,0 +1,21 @@
+
+/datum/spell/targeted/equip_item/cream_puff
+ name = "Workout Meal"
+ desc = "You take out one of the cream puffs you're always carrying with you."
+ feedback = "WM"
+ delete_old = FALSE
+ single_item = FALSE
+
+ spell_flags = INCLUDEUSER
+ invocation_type = SPI_EMOTE
+ invocation = "casually takes out a cream puff."
+
+ equipped_summons = list("active hand" = /obj/item/reagent_containers/food/cream_puff)
+ compatible_mobs = list(/mob/living/carbon/human)
+
+ charge_max = 15 SECONDS
+
+ range = 0
+ max_targets = 1
+
+ icon_state = "wiz_cream_puff"
diff --git a/code/modules/spells/targeted/ethereal_jaunt.dm b/code/modules/spells/targeted/ethereal_jaunt.dm
index 7f133f8c07e..2bf173253b2 100644
--- a/code/modules/spells/targeted/ethereal_jaunt.dm
+++ b/code/modules/spells/targeted/ethereal_jaunt.dm
@@ -17,17 +17,20 @@
var/reappear_duration = 5 //equal to number of animation frames
var/obj/effect/dummy/spell_jaunt/jaunt_holder
var/atom/movable/fake_overlay/animation
- var/start_reappear_timer
+
+/datum/spell/targeted/ethereal_jaunt/New()
+ . = ..()
+ add_think_ctx("start_reappear_context", CALLBACK(src, nameof(.proc/start_reappear)), 0)
+ add_think_ctx("reappear_context", CALLBACK(src, nameof(.proc/reappear)), 0)
/datum/spell/targeted/ethereal_jaunt/cast(list/targets, mob/user) //magnets, so mostly hardcoded
for(var/mob/living/target in targets)
if(HAS_TRANSFORMATION_MOVEMENT_HANDLER(target))
continue
if(target in jaunt_holder?.contents)
- if(start_reappear_timer)
- deltimer(start_reappear_timer)
- start_reappear_timer = addtimer(CALLBACK(src, nameof(.proc/start_reappear), target), duration, TIMER_STOPPABLE)
+ set_next_think_ctx("start_reappear_context", world.time + duration)
break
+
if(target.buckled)
target.buckled.unbuckle_mob()
if(istype(user.loc, /obj/machinery/atmospherics/unary/cryo_cell))
@@ -49,7 +52,7 @@
target.can_use_hands = FALSE
jaunt_steam(mobloc)
target.forceMove(jaunt_holder)
- start_reappear_timer = addtimer(CALLBACK(src, nameof(.proc/start_reappear), target), duration, TIMER_STOPPABLE)
+ set_next_think_ctx("start_reappear_context", world.time + duration, target)
/datum/spell/targeted/ethereal_jaunt/proc/start_reappear(mob/living/target)
var/mob_loc = jaunt_holder.last_valid_turf
@@ -57,7 +60,7 @@
jaunt_steam(mob_loc)
jaunt_reappear(animation, target)
animation.forceMove(mob_loc)
- addtimer(CALLBACK(src, nameof(.proc/reappear), mob_loc, target), reappear_duration)
+ set_next_think_ctx("reappear_context", world.time + reappear_duration, mob_loc, target)
/datum/spell/targeted/ethereal_jaunt/proc/reappear(mob_loc, mob/living/target)
if(!target.forceMove(mob_loc))
@@ -131,9 +134,9 @@
else
to_chat(user, SPAN_WARNING("Some strange aura is blocking the way!"))
canmove = FALSE
- addtimer(CALLBACK(src, nameof(.proc/allow_move)), 2)
+ set_next_think(world.time + 2)
-/obj/effect/dummy/spell_jaunt/proc/allow_move()
+/obj/effect/dummy/spell_jaunt/think()
canmove = TRUE
/obj/effect/dummy/spell_jaunt/ex_act(blah)
diff --git a/code/modules/spells/targeted/raiseundead.dm b/code/modules/spells/targeted/raiseundead.dm
index 7bf7af62607..a334a622614 100644
--- a/code/modules/spells/targeted/raiseundead.dm
+++ b/code/modules/spells/targeted/raiseundead.dm
@@ -21,6 +21,10 @@
var/times_failed = 0
var/spell_price = 1
+/datum/spell/targeted/raiseundead/New()
+ . = ..()
+ add_think_ctx("draft_failure", CALLBACK(src, nameof(.proc/draft_failure)), 0)
+
/datum/spell/targeted/raiseundead/choose_targets(mob/user = usr)
var/list/possible_targets = list()
@@ -67,7 +71,7 @@
var/mob/living/carbon/human/H = target
var/datum/ghosttrap/undead/trap = get_ghost_trap("undead")
trap.request_player(H, "A necromancer is requesting a soul to animate an undead body.", RAISE_UNDEAD_TIMEOUT, user, should_lichify)
- addtimer(CALLBACK(src, nameof(.proc/draft_failure), target, user), RAISE_UNDEAD_TIMEOUT)
+ set_next_think_ctx("draft_failure", world.time + RAISE_UNDEAD_TIMEOUT, target, user)
/datum/spell/targeted/raiseundead/proc/draft_failure(mob/living/carbon/human/target, mob/user)
if(target.mind?.wizard && (target.mind?.wizard in user.mind.wizard.thralls))
diff --git a/code/modules/spells/toggled/hamstring_magic.dm b/code/modules/spells/toggled/hamstring_magic.dm
new file mode 100644
index 00000000000..74032bd083d
--- /dev/null
+++ b/code/modules/spells/toggled/hamstring_magic.dm
@@ -0,0 +1,39 @@
+
+/datum/spell/toggled/hamstring_magic
+ name = "Hamstring Magic"
+ desc = "You push your hamstrings to the limit."
+ feedback = "HM"
+
+ spell_flags = INCLUDEUSER
+ invocation = "SEMIMEMBRANOSUS! SEMITENDINOSUS! BICEPS FEMORIS!"
+ invocation_type = SPI_SHOUT
+ need_target = FALSE
+
+ icon_state = "wiz_hamstring"
+
+/datum/spell/toggled/hamstring_magic/activate()
+ . = ..()
+ if(!.)
+ return
+
+ var/mob/living/carbon/human/H = holder
+ H.add_movespeed_modifier(/datum/movespeed_modifier/hamstring_magic)
+ invocation_type = SPI_NONE
+ return
+
+/datum/spell/toggled/hamstring_magic/deactivate(no_message = TRUE)
+ . = ..()
+ if(!.)
+ return
+
+ var/mob/living/carbon/human/H = holder
+ H.remove_movespeed_modifier(/datum/movespeed_modifier/hamstring_magic)
+ invocation_type = SPI_SHOUT
+ return
+
+/datum/spell/toggled/immaterial_form/think()
+ if(toggled)
+ var/mob/living/carbon/human/H = holder
+ H.remove_nutrition(3)
+
+ return ..()
diff --git a/code/modules/splash_text/splash_text.dm b/code/modules/splash_text/splash_text.dm
index 84ff5dd6b58..458d4fcf42c 100644
--- a/code/modules/splash_text/splash_text.dm
+++ b/code/modules/splash_text/splash_text.dm
@@ -8,11 +8,11 @@
#define SPLASH_TEXT_LIFETIME_INCREASE_MIN (10)
/// Creates text that will float from the atom upwards to the viewer.
-/atom/proc/show_splash_text(mob/viewer, text)
- INVOKE_ASYNC(src, nameof(.proc/animate_splash_text), viewer, text)
+/atom/proc/show_splash_text(mob/viewer, text, chat_text, force_skip_chat = FALSE)
+ INVOKE_ASYNC(src, nameof(.proc/animate_splash_text), viewer, text, chat_text)
/// Creates text that will float from the atom upwards to the viewers in range.
-/atom/proc/show_splash_text_to_viewers(message, self_message, vision_distance = 7, list/mob/ignored_mobs)
+/atom/proc/show_splash_text_to_viewers(message, self_message, vision_distance = 7, list/mob/ignored_mobs, force_skip_chat = FALSE)
var/list/hearers = list()
var/list/garbage_obj = list() // TO-DO: add more helpers to exclude searching objects.
get_mobs_and_objs_in_view_fast(get_turf(src), vision_distance, hearers, garbage_obj)
@@ -21,15 +21,27 @@
for(var/hearer in hearers)
if(is_blind(hearer))
continue
- show_splash_text(hearer, (hearer == src && self_message) || message)
+ var/res_message = message
+ if(hearer == src && self_message)
+ res_message = self_message
+ show_splash_text(hearer, res_message, res_message, force_skip_chat)
/// Private proc, use 'show_splash_text' or 'show_splash_text_to_viewers' instead.
-/atom/proc/animate_splash_text(mob/viewer, text)
+/atom/proc/animate_splash_text(mob/viewer, text, chat_text, force_skip_chat)
var/client/viewer_client = viewer?.client
if(!viewer_client)
return
- if(viewer_client.get_preference_value(/datum/client_preference/splashes) != GLOB.PREF_YES)
+ var/pref_value = viewer_client.get_preference_value(/datum/client_preference/splashes)
+
+ if(pref_value != GLOB.PREF_SPLASH_MAPTEXT && !force_skip_chat)
+ if(!chat_text)
+ // Ugly, but still better than skipping the message completely
+ chat_text = "\icon[src] [text]"
+ to_chat(viewer, chat_text)
+
+ // Chat only, no need to draw maptexties
+ if(pref_value == GLOB.PREF_SPLASH_CHAT)
return
var/bounds_width = world.icon_size
@@ -46,10 +58,10 @@
splash_image.maptext_width = SPLASH_TEXT_WIDTH
splash_image.maptext_height = WXH_TO_HEIGHT(viewer_client.MeasureText(text, null, SPLASH_TEXT_WIDTH))
- add_image_to_client(splash_image, viewer_client)
-
var/lifetime_mult = 1 + max(0, length(strip_html_properly(text)) - SPLASH_TEXT_LIFETIME_INCREASE_MIN) * SPLASH_TEXT_LIFETIME_PER_CHAR_MULT
+ flick_overlay(splash_image, viewer_client, SPLASH_TEXT_TOTAL_LIFETIME(lifetime_mult))
+
animate(
splash_image,
pixel_y = world.icon_size * 1.2,
@@ -70,8 +82,6 @@
easing = CUBIC_EASING | EASE_IN
)
- addtimer(CALLBACK(GLOBAL_PROC, /proc/remove_image_from_client, splash_image, viewer_client), SPLASH_TEXT_TOTAL_LIFETIME(lifetime_mult), TIMER_DELETE_ME)
-
#undef SPLASH_TEXT_WIDTH
#undef SPLASH_TEXT_SPAWN_TIME
#undef SPLASH_TEXT_VISIBILITY_TIME
diff --git a/code/modules/synthesized_instruments/event_manager.dm b/code/modules/synthesized_instruments/event_manager.dm
index d0e4457f399..f41d5d46b07 100644
--- a/code/modules/synthesized_instruments/event_manager.dm
+++ b/code/modules/synthesized_instruments/event_manager.dm
@@ -72,7 +72,7 @@
if (active) return 0
src.active = 1
- addtimer(CALLBACK(src, nameof(.proc/handle_events)), 0)
+ INVOKE_ASYNC(src, nameof(.proc/handle_events))
diff --git a/code/modules/synthesized_instruments/real_instruments/Guitar/guitar.dm b/code/modules/synthesized_instruments/real_instruments/Guitar/guitar.dm
index 4ae79c0dd7f..c9dabbe9a2b 100644
--- a/code/modules/synthesized_instruments/real_instruments/Guitar/guitar.dm
+++ b/code/modules/synthesized_instruments/real_instruments/Guitar/guitar.dm
@@ -3,6 +3,7 @@
desc = "A wooden musical instrument with six strings. This one looks like it may actually work."
icon = 'icons/obj/items.dmi'
icon_state = "guitar"
+ improper_held_icon = TRUE
force = 6
sound_player = /datum/sound_player/synthesizer
path = /datum/instrument/guitar/clean_crisis
diff --git a/code/modules/synthesized_instruments/song.dm b/code/modules/synthesized_instruments/song.dm
index 6cc73760035..daac5a79e6d 100644
--- a/code/modules/synthesized_instruments/song.dm
+++ b/code/modules/synthesized_instruments/song.dm
@@ -195,7 +195,7 @@
var/list/allowed_suff = list("b", "n", "#", "s")
var/list/note_off_delta = list("a"=91, "b"=91, "c"=98, "d"=98, "e"=98, "f"=98, "g"=98)
var/list/lines_copy = src.lines.Copy()
- addtimer(CALLBACK(src, nameof(.proc/play_lines), user, allowed_suff, note_off_delta, lines_copy), 0)
+ INVOKE_ASYNC(src, nameof(.proc/play_lines), user, allowed_suff, note_off_delta, lines_copy)
#undef CP
#undef IS_DIGIT
diff --git a/code/modules/tables/presets.dm b/code/modules/tables/presets.dm
index 2bd97ebe0c4..7decff9d47e 100644
--- a/code/modules/tables/presets.dm
+++ b/code/modules/tables/presets.dm
@@ -79,18 +79,3 @@
/obj/structure/table/glass/plass
color = "#8f29a3"
material = MATERIAL_PLASS
-
-/obj/structure/table/holotable
- icon_state = "holo_preview"
- color = COLOR_OFF_WHITE
-
-/obj/structure/table/holotable/New()
- material = "holo[DEFAULT_TABLE_MATERIAL]"
- ..()
-
-/obj/structure/table/holo_woodentable
- icon_state = "holo_preview"
-
-/obj/structure/table/holo_woodentable/New()
- material = "holo[MATERIAL_WOOD]"
- ..()
diff --git a/code/modules/tables/rack.dm b/code/modules/tables/rack.dm
index 09d4f0a2f37..e52494cb3ed 100644
--- a/code/modules/tables/rack.dm
+++ b/code/modules/tables/rack.dm
@@ -28,10 +28,6 @@
/obj/structure/table/rack/can_connect()
return FALSE
-/obj/structure/table/rack/holorack/dismantle(obj/item/wrench/W, mob/user)
- to_chat(user, "You cannot dismantle \the [src].")
- return
-
/obj/structure/table/rack/bograck
name = "strange rack"
desc ="Must be the color."
diff --git a/code/modules/tables/tables.dm b/code/modules/tables/tables.dm
index 9d123c6094e..fa49547cb64 100644
--- a/code/modules/tables/tables.dm
+++ b/code/modules/tables/tables.dm
@@ -96,16 +96,17 @@
T.update_icon()
return ..()
-/obj/structure/table/_examine_text(mob/user)
+/obj/structure/table/examine(mob/user, infix)
. = ..()
+
if(health < maxhealth)
switch(health / maxhealth)
if(0.0 to 0.5)
- . += "\nIt looks severely damaged!"
+ . += SPAN_WARNING("It looks severely damaged!")
if(0.25 to 0.5)
- . += "\nIt looks damaged!"
+ . += SPAN_WARNING("It looks damaged!")
if(0.5 to 1.0)
- . += "\nIt has a few scrapes and dents."
+ . += SPAN_WARNING("It has a few scrapes and dents.")
/obj/structure/table/CanAStarPass(to_dir, datum/can_pass_info/pass_info)
if(!density)
@@ -115,6 +116,8 @@
return FALSE
/obj/structure/table/attackby(obj/item/W, mob/user)
+ if(atom_flags & ATOM_FLAG_NO_DECONSTRUCTION)
+ return ..()
if(reinforced && isScrewdriver(W))
remove_reinforced(W, user)
@@ -159,15 +162,17 @@
if(health < maxhealth && isWelder(W))
var/obj/item/weldingtool/F = W
- if(F.welding)
- to_chat(user, "You begin reparing damage to \the [src].")
- playsound(src.loc, 'sound/items/Welder.ogg', 50, 1)
- if(!do_after(user, 20, src) || !F.remove_fuel(1, user))
- return
- user.visible_message("\The [user] repairs some damage to \the [src].",
- "You repair some damage to \the [src].")
- health = max(health+(maxhealth/5), maxhealth) // 20% repair per application
- return 1
+ to_chat(user, SPAN_NOTICE("You begin reparing damage to \the [src]."))
+ if(!F.use_tool(src, user, delay = 2 SECONDS, amount = 1))
+ return FALSE
+
+ if(QDELETED(src) || !user)
+ return
+
+ user.visible_message(SPAN_NOTICE("\The [user] repairs some damage to \the [src]"),
+ SPAN_NOTICE("You repair some damage to \the [src]."))
+ health = max(health + (maxhealth / 5), maxhealth) // 20% repair per application
+ return TRUE
if(!material && can_plate && istype(W, /obj/item/stack/material))
material = common_material_add(W, user, "plat")
@@ -266,7 +271,12 @@
material = common_material_remove(user, material, 20, "plating", "bolts", 'sound/items/Ratchet.ogg')
/obj/structure/table/proc/dismantle(obj/item/wrench/W, mob/user)
- if(manipulating) return
+ if(atom_flags & ATOM_FLAG_NO_DECONSTRUCTION)
+ return
+
+ if(manipulating)
+ return
+
manipulating = 1
user.visible_message("\The [user] begins dismantling \the [src].",
"You begin dismantling \the [src].")
@@ -303,6 +313,9 @@
// is to avoid filling the list with nulls, as place_shard won't place shards of certain materials (holo-wood, holo-steel)
/obj/structure/table/proc/break_to_parts(full_return = 0)
+ if(atom_flags & ATOM_FLAG_HOLOGRAM)
+ return
+
var/list/shards = list()
var/obj/item/material/shard/S = null
if(reinforced)
diff --git a/code/modules/tgui/states/language_menu.dm b/code/modules/tgui/states/language_menu.dm
new file mode 100644
index 00000000000..10b83ffb9e7
--- /dev/null
+++ b/code/modules/tgui/states/language_menu.dm
@@ -0,0 +1,19 @@
+/*!
+ * Copyright (c) 2020 Aleksej Komarov
+ * SPDX-License-Identifier: MIT
+ */
+
+/**
+ * tgui state: language_menu_state
+ */
+
+GLOBAL_DATUM_INIT(language_menu_state, /datum/ui_state/language_menu, new)
+
+/datum/ui_state/language_menu/can_use_topic(src_object, mob/user)
+ . = UI_CLOSE
+ if(check_rights(R_ADMIN, FALSE, user.client))
+ . = UI_INTERACTIVE
+ else if(istype(src_object, /datum/language_menu))
+ var/datum/language_menu/lang_menu = src_object
+ if(lang_menu.owner == user)
+ . = UI_INTERACTIVE
diff --git a/code/modules/tgui/tgui_window.dm b/code/modules/tgui/tgui_window.dm
index 5aeda59b5ed..089c54ddaa0 100644
--- a/code/modules/tgui/tgui_window.dm
+++ b/code/modules/tgui/tgui_window.dm
@@ -93,14 +93,14 @@
html = replacetextEx(html, "\n", assets_str)
// Inject inline HTML
if (inline_html)
- html = replacetextEx(html, "", inline_html)
+ html = replacetextEx(html, "", isfile(inline_html) ? file2text(inline_html) : inline_html)
// Inject inline JS
if (inline_js)
- inline_js = ""
+ inline_js = ""
html = replacetextEx(html, "", inline_js)
// Inject inline CSS
if (inline_css)
- inline_css = ""
+ inline_css = ""
html = replacetextEx(html, "", inline_css)
// Open the window
client << browse(html, "window=[id];[options]")
@@ -110,6 +110,23 @@
if(!is_browser)
winset(client, id, "on-close=\"tguiclose [id]\"")
+/**
+ * public
+ *
+ * Reinitializes the panel with previous data used for initialization.
+ */
+/datum/tgui_window/proc/reinitialize()
+ initialize(
+ fancy = initial_fancy,
+ assets = initial_assets,
+ inline_html = initial_inline_html,
+ inline_js = initial_inline_js,
+ inline_css = initial_inline_css
+ )
+ // Resend the assets
+ for(var/asset in sent_assets)
+ send_asset(asset)
+
/**
* public
*
@@ -327,13 +344,4 @@
if("openLink")
client << link(href_list["url"])
if("cacheReloaded")
- // Reinitialize
- initialize(
- fancy = initial_fancy,
- assets = initial_assets,
- inline_html = initial_inline_html,
- inline_js = initial_inline_js,
- inline_css = initial_inline_css)
- // Resend the assets
- for(var/asset in sent_assets)
- send_asset(asset)
+ reinitialize()
diff --git a/code/modules/tgui_input/color.dm b/code/modules/tgui_input/color.dm
new file mode 100644
index 00000000000..e435beaf9ef
--- /dev/null
+++ b/code/modules/tgui_input/color.dm
@@ -0,0 +1,180 @@
+/**
+ * Creates a TGUI color picker window and returns the user's response.
+ *
+ * This proc should be used to create a color picker that the caller will wait for a response from.
+ * Arguments:
+ * * user - The user to show the picker to.
+ * * title - The of the picker modal, shown on the top of the TGUI window.
+ * * timeout - The timeout of the picker, after which the modal will close and qdel itself. Set to zero for no timeout.
+ * * autofocus - The bool that controls if this picker should grab window focus.
+ */
+/proc/tgui_color_picker(mob/user, message, title, default = "#000000", timeout = 0, autofocus = TRUE)
+ if(!user)
+ user = usr
+ if(!istype(user))
+ if (istype(user, /client))
+ var/client/client = user
+ user = client.mob
+ else
+ return
+
+ // Client does NOT have tgui_input on: Returns regular input
+ if(user.get_preference_value(/datum/client_preference/tgui_input) != GLOB.PREF_YES)
+ return input(user, message, title, default) as color|null
+
+ var/datum/tgui_color_picker/picker = new(user, message, title, default, timeout, autofocus)
+ picker.ui_interact(user)
+ picker.wait()
+ if(picker)
+ . = picker.choice
+ qdel(picker)
+
+/**
+ * Creates an asynchronous TGUI color picker window with an associated callback.
+ *
+ * This proc should be used to create a color picker that invokes a callback with the user's chosen option.
+ * Arguments:
+ * * user - The user to show the picker to.
+ * * title - The of the picker modal, shown on the top of the TGUI window.
+ * * callback - The callback to be invoked when a choice is made.
+ * * timeout - The timeout of the picker, after which the modal will close and qdel itself. Set to zero for no timeout.
+ * * autofocus - The bool that controls if this picker should grab window focus.
+ */
+/proc/tgui_color_picker_async(mob/user, message, title, default = "#000000", datum/callback/callback, timeout = 0, autofocus = TRUE)
+ if(!user)
+ user = usr
+ if(!istype(user))
+ if (istype(user, /client))
+ var/client/client = user
+ user = client.mob
+ else
+ return
+
+ // Client does NOT have tgui_input on: Returns regular input
+ if(user.get_preference_value(/datum/client_preference/tgui_input) != GLOB.PREF_YES)
+ return input(user, message, title, default) as color|null
+
+ var/datum/tgui_color_picker/async/picker = new(user, message, title, default, callback, timeout, autofocus)
+ picker.ui_interact(user)
+
+/**
+ * # tgui_color_picker
+ *
+ * Datum used for instantiating and using a TGUI-controlled color picker.
+ */
+/datum/tgui_color_picker
+ /// The title of the TGUI window
+ var/title
+ /// The message to show the user
+ var/message
+ /// The default choice, used if there is an existing value
+ var/default
+ /// The color the user selected, null if no selection has been made
+ var/choice
+ /// The time at which the tgui_color_picker was created, for displaying timeout progress.
+ var/start_time
+ /// The lifespan of the tgui_color_picker, after which the window will close and delete itself.
+ var/timeout
+ /// The bool that controls if this modal should grab window focus
+ var/autofocus
+ /// Boolean field describing if the tgui_color_picker was closed by the user.
+ var/closed
+
+/datum/tgui_color_picker/New(mob/user, message, title, default, timeout, autofocus)
+ src.autofocus = autofocus
+ src.title = title
+ src.default = default
+ src.message = message
+ if(timeout)
+ src.timeout = timeout
+ start_time = world.time
+ QDEL_IN(src, timeout)
+
+/datum/tgui_color_picker/Destroy(force, ...)
+ SStgui.close_uis(src)
+ return ..()
+
+/**
+ * Waits for a user's response to the tgui_color_picker's prompt before returning. Returns early if
+ * the window was closed by the user.
+ */
+/datum/tgui_color_picker/proc/wait()
+ while(!choice && !closed && !QDELETED(src))
+ stoplag(1)
+
+/datum/tgui_color_picker/ui_interact(mob/user, datum/tgui/ui)
+ ui = SStgui.try_update_ui(user, src, ui)
+ if(!ui)
+ ui = new(user, src, "ColorPickerModal")
+ ui.open()
+ ui.set_autoupdate(timeout > 0)
+
+/datum/tgui_color_picker/ui_close(mob/user)
+ . = ..()
+ closed = TRUE
+
+/datum/tgui_color_picker/tgui_state(mob/user)
+ return GLOB.tgui_always_state
+
+/datum/tgui_color_picker/tgui_static_data(mob/user)
+ . = list()
+ .["autofocus"] = autofocus
+ .["title"] = title
+ .["default_color"] = default
+ .["message"] = message
+
+/datum/tgui_color_picker/tgui_data(mob/user)
+ . = list()
+ if(timeout)
+ .["timeout"] = CLAMP01((timeout - (world.time - start_time) - 1 SECONDS) / (timeout - 1 SECONDS))
+
+/datum/tgui_color_picker/tgui_act(action, list/params)
+ . = ..()
+
+ if(.)
+ return
+
+ switch(action)
+ if("submit")
+ var/raw_data = lowertext(params["entry"])
+ var/hex = sanitize_hexcolor(raw_data, desired_format = 6, include_crunch = TRUE)
+ if(!hex)
+ return
+
+ set_choice(hex)
+ closed = TRUE
+ SStgui.close_uis(src)
+ return TRUE
+
+ if("cancel")
+ closed = TRUE
+ SStgui.close_uis(src)
+ return TRUE
+
+/datum/tgui_color_picker/proc/set_choice(choice)
+ src.choice = choice
+
+/**
+ * # async tgui_color_picker
+ *
+ * An asynchronous version of tgui_color_picker to be used with callbacks instead of waiting on user responses.
+ */
+/datum/tgui_color_picker/async
+ /// The callback to be invoked by the tgui_color_picker upon having a choice made.
+ var/datum/callback/callback
+
+/datum/tgui_color_picker/async/New(mob/user, message, title, default, callback, timeout, autofocus)
+ ..(user, message, title, default, timeout, autofocus)
+ src.callback = callback
+
+/datum/tgui_color_picker/async/Destroy(force, ...)
+ QDEL_NULL(callback)
+ . = ..()
+
+/datum/tgui_color_picker/async/set_choice(choice)
+ . = ..()
+ if(!isnull(src.choice))
+ callback?.InvokeAsync(src.choice)
+
+/datum/tgui_color_picker/async/wait()
+ return
diff --git a/code/modules/tgui_panel/tgui_panel.dm b/code/modules/tgui_panel/tgui_panel.dm
index ae118337017..c3a81cca77e 100644
--- a/code/modules/tgui_panel/tgui_panel.dm
+++ b/code/modules/tgui_panel/tgui_panel.dm
@@ -49,14 +49,13 @@
))
// Other setup
request_telemetry()
- addtimer(CALLBACK(src, nameof(.proc/on_initialize_timed_out)), 30 SECONDS)
+ set_next_think(world.time + 30 SECONDS)
/**
- * private
- *
* Called when initialization has timed out.
*/
-/datum/tgui_panel/proc/on_initialize_timed_out()
+
+/datum/tgui_panel/think()
// Currently does nothing but sending a message to old chat.
DIRECT_OUTPUT(client, SPAN("danger", "Chat's loading is in progress. If the chat does not load in a minute - use 'Fix Chat'."))
diff --git a/code/modules/vehicles/cargo_train.dm b/code/modules/vehicles/cargo_train.dm
index 5a8c1ef2b76..8bdbc977464 100644
--- a/code/modules/vehicles/cargo_train.dm
+++ b/code/modules/vehicles/cargo_train.dm
@@ -65,7 +65,7 @@
AddOverlays(I)
turn_off() //so engine verbs are correctly set
-/obj/vehicle/train/cargo/engine/Move(turf/destination)
+/obj/vehicle/train/cargo/engine/Move(newloc, direct)
if(on && cell.charge < (charge_use * CELLRATE))
turn_off()
update_stats()
@@ -73,11 +73,11 @@
to_chat(load, "The drive motor briefly whines, then drones to a stop.")
if(is_train_head() && !on)
- return 0
+ return FALSE
//space check ~no flying space trains sorry
- if(on && istype(destination, /turf/space))
- return 0
+ if(on && istype(newloc, /turf/space))
+ return FALSE
return ..()
@@ -203,16 +203,17 @@
else
return ..()
-/obj/vehicle/train/cargo/engine/_examine_text(mob/user)
+/obj/vehicle/train/cargo/engine/examine(mob/user, infix)
. = ..()
+
if(get_dist(src, user) > 1)
return
- if(!istype(usr, /mob/living/carbon/human))
+ if(!ishuman(user))
return
- . += "\nThe power light is [on ? "on" : "off"].\nThere are[key ? "" : " no"] keys in the ignition."
- . += "\nThe charge meter reads [cell? round(CELL_PERCENT(cell), 0.01) : 0]%"
+ . += "The power light is [on ? "on" : "off"].\nThere are[key ? "" : " no"] keys in the ignition."
+ . += "The charge meter reads [cell? round(CELL_PERCENT(cell), 0.01) : 0]%"
/obj/vehicle/train/cargo/engine/verb/start_engine()
set name = "Start engine"
diff --git a/code/modules/vehicles/train.dm b/code/modules/vehicles/train.dm
index f75a372241d..85c9279ce29 100644
--- a/code/modules/vehicles/train.dm
+++ b/code/modules/vehicles/train.dm
@@ -27,16 +27,16 @@
for(var/obj/vehicle/train/T in orange(1, src))
latch(T)
-/obj/vehicle/train/Move()
+/obj/vehicle/train/Move(newloc, direct)
var/old_loc = get_turf(src)
- if(..())
- if(tow)
- tow.Move(old_loc)
- return 1
- else
+ . = ..()
+ if(!.)
if(lead)
unattach()
- return 0
+ return
+
+ if(tow)
+ tow.Move(old_loc)
/obj/vehicle/train/Bump(atom/Obstacle)
if(!istype(Obstacle, /atom/movable))
diff --git a/code/modules/vehicles/vehicle.dm b/code/modules/vehicles/vehicle.dm
index ae2b52b50ec..de6eedab3de 100644
--- a/code/modules/vehicles/vehicle.dm
+++ b/code/modules/vehicles/vehicle.dm
@@ -56,7 +56,7 @@
glide_size = move_glide_size
//spawn the cell you want in each vehicle
-/obj/vehicle/Move()
+/obj/vehicle/Move(newloc, direct)
if(world.time > l_move_time + move_delay)
if(on && powered && cell.charge < (charge_use * CELLRATE))
turn_off()
@@ -64,9 +64,11 @@
var/old_loc = get_turf(src)
var/init_anc = anchored
// Hack to let the vehicle fall() in open spaces.
- anchored = 0
+ anchored = FALSE
. = ..()
+ if(!.)
+ return
set_dir(get_dir(old_loc, loc))
anchored = init_anc
@@ -77,15 +79,15 @@
set_glide_size(move_glide_size)
if(ismob(load))
var/mob/M = load
- M.forceMove(loc, unbuckle_mob=FALSE)
+ M.forceMove(loc, unbuckle_mob = FALSE)
else
load.set_glide_size(move_glide_size)
load.forceMove(loc)
load.set_dir(dir)
- return 1
- else
- return 0
+ return TRUE
+
+ return FALSE
/obj/vehicle/attackby(obj/item/W as obj, mob/user as mob)
if(istype(W, /obj/item/hand_labeler))
diff --git a/code/modules/virus2/items_devices.dm b/code/modules/virus2/items_devices.dm
index 9999c62eb96..826db3c29f5 100644
--- a/code/modules/virus2/items_devices.dm
+++ b/code/modules/virus2/items_devices.dm
@@ -68,10 +68,11 @@
infect_virus2(target, src.virus2)
qdel(src)
-/obj/item/virusdish/_examine_text(mob/user)
+/obj/item/virusdish/examine(mob/user, infix)
. = ..()
+
if(basic_info)
- . += "\n[basic_info] : More Information"
+ . += "[basic_info] : More Information"
/obj/item/virusdish/OnTopic(user, href_list)
if(href_list["info"])
diff --git a/code/modules/xenoarcheaology/artifacts/artifact.dm b/code/modules/xenoarcheaology/artifacts/artifact.dm
index 2615a670485..ea0b209f06b 100644
--- a/code/modules/xenoarcheaology/artifacts/artifact.dm
+++ b/code/modules/xenoarcheaology/artifacts/artifact.dm
@@ -231,10 +231,14 @@
secondary_effect.ToggleActivate()
return
-/obj/machinery/artifact/Move()
+/obj/machinery/artifact/Move(newloc, direct)
. = ..()
+ if(!.)
+ return
+
if(main_effect)
main_effect.UpdateMove()
+
if(secondary_effect)
secondary_effect.UpdateMove()
diff --git a/code/modules/xenoarcheaology/finds/finds.dm b/code/modules/xenoarcheaology/finds/finds.dm
index 4d9367276fc..18ad5919d98 100644
--- a/code/modules/xenoarcheaology/finds/finds.dm
+++ b/code/modules/xenoarcheaology/finds/finds.dm
@@ -40,21 +40,18 @@
return
if(isWelder(I))
- var/obj/item/weldingtool/W = I
- if(W.isOn())
- if(W.get_fuel() >= 2)
- var/obj/item/inside = locate() in src
- if(inside)
- inside.forceMove(get_turf(src))
- visible_message("\The [src] burns away revealing \the [inside].")
- else
- visible_message("\The [src] burns away into nothing.")
- qdel(src)
- W.remove_fuel(2)
- else
- visible_message("A few sparks fly off \the [src], but nothing else happens.")
- W.remove_fuel(1)
- return
+ var/obj/item/weldingtool/WT = I
+ if(!WT.use_tool(src, user, amount = 2))
+ return FALSE
+
+ var/obj/item/inside = locate() in src
+ if(inside)
+ inside.forceMove(get_turf(src))
+ visible_message(SPAN_INFO("\The [src] burns away revealing \the [inside]."))
+ else
+ visible_message(SPAN_INFO("\The [src] burns away into nothing."))
+ qdel(src)
+ return
else if(istype(I, /obj/item/device/core_sampler))
var/obj/item/device/core_sampler/S = I
diff --git a/code/modules/xenoarcheaology/sampling.dm b/code/modules/xenoarcheaology/sampling.dm
index 18dddee547e..e04046711bb 100644
--- a/code/modules/xenoarcheaology/sampling.dm
+++ b/code/modules/xenoarcheaology/sampling.dm
@@ -90,10 +90,11 @@
var/num_stored_bags = 10
var/obj/item/evidencebag/filled_bag
-/obj/item/device/core_sampler/_examine_text(mob/user)
+/obj/item/device/core_sampler/examine(mob/user, infix)
. = ..()
+
if(get_dist(src, user) <= 2)
- . += "\nUsed to extract geological core samples - this one is [sampled_turf ? "full" : "empty"], and has [num_stored_bags] bag[num_stored_bags != 1 ? "s" : ""] remaining."
+ . += SPAN_NOTICE("Used to extract geological core samples - this one is [sampled_turf ? "full" : "empty"], and has [num_stored_bags] bag[num_stored_bags != 1 ? "s" : ""] remaining.")
/obj/item/device/core_sampler/attackby(obj/item/I, mob/living/user)
if(istype(I, /obj/item/evidencebag))
diff --git a/code/modules/xenoarcheaology/tools/geosample_scanner.dm b/code/modules/xenoarcheaology/tools/geosample_scanner.dm
index 91e4ef72f3b..06df925e623 100644
--- a/code/modules/xenoarcheaology/tools/geosample_scanner.dm
+++ b/code/modules/xenoarcheaology/tools/geosample_scanner.dm
@@ -47,7 +47,7 @@
..()
create_reagents(500)
coolant_reagents_purity[/datum/reagent/water] = 0.5
- coolant_reagents_purity[/datum/reagent/drink/coffee/icecoffee] = 0.6
+ coolant_reagents_purity[/datum/reagent/caffeine/coffee/icecoffee] = 0.6
coolant_reagents_purity[/datum/reagent/drink/tea/icetea] = 0.6
coolant_reagents_purity[/datum/reagent/drink/milkshake] = 0.6
coolant_reagents_purity[/datum/reagent/leporazine] = 0.7
diff --git a/code/modules/xenoarcheaology/tools/suspension_generator.dm b/code/modules/xenoarcheaology/tools/suspension_generator.dm
index 6440e43d5d6..3cf6d149e69 100644
--- a/code/modules/xenoarcheaology/tools/suspension_generator.dm
+++ b/code/modules/xenoarcheaology/tools/suspension_generator.dm
@@ -4,6 +4,7 @@
icon = 'icons/obj/xenoarchaeology.dmi'
icon_state = "suspension2"
density = 1
+ obj_flags = OBJ_FLAG_ANCHOR_BLOCKS_ROTATION
req_access = list(access_research)
use_power = 0
active_power_usage = 5 KILO WATTS
@@ -17,6 +18,8 @@
..()
src.cell = new /obj/item/cell/high(src)
+ AddElement(/datum/element/simple_rotation)
+
/obj/machinery/suspension_gen/Process()
set background = 1
if(suspension_field)
@@ -236,26 +239,6 @@
deactivate()
return ..()
-/obj/machinery/suspension_gen/verb/rotate_ccw()
- set src in view(1)
- set name = "Rotate suspension gen (counter-clockwise)"
- set category = "Object"
-
- if(anchored)
- to_chat(usr, SPAN("warning", "You cannot rotate [src], it has been firmly fixed to the floor."))
- else
- set_dir(turn(dir, 90))
-
-/obj/machinery/suspension_gen/verb/rotate_cw()
- set src in view(1)
- set name = "Rotate suspension gen (clockwise)"
- set category = "Object"
-
- if(anchored)
- to_chat(usr, SPAN("warning", "You cannot rotate [src], it has been firmly fixed to the floor."))
- else
- set_dir(turn(dir, -90))
-
/obj/effect/suspension_field
name = "energy field"
icon = 'icons/effects/effects.dmi'
diff --git a/code/modules/xenoarcheaology/tools/tools.dm b/code/modules/xenoarcheaology/tools/tools.dm
index 951ce868b2f..84e44dc0f68 100644
--- a/code/modules/xenoarcheaology/tools/tools.dm
+++ b/code/modules/xenoarcheaology/tools/tools.dm
@@ -12,10 +12,11 @@
var/turf/T = get_turf(src)
to_chat(user, "\icon[src] \The [src] flashes [T.x]:[T.y]:[T.z].")
-/obj/item/device/gps/_examine_text(mob/user)
+/obj/item/device/gps/examine(mob/user, infix)
. = ..()
+
var/turf/T = get_turf(src)
- . += "\n\The [src]'s screen shows: [T.x]:[T.y]:[T.z]."
+ . += SPAN_NOTICE("\The [src]'s screen shows: [T.x]:[T.y]:[T.z].")
/obj/item/device/measuring_tape
name = "measuring tape"
diff --git a/code/modules/xgm/xgm_gas_data.dm b/code/modules/xgm/xgm_gas_data.dm
index 3cfa8702307..9daf95be365 100644
--- a/code/modules/xgm/xgm_gas_data.dm
+++ b/code/modules/xgm/xgm_gas_data.dm
@@ -51,3 +51,30 @@
gas_data.burn_product[gas.id] = gas.burn_product
return 1
+
+/atom/movable/temp_overlay
+ icon = 'icons/effects/temp_effects.dmi'
+ icon_state = "generic"
+ layer = FIRE_LAYER
+ appearance_flags = DEFAULT_APPEARANCE_FLAGS | RESET_COLOR
+ mouse_opacity = MOUSE_OPACITY_TRANSPARENT
+ var/effect_type
+
+/atom/movable/temp_overlay/Initialize(mapload, effect)
+ . = ..()
+ effect_type = effect
+
+/atom/movable/temp_overlay/proc/update_alpha_animation(new_alpha)
+ if(new_alpha == alpha)
+ return
+
+ animate(src, alpha = new_alpha)
+ alpha = new_alpha
+ animate(src, alpha = 0.8 * new_alpha, time = 10, easing = SINE_EASING | EASE_OUT, loop = -1)
+ animate(alpha = new_alpha, time = 10, easing = SINE_EASING | EASE_IN, loop = -1)
+
+/atom/movable/temp_overlay/heat
+ plane = TEMPERATURE_EFFECT_PLANE
+ render_source = HEAT_EFFECT_TARGET
+ icon = null
+ icon_state = null
diff --git a/code/modules/xgm/xgm_gas_mixture.dm b/code/modules/xgm/xgm_gas_mixture.dm
index b5d6ccc0b64..356b698b661 100644
--- a/code/modules/xgm/xgm_gas_mixture.dm
+++ b/code/modules/xgm/xgm_gas_mixture.dm
@@ -1,3 +1,5 @@
+#define TEMPERATURE_OVERLAY_HEAT "t_overlay_heat"
+
/datum/gas_mixture
//Associative list of gas moles.
//Gases with 0 moles are not tracked and are pruned by update_values()
@@ -15,6 +17,9 @@
//List of active tile overlays for this gas_mixture. Updated by check_tile_graphic()
var/list/graphic = list()
+ /// Cache of temperature overlays
+ var/list/temp_overlay_cache = list()
+
/datum/gas_mixture/New(_volume = CELL_VOLUME, _temperature = 0, _group_multiplier = 1)
volume = _volume
temperature = _temperature
@@ -364,6 +369,17 @@
if(!graphic_add)
graphic_add = list()
graphic_add += gas_data.tile_overlay[g]
+ . = 0
+
+ var/atom/movable/temp_overlay/heat_overlay = get_temperature_overlay(TEMPERATURE_OVERLAY_HEAT)
+ if(temperature >= CARBON_LIFEFORM_FIRE_RESISTANCE)
+ if(!LAZYISIN(graphic, heat_overlay))
+ graphic_add += heat_overlay
+ else if(heat_overlay in graphic)
+ graphic_remove += heat_overlay
+
+ var/new_alpha = clamp(max(125, 255 * ((temperature - CARBON_LIFEFORM_FIRE_RESISTANCE) / CARBON_LIFEFORM_FIRE_RESISTANCE * 4)), 125, 255)
+ heat_overlay.update_alpha_animation(new_alpha)
. = 0
//Apply changes
@@ -374,6 +390,16 @@
graphic -= graphic_remove
. = 1
+/datum/gas_mixture/proc/get_temperature_overlay(overlay_type)
+ var/atom/movable/temp_overlay/overlay = LAZYACCESS(temp_overlay_cache, overlay_type)
+ if(!isnull(overlay))
+ return overlay
+
+ if(overlay_type == TEMPERATURE_OVERLAY_HEAT)
+ overlay = new /atom/movable/temp_overlay/heat(null, TEMPERATURE_OVERLAY_HEAT)
+ LAZYSET(temp_overlay_cache, overlay_type, overlay)
+
+ return overlay
//Simpler version of merge(), adjusts gas amounts directly and doesn't account for temperature or group_multiplier.
/datum/gas_mixture/proc/add(datum/gas_mixture/right_side)
@@ -510,3 +536,5 @@
var/M = get_total_moles()
if(M)
return get_mass()/M
+
+#undef TEMPERATURE_OVERLAY_HEAT
diff --git a/config/example/config.toml b/config/example/config.toml
index 1515d7665b7..b330466d2ed 100644
--- a/config/example/config.toml
+++ b/config/example/config.toml
@@ -10,7 +10,7 @@ subserver_name = "Chaotic"
## Server id. This is used, when you have more than one server connected to single DB.
## NOTE! You should migrate your DB to schema with server_id applied to each ban record
## to actually support this option. Leave this commented, if you have just one server.
-# server_id = ""
+server_id = "onyxbay"
# Set to true to generate numeric suffix after server name based on server port.
server_suffix = false
@@ -58,11 +58,14 @@ tick_limit_mc_init = 100
## Hitting the minute limit notifies admins.
## Set to 0 or comment out to disable.
second_topic_limit = 10
-minute_topic_limit = 100
+minute_topic_limit = 200
## Set to true to make Dream Daemon refuse to reboot for any reason other than `SIGUSR1`.
wait_for_sigusr1 = false
+## Uncomment to start a metrics endpoint for prometheus.
+#prometheus_port = "9080"
+
[lobby]
splashes = ["icons/splashes/onyx_new.png"]
diff --git a/config/example/objectives/abductee_objectives.txt b/config/example/objectives/abductee_objectives.txt
deleted file mode 100644
index 18f669b5287..00000000000
--- a/config/example/objectives/abductee_objectives.txt
+++ /dev/null
@@ -1,40 +0,0 @@
-Try to get formally executed for a crime you didn't commit, without a false confession.
-Being alone and in large groups are both frightening. Try to be alone with only one other person whenever possible.
-No matter how they say it, other people keep mispronouncing your name. Be sure to correct them whenever possible.
-The Syndicate has hired you to compile dossiers on all important members of the crew. Be sure they don't know you're doing it.
-There is only one other person in existence, he is just really good at pretending to be multiple people.
-There are alien parasites masquerading as people's hair. Save people from this invasion.
-You died back there and went to heaven... or is it hell? No one here seems to know they're dead. Convince them, and maybe you can escape this limbo.
-You are doomed to feel woefully incomplete forever... until you find your true love on this station. They're waiting for you!
-You're the narrator of this tale. Follow around the protagonists to tell their story.
-The leaders of this station are hiding a grand, evil conspiracy. Only you can learn what it is, and expose it to the people!
-All the pets around here suck. You need to make them cooler. Replace them with exotic beasts!
-You're throwing a huge rager. Make it as awesome as possible so the whole crew comes... OR ELSE!
-The clown is not funny. You can do better! Steal his audience and make the crew laugh!
-You burn with passion for music. Share your vision. If anyone hates it, beat them on the head with your instrument!
-Go have a good conversation with the singularity/tesla/supermatter crystal. Bonus points if it responds.
-You are pregnant and soon due. Find a safe place to deliver your baby.
-Expand the station.
-So much lies undiscovered. Look deeper into the machinations of the universe.
-Climb the corporate ladder all the way to the top!
-Fuck the system! Defect from the station and start an independent colony in space, Lavaland or the derelict. Recruit crewmates if you can.
-Nanotrasen is abusing the animals! Save as many as you can!
-It's all an entirely virtual simulation within an underground vault. Convince the crew to escape the shackles of VR.
-This is a secret social experiment conducted by Nanotrasen. Convince the crew that this is the truth.
-Call forth a spirit from the other side.
-You are secretly an android. Interface with as many machines as you can to boost your own power so the AI may acknowledge you at last.
-The elder gods hunger. Gather a cult and conduct a ritual to summon one.
-You have been changed forever. Find the ones that did this to you and give them a taste of their own medicine.
-Ensure your department prospers over all else.
-The crew must get to know one another better. Break down the walls inside the station!
-The CEO of Nanotrasen is coming! Ensure the station is in absolutely pristine condition.
-Flood the station's powernet with as much electricity as you can.
-Replace all the floor tiles with wood, carpeting, grass or bling.
-You must escape the station! Get the shuttle called!
-Death should be final and modern medicine disrupts the natural order. Don't allow anyone to be revived.
-The oxygen is killing them all and they don't even know it. Make sure no oxygen is on the station.
-Your body must be improved. Ingest as many drugs as you can.
-You are hungry. Eat as much food as you can find.
-You see you see what they cannot you see the open door you seeE you SEeEe you SEe yOU seEee SHOW THEM ALL
-Convince the crew that you are a paraplegic.
-Start a collection of corpses. Don't kill people to get these corpses.
diff --git a/html/changelog.html b/html/changelog.html
index 0799bd50909..f13e1edbbc8 100644
--- a/html/changelog.html
+++ b/html/changelog.html
@@ -45,6 +45,404 @@
FelixArzt updated:
+
+
+ intercepti0n updated:
+
+
+ igorsaux updated:
+
+
+ TobyThorne updated:
+
+
+ Filatelele updated:
+
+
+ intercepti0n updated:
+
+
+ Primudash updated:
+
+
+ TobyThorne updated:
+
+
+ Filatelele updated:
+
+
+ TobyThorne updated:
+
+
+ Filatelele updated:
+
+
+ BaraBara updated:
+
+
+ intercepti0n updated:
+
+
+ TobyThorne updated:
+
+
+ Filatelele updated:
+
+
+ Zert0X updated:
+
+
+ intercepti0n updated:
+
+
+ TobyThorne updated:
+
+
+ TobyThorne updated:
+
+
+ intercepti0n updated:
+
+
+ TobyThorne updated:
+
+
+ Rampoch updated:
+
+
+ TobyThorne updated:
+
+
+ Filatelele updated:
+
+
+ Primudash updated:
+
+
+ intercepti0n updated:
+
+
+ Port by Filatelele, re-sprite by TobyThorne updated:
+
+
+ Zert0X updated:
+
+
+ TobyThorne updated:
+
+
+ Primudash updated:
+
+
+ intercepti0n updated:
+
+
+ TobyThorne updated:
+
+
+ Filatelele updated:
+
+
+ Filatelele updated:
+
+
+ intercepti0n updated:
+
+
+ intercepti0n updated:
+
+
+ TobyThorne updated:
+
+
+ Filatelele updated:
+
+
+ intercepti0n & LeviafanWeber updated:
+
+
+ Filatelele updated:
+
+
+ TobyThorne updated:
+
+
+ TobyThorne updated:
+
+
+ Filatelele updated:
+
+
+ Doster-d updated:
+
+
Filatelele updated:
diff --git a/html/changelogs/.all_changelog.json b/html/changelogs/.all_changelog.json
index 54d70e1ee81..97c4203bb4e 100644
--- a/html/changelogs/.all_changelog.json
+++ b/html/changelogs/.all_changelog.json
@@ -1,4 +1,893 @@
[
+ {
+ "author": "FelixArzt",
+ "date": "2024-04-05T00:00:00+03:00",
+ "changes": [
+ {
+ "prefix": "BugFix",
+ "message": "Бригада рабочих-таяр установила отсутствующий пожарный шлюз на входе в шахтерку Исхода.",
+ "pr": 12106
+ }
+ ]
+ },
+ {
+ "author": "intercepti0n",
+ "date": "2024-04-05T00:00:00+03:00",
+ "changes": [
+ {
+ "prefix": "RscAdd",
+ "message": "У администраторов появилось действие \"Change Lobby Art\" во вкладке \"Server\", позволяющее изменить рисунок в лобби на любой другой из доступных.",
+ "pr": 12090
+ }
+ ]
+ },
+ {
+ "author": "igorsaux",
+ "date": "2024-04-05T00:00:00+03:00",
+ "changes": [
+ {
+ "prefix": "ImageAdd",
+ "message": "Добавлен эффект холодного дыхания.",
+ "pr": 12103
+ }
+ ]
+ },
+ {
+ "author": "TobyThorne",
+ "date": "2024-04-05T00:00:00+03:00",
+ "changes": [
+ {
+ "prefix": "BugFix",
+ "message": "Патч первого дня для Entrepot-17. Исправлены неработающие мусорки, отсутствие камер и невозможность запарить баньку без танцев с надувными стенами.",
+ "pr": 12114
+ }
+ ]
+ },
+ {
+ "author": "Filatelele",
+ "date": "2024-04-04T00:00:00+03:00",
+ "changes": [
+ {
+ "prefix": "BugFix",
+ "message": "Синтетики снова могут участвовать в лотерее релейшнов.",
+ "pr": 12091
+ },
+ {
+ "prefix": "BugFix",
+ "message": "Исправлено недоразумение в результате которого космонавтов нельзя было окунуть в ведро.",
+ "pr": 12087
+ },
+ {
+ "prefix": "BugFix",
+ "message": "Добавлен кулдаун крышке унитаза. Да, теперь нельзя гибнуть голову космонавту закликав туалет.",
+ "pr": 12087
+ }
+ ]
+ },
+ {
+ "author": "intercepti0n",
+ "date": "2024-04-04T00:00:00+03:00",
+ "changes": [
+ {
+ "prefix": "BugFix",
+ "message": "Исправлен баг, уводивший статус панель в БСОД при снятии кусков РИГа.",
+ "pr": 12069
+ },
+ {
+ "prefix": "BugFix",
+ "message": "Исправлено действие для снятия нижнего белья во вкладке \"Objects\".",
+ "pr": 12069
+ },
+ {
+ "prefix": "BugFix",
+ "message": "Исправлены некликабельные подсистемы силиконов, вылезающие во вкладке \"Status\". Если вам потребуется воспользоваться какой-либо подсистемой - воспользуйтесь действием \"Subsystems\" во вкладке \"Silicon Commands\".",
+ "pr": 12069
+ },
+ {
+ "prefix": "Experiment",
+ "message": "Предположительно исправлено отображение объектов во вкладке \"Turf\".",
+ "pr": 12069
+ },
+ {
+ "prefix": "RscAdd",
+ "message": "У педалей теперь появился доступ к глобальному \"Check Languages\" и \"Check Mob Languages\" на мобе, позволяющим добавлять и убирать языки любому игроку и / или мобу.",
+ "pr": 12079
+ }
+ ]
+ },
+ {
+ "author": "Primudash",
+ "date": "2024-04-04T00:00:00+03:00",
+ "changes": [
+ {
+ "prefix": "RscAdd",
+ "message": "Улитка на голове.",
+ "pr": 12097
+ }
+ ]
+ },
+ {
+ "author": "TobyThorne",
+ "date": "2024-04-04T00:00:00+03:00",
+ "changes": [
+ {
+ "prefix": "RscAdd",
+ "message": "Добавлена новая карта - NTS \"Entrepot-17\", маленькая пересадочная станция, лежащая на пути от \"Полумесяца\" к \"Исходу\". Здесь будущий экипаж \"Исхода\" ждёт, пока последний готовят к началу смены. Карта предназначена исключительно для ночных раундов, когда хочется посидеть в уютных декорациях без необходимости следить за полноразмерной станцией - даже двигатель настраивать не придётся. Для любителей строительства, впрочем, есть большой запас ресурсов и пара RCD.",
+ "pr": 12051
+ }
+ ]
+ },
+ {
+ "author": "Filatelele",
+ "date": "2024-04-02T00:00:00+03:00",
+ "changes": [
+ {
+ "prefix": "BugFix",
+ "message": "Сборка/разборка кофемашины и сауны теперь работает.",
+ "pr": 12050
+ },
+ {
+ "prefix": "BugFix",
+ "message": "Сауну теперь можно откручивать.",
+ "pr": 12050
+ },
+ {
+ "prefix": "Tweak",
+ "message": "Платы кофемашины и сауны добавлены в РнД.",
+ "pr": 12050
+ },
+ {
+ "prefix": "BugFix",
+ "message": "Исправлен дюп электроники солнечных панелей.",
+ "pr": 12047
+ },
+ {
+ "prefix": "BugFix",
+ "message": "Разборка турелей и их панелей снова должна работать.",
+ "pr": 12040
+ }
+ ]
+ },
+ {
+ "author": "TobyThorne",
+ "date": "2024-04-02T00:00:00+03:00",
+ "changes": [
+ {
+ "prefix": "BugFix",
+ "message": "Стены снова умеют в ambient occlusion (aka затеняют пол).",
+ "pr": 12060
+ }
+ ]
+ },
+ {
+ "author": "Filatelele",
+ "date": "2024-04-01T00:00:00+03:00",
+ "changes": [
+ {
+ "prefix": "BugFix",
+ "message": "Серия фиксов кофемашины.",
+ "pr": 12014
+ },
+ {
+ "prefix": "RscAdd",
+ "message": "/\uD83C\uDD91",
+ "pr": 12012
+ },
+ {
+ "prefix": "BugFix",
+ "message": "Исправлено недоразумение со сваркой и болтами шлюза.",
+ "pr": 12015
+ },
+ {
+ "prefix": "BugFix",
+ "message": "Болты шлюза больше нельзя обрезать выключенным энергомечом.",
+ "pr": 12015
+ },
+ {
+ "prefix": "BugFix",
+ "message": "Возвращено быстрое раздевание через граб.",
+ "pr": 12018
+ },
+ {
+ "prefix": "BugFix",
+ "message": "Госты снова могут осматривать атомы.",
+ "pr": 12022
+ },
+ {
+ "prefix": "BugFix",
+ "message": "Стекло в сауне Исхода снова имеет правильное направление.",
+ "pr": 12034
+ }
+ ]
+ },
+ {
+ "author": "BaraBara",
+ "date": "2024-04-01T00:00:00+03:00",
+ "changes": [
+ {
+ "prefix": "Tweak",
+ "message": "Трубы, эмиттеры и прочие вертящиеся предметы теперь крутятся на альтклик",
+ "pr": 11894
+ }
+ ]
+ },
+ {
+ "author": "intercepti0n",
+ "date": "2024-04-01T00:00:00+03:00",
+ "changes": [
+ {
+ "prefix": "RscAdd",
+ "message": "Двойной клик по атому теперь позволяет увидеть расширенное описание атома, содержащее флафф, лорную заметку и опциональную информацию для антагонистов.",
+ "pr": 11992
+ },
+ {
+ "prefix": "RscAdd",
+ "message": "Теперь информацию о защите брони и робустность оружия можно посмотреть в обычном чате, нажав по гиперссылки, появляющейся в конце описания.",
+ "pr": 11992
+ }
+ ]
+ },
+ {
+ "author": "TobyThorne",
+ "date": "2024-03-31T00:00:00+03:00",
+ "changes": [
+ {
+ "prefix": "ImageAdd",
+ "message": "Продолжается добавление и обновление иконок предметов в руках. Двойные есворды теперь можно держать в одной руке, а плазменные пилы не меняют цвет. И ещё всякое по мелочи.",
+ "pr": 11984
+ },
+ {
+ "prefix": "ImageAdd",
+ "message": "Обновление иконок получили дыхательные маски, медицинские маски и банданы. Последние теперь не так сильно похожи на трусы.",
+ "pr": 11984
+ },
+ {
+ "prefix": "Tweak",
+ "message": "Многим маскам (банданы, шарфы, дыхательные маски и не только) теперь можно переключать слой командой \"Switch Mask Layer\". В альтернативном режиме маска перекрывается волосами.",
+ "pr": 11984
+ }
+ ]
+ },
+ {
+ "author": "Filatelele",
+ "date": "2024-03-30T00:00:00+03:00",
+ "changes": [
+ {
+ "prefix": "BugFix",
+ "message": "В результате ракетно-бомбового удара были уничтожены макросы класса \"Бросок\"",
+ "pr": 11970
+ },
+ {
+ "prefix": "RscAdd",
+ "message": "Добавлен эффект ряби при высокой температуре газовой смеси.",
+ "pr": 11983
+ }
+ ]
+ },
+ {
+ "author": "Zert0X",
+ "date": "2024-03-30T00:00:00+03:00",
+ "changes": [
+ {
+ "prefix": "BugFix",
+ "message": "Фикс различных багов ксенобио.",
+ "pr": 11978
+ }
+ ]
+ },
+ {
+ "author": "intercepti0n",
+ "date": "2024-03-30T00:00:00+03:00",
+ "changes": [
+ {
+ "prefix": "Experiment",
+ "message": "Вкладка МС теперь значительно меньше загружает клиент.",
+ "pr": 11959
+ },
+ {
+ "prefix": "Experiment",
+ "message": "Портирована стат панель на основе браузера с TG.",
+ "pr": 11959
+ }
+ ]
+ },
+ {
+ "author": "TobyThorne",
+ "date": "2024-03-29T00:00:00+03:00",
+ "changes": [
+ {
+ "prefix": "ImageAdd",
+ "message": "Продолжается добавление и обновление предметов в руках. Ведро снова выглядит как ведро, фонарики стали иммерсивнее, мыло и гранаты не невидимые, и ещё огромная куча всего.",
+ "pr": 11971
+ },
+ {
+ "prefix": "Admin",
+ "message": "(!) Пожалуйста, репортите предметы, у которых нет спрайтов в руках, либо эти спрайты сломаны (например, полностью отсутствует спрайт для \"задней\" руки). Их ещё очень много, но всплывают они в самых неожиданных местах.",
+ "pr": 11971
+ }
+ ]
+ },
+ {
+ "author": "TobyThorne",
+ "date": "2024-03-28T00:00:00+03:00",
+ "changes": [
+ {
+ "prefix": "BugFix",
+ "message": "Исправлена ошибка, из-за которой у погибших растений иногда не обновлялся спрайт. Скорее всего.",
+ "pr": 11965
+ },
+ {
+ "prefix": "BugFix",
+ "message": "Исправлена ошибка, из-за которой у некоторых растений-мутантов неправильно окрашивались плоды.",
+ "pr": 11965
+ },
+ {
+ "prefix": "BugFix",
+ "message": "Исправлены иконки ice pepper.",
+ "pr": 11965
+ },
+ {
+ "prefix": "BugFix",
+ "message": "Исправлена иконка mini hoe - на них дополнительно накладывался цвет, из-за чего спрайт был слишком тёмным.",
+ "pr": 11965
+ },
+ {
+ "prefix": "ImageAdd",
+ "message": "Куча исправлений предметов в руках. Добавлены иконки для кучи предметов (стаки материалов, плитка, обувь, перчатки, етц), у которых их не было, добавлены отсутствующие у некоторых иконок направления (в основном - \"задняя\" рука при виде сбоку), перерисованы некоторые старые (тулбоксы, коробки, болоны, етц).",
+ "pr": 11962
+ },
+ {
+ "prefix": "BugFix",
+ "message": "Исправлена ошибка, из-за которой некоторые предметы в руках (например, провода) не красились в нужный цвет.",
+ "pr": 11962
+ }
+ ]
+ },
+ {
+ "author": "intercepti0n",
+ "date": "2024-03-26T00:00:00+03:00",
+ "changes": [
+ {
+ "prefix": "BugFix",
+ "message": "Порталы больше не убивают сервер рекурсией.",
+ "pr": 11948
+ }
+ ]
+ },
+ {
+ "author": "TobyThorne",
+ "date": "2024-03-26T00:00:00+03:00",
+ "changes": [
+ {
+ "prefix": "BugFix",
+ "message": "Исправлена ошибка, из-за которой эмоуты выделялись курсивом.",
+ "pr": 11932
+ },
+ {
+ "prefix": "BugFix",
+ "message": "Переработано отображение предметов в руках. Теперь в боковой проекции предмет в \"задней\" руке не \"просвечивает\" через одежду (или пузо).",
+ "pr": 11943
+ },
+ {
+ "prefix": "BugFix",
+ "message": "Раньше предметы в правой руке всегда отображались поверх предметов в левой, даже когда персонаж стоял левым боком к экрану. Ушла эпоха.",
+ "pr": 11943
+ },
+ {
+ "prefix": "BugFix",
+ "message": "В руках у тонких бодибилдов предметы теперь смещаются: большинство предметов теперь не летает в воздухе перед персонажем.",
+ "pr": 11943
+ }
+ ]
+ },
+ {
+ "author": "Rampoch",
+ "date": "2024-03-26T00:00:00+03:00",
+ "changes": [
+ {
+ "prefix": "MapTweak",
+ "message": "Эклипс: Приведение карты к обнове голодека;",
+ "pr": 11891
+ },
+ {
+ "prefix": "MapTweak",
+ "message": "Эклипс: Обновление баз антагов на ЦК улучшениями Крипера;",
+ "pr": 11891
+ },
+ {
+ "prefix": "MapTweak",
+ "message": "Эклипс: Фикс рантаймов;",
+ "pr": 11891
+ },
+ {
+ "prefix": "MapTweak",
+ "message": "Эклипс: Прочие улучшения декора.",
+ "pr": 11891
+ }
+ ]
+ },
+ {
+ "author": "TobyThorne",
+ "date": "2024-03-24T00:00:00+03:00",
+ "changes": [
+ {
+ "prefix": "ImageAdd",
+ "message": "Обновлены спрайты некоторой обуви, магбутсов и белых/латексных перчаток.",
+ "pr": 11919
+ },
+ {
+ "prefix": "RscAdd",
+ "message": "Изменена логика работы префа \"Show Splashes (Runechat-Like-Popups)\", поскольку многие сообщения переделываются в сплеши, которые не на каждом экране можно разглядеть. Теперь имеются три опции - выводить сплеш только на экране, выводить его только в чате, либо выводить и туда, и сюда. Настоятельно рекомендуется обновить преф вручную, ибо он мог сбиться.",
+ "pr": 11904
+ },
+ {
+ "prefix": "Balance",
+ "message": "Награда за убийство по контракту увеличена с 2/4 до 4/6 ТК.",
+ "pr": 11923
+ }
+ ]
+ },
+ {
+ "author": "Filatelele",
+ "date": "2024-03-24T00:00:00+03:00",
+ "changes": [
+ {
+ "prefix": "RscAdd",
+ "message": "Гуантанамо апдейт. Теперь космонавтов можно купать в туалете и ведрах с водой и другими жидкостями.",
+ "pr": 11887
+ },
+ {
+ "prefix": "Tweak",
+ "message": "Мыши привели проводку станции в совершенно негодное состояние. Теперь свет включается не мгновенно.",
+ "pr": 11922
+ },
+ {
+ "prefix": "Tweak",
+ "message": "Иногда со светом происходит что-то странное при хлопках. Постарайтесь не хлопать в ладоши.",
+ "pr": 11921
+ },
+ {
+ "prefix": "RscAdd",
+ "message": "Браузерный интерфейс выбора языков заменен на современный TGUI.",
+ "pr": 11907
+ },
+ {
+ "prefix": "BugFix",
+ "message": "Крафт выключенной сваркой более недоступен.",
+ "pr": 11912
+ }
+ ]
+ },
+ {
+ "author": "Primudash",
+ "date": "2024-03-24T00:00:00+03:00",
+ "changes": [
+ {
+ "prefix": "ImageAdd",
+ "message": "Добавлена крышка для блюспейсшейкера.",
+ "pr": 11900
+ }
+ ]
+ },
+ {
+ "author": "intercepti0n",
+ "date": "2024-03-24T00:00:00+03:00",
+ "changes": [
+ {
+ "prefix": "RscAdd",
+ "message": "Добавлена возможность играть со старой позицией чата. По стандарту у всех игроков стоит \"совремнная\" версия.",
+ "pr": 11920
+ },
+ {
+ "prefix": "Tweak",
+ "message": "Кнопки и инпутбокс теперь плоские, глаза больше не вытекают при их виде.",
+ "pr": 11920
+ }
+ ]
+ },
+ {
+ "author": "Port by Filatelele, re-sprite by TobyThorne",
+ "date": "2024-03-24T00:00:00+03:00",
+ "changes": [
+ {
+ "prefix": "RscAdd",
+ "message": "Порт кофемашины с ТГ. Варим кофе со стилем.",
+ "pr": 11825
+ }
+ ]
+ },
+ {
+ "author": "Zert0X",
+ "date": "2024-03-24T00:00:00+03:00",
+ "changes": [
+ {
+ "prefix": "Tweak",
+ "message": "Вернулась старая логика лестниц.",
+ "pr": 11905
+ }
+ ]
+ },
+ {
+ "author": "TobyThorne",
+ "date": "2024-03-21T00:00:00+03:00",
+ "changes": [
+ {
+ "prefix": "ImageAdd",
+ "message": "Обновлены спрайты лабораторных халатов и некоторой обуви.",
+ "pr": 11888
+ }
+ ]
+ },
+ {
+ "author": "Primudash",
+ "date": "2024-03-21T00:00:00+03:00",
+ "changes": [
+ {
+ "prefix": "RscAdd",
+ "message": "Резиновую уточку теперь можно носить на голове.",
+ "pr": 11892
+ }
+ ]
+ },
+ {
+ "author": "intercepti0n",
+ "date": "2024-03-21T00:00:00+03:00",
+ "changes": [
+ {
+ "prefix": "Tweak",
+ "message": "Настройки зума и апскейлинга перенесены из верхнего меню в меню настроек.",
+ "pr": 11883
+ },
+ {
+ "prefix": "RscDel",
+ "message": "Окно игры стало еще больше: удалена нижняя позиция чата.",
+ "pr": 11883
+ },
+ {
+ "prefix": "RscAdd",
+ "message": "Ввод перенесен под чат, добавлены эстетичные отступы от краев и между элементами.",
+ "pr": 11883
+ },
+ {
+ "prefix": "RscAdd",
+ "message": "Добавлено больше опций в настройку апскейлинга, на выбор предлагаются следующие варианты: нормальный, ближайший сосед, размытие.",
+ "pr": 11883
+ },
+ {
+ "prefix": "RscAdd",
+ "message": "Добавлена настройка для отключения статус-окошка, теперь билд точно переместился в двадцать первый век.",
+ "pr": 11884
+ }
+ ]
+ },
+ {
+ "author": "TobyThorne",
+ "date": "2024-03-19T00:00:00+03:00",
+ "changes": [
+ {
+ "prefix": "Tweak",
+ "message": "Обновлены спрайты униформ: СМО, медиков, химиков, вирусологов, учёных, инженеров, атмосферников, КМа и обычная (серая + цветные варианты).",
+ "pr": 11857
+ }
+ ]
+ },
+ {
+ "author": "Filatelele",
+ "date": "2024-03-19T00:00:00+03:00",
+ "changes": [
+ {
+ "prefix": "Admin",
+ "message": "Улучшение видимости людей в вотчлисте - теперь они отдельно помечаются в педальном who.",
+ "pr": 11874
+ },
+ {
+ "prefix": "BugFix",
+ "message": "Shield diffuser снова разбирается.",
+ "pr": 11873
+ },
+ {
+ "prefix": "BugFix",
+ "message": "Граната с голосовым активатором должна начать работать корректно.",
+ "pr": 11873
+ },
+ {
+ "prefix": "BugFix",
+ "message": "Исправлено недоразумение сломавшее разбор укрепленных стенок.",
+ "pr": 11873
+ },
+ {
+ "prefix": "BugFix",
+ "message": "Госты снова могут рассматривать ID-карты издалека.",
+ "pr": 11873
+ },
+ {
+ "prefix": "BugFix",
+ "message": "Исправлен баг в результате которого нельзя было разварить камеру сваркой.",
+ "pr": 11873
+ },
+ {
+ "prefix": "BugFix",
+ "message": "При разборе гирдера ломом больше не наносится удар после завершения do_after().",
+ "pr": 11873
+ },
+ {
+ "prefix": "BugFix",
+ "message": "Стак-машина шахтеров должна перестать выдавать стаки с нулем листов.",
+ "pr": 11873
+ },
+ {
+ "prefix": "Tweak",
+ "message": "Пиксельхантинг отменяется. Теперь можно доставать предметы из инвентаря просто кликая по их оверлею, а не только по самим предметам.",
+ "pr": 11875
+ }
+ ]
+ },
+ {
+ "author": "Filatelele",
+ "date": "2024-03-18T00:00:00+03:00",
+ "changes": [
+ {
+ "prefix": "Tweak",
+ "message": "Слегка поднял цену картриджей для РЦД.",
+ "pr": 11854
+ },
+ {
+ "prefix": "BugFix",
+ "message": "Дюп материи через листы стали в РЦД исправлен.",
+ "pr": 11854
+ },
+ {
+ "prefix": "BugFix",
+ "message": "Исправлено некорректное отображение некоторых структур в интерфейсе РЦД.",
+ "pr": 11854
+ },
+ {
+ "prefix": "BugFix",
+ "message": "Исправлен неправильный тип machine frame в РЦД.",
+ "pr": 11854
+ },
+ {
+ "prefix": "BugFix",
+ "message": "Шпионские жучки снова должны корректно работать.",
+ "pr": 11852
+ },
+ {
+ "prefix": "Tweak",
+ "message": "Порт крутого TGUI с /TG/ для защищенных кодом ящиков.",
+ "pr": 11848
+ },
+ {
+ "prefix": "BugFix",
+ "message": "Исправлено недоразумение не позволявшее игрокам приваривать броню при сборке мехов.",
+ "pr": 11853
+ },
+ {
+ "prefix": "BugFix",
+ "message": "APC снова можно разварить.",
+ "pr": 11865
+ }
+ ]
+ },
+ {
+ "author": "intercepti0n",
+ "date": "2024-03-18T00:00:00+03:00",
+ "changes": [
+ {
+ "prefix": "RscDel",
+ "message": "Удален старый статус бар, занимавший нижнюю часть окна.",
+ "pr": 11862
+ },
+ {
+ "prefix": "RscAdd",
+ "message": "Добавлен новый статус бар, занимающий немного места в левом нижнем углу окна с картой.",
+ "pr": 11862
+ },
+ {
+ "prefix": "RscAdd",
+ "message": "Добавлена поддержка темной темы в статус бар.",
+ "pr": 11862
+ }
+ ]
+ },
+ {
+ "author": "intercepti0n",
+ "date": "2024-03-17T00:00:00+03:00",
+ "changes": [
+ {
+ "prefix": "BugFix",
+ "message": "Театральные костюмы больше невозможно вынести из голодека.",
+ "pr": 11827
+ },
+ {
+ "prefix": "BugFix",
+ "message": "Театрельные костюмы пропадают при смене программы.",
+ "pr": 11827
+ },
+ {
+ "prefix": "Tweak",
+ "message": "Сообщение о емаге консоли голодека заменено на сплеш.",
+ "pr": 11827
+ },
+ {
+ "prefix": "RscAdd",
+ "message": "Добавлена возможность разбирать консоль голодека, настройки безопасности и взлома сохраняются.",
+ "pr": 11827
+ }
+ ]
+ },
+ {
+ "author": "TobyThorne",
+ "date": "2024-03-17T00:00:00+03:00",
+ "changes": [
+ {
+ "prefix": "MapTweak",
+ "message": "Яна нашли и вернули на \"Исход\".",
+ "pr": 11834
+ },
+ {
+ "prefix": "BugFix",
+ "message": "Исправлено отображение инфракрасных лучей.",
+ "pr": 11835
+ },
+ {
+ "prefix": "BugFix",
+ "message": "Исправлены некоторые проблемы с кабелями на \"Исходе\".",
+ "pr": 11841
+ },
+ {
+ "prefix": "BugFix",
+ "message": "Исправлена анимация движения у серых мышей при движении влево. Теперь заживём.",
+ "pr": 11837
+ },
+ {
+ "prefix": "BugFix",
+ "message": "Исправлены стены у \"Гитары\" рядом со спутником.",
+ "pr": 11836
+ },
+ {
+ "prefix": "Tweak",
+ "message": "Обновлено описание завёрнутых в бумагу предметов, теперь оно правильно описывает их размер.",
+ "pr": 11838
+ },
+ {
+ "prefix": "BugFix",
+ "message": "Исправлено отображение галстуков на бодибилдах кроме Normal.",
+ "pr": 11840
+ }
+ ]
+ },
+ {
+ "author": "Filatelele",
+ "date": "2024-03-17T00:00:00+03:00",
+ "changes": [
+ {
+ "prefix": "Tweak",
+ "message": "Ксенолобби победило. Теперь таяры и унатхи могут надевать боксерские перчатки (воксов снова обидели).",
+ "pr": 11822
+ },
+ {
+ "prefix": "Tweak",
+ "message": "В фитнес-вендоматах можно купить нормальные боксерские перчатки, использующие актуальный код боевки. Боксерские перчатки на голодеке все так же позволяют проникнуться духом старой боевки.",
+ "pr": 11822
+ },
+ {
+ "prefix": "BugFix",
+ "message": "Засовывание включенной дубинки в раковину начало проигрывать корректный звук.",
+ "pr": 11823
+ },
+ {
+ "prefix": "BugFix",
+ "message": "Сваривание осколков стекла снова должно корректно работать.",
+ "pr": 11846
+ },
+ {
+ "prefix": "BugFix",
+ "message": "Исправлена ошибка, не дававшая игрокам вырезать по дереву.",
+ "pr": 11846
+ }
+ ]
+ },
+ {
+ "author": "intercepti0n & LeviafanWeber",
+ "date": "2024-03-15T00:00:00+03:00",
+ "changes": [
+ {
+ "prefix": "RscAdd",
+ "message": "Полностью переписан код голодека: нвая реализация позволяет создавать более интересные и наполненные декором карты без редактирования центком уровня на всех имеющихся картах.",
+ "pr": 11652
+ },
+ {
+ "prefix": "RscAdd",
+ "message": "Интерфейс голодека переведен на TGUI.",
+ "pr": 11652
+ },
+ {
+ "prefix": "MapTweak",
+ "message": "Обновлен список программ голодека и соответсвующие им карты.",
+ "pr": 11652
+ }
+ ]
+ },
+ {
+ "author": "Filatelele",
+ "date": "2024-03-15T00:00:00+03:00",
+ "changes": [
+ {
+ "prefix": "SoundAdd",
+ "message": "Новые звуки включения/выключения сварки.",
+ "pr": 11817
+ },
+ {
+ "prefix": "RscAdd",
+ "message": "Новый визуальный эффект при использовании сварки.",
+ "pr": 11817
+ }
+ ]
+ },
+ {
+ "author": "TobyThorne",
+ "date": "2024-03-15T00:00:00+03:00",
+ "changes": [
+ {
+ "prefix": "BugFix",
+ "message": "Исправлена ошибка, из-за которой все оставляли одинаковые отпечатки пальцев.",
+ "pr": 11818
+ }
+ ]
+ },
+ {
+ "author": "TobyThorne",
+ "date": "2024-03-13T00:00:00+03:00",
+ "changes": [
+ {
+ "prefix": "RscAdd",
+ "message": "Добавлен новый класс мага - Musclemancer.",
+ "pr": 11807
+ },
+ {
+ "prefix": "RscAdd",
+ "message": "На базу визарда добавлена несдвигаемая волшебная палочка.",
+ "pr": 11807
+ },
+ {
+ "prefix": "Tweak",
+ "message": "Голодный вампир больше не становится зелёным.",
+ "pr": 11807
+ },
+ {
+ "prefix": "RscAdd",
+ "message": "В аплинк повара добавлен Meat Hook. Тип урона: чистый, урон: 36.0, перезарядка: 4 секунды.",
+ "pr": 11795
+ }
+ ]
+ },
+ {
+ "author": "Filatelele",
+ "date": "2024-03-13T00:00:00+03:00",
+ "changes": [
+ {
+ "prefix": "BugFix",
+ "message": "Исправлено недоразумение в результате которого проигрывался убогий звук при реджуве/гибе.",
+ "pr": 11812
+ },
+ {
+ "prefix": "BugFix",
+ "message": "Исправлен некорректный слой баррикад на некоторых картах, что приводило к смешным результатам - например как в гетто-казино Фронтира.",
+ "pr": 11800
+ }
+ ]
+ },
+ {
+ "author": "Doster-d",
+ "date": "2024-03-13T00:00:00+03:00",
+ "changes": [
+ {
+ "prefix": "BugFix",
+ "message": "Внутренние органы не показываются в point to и прочих вещей с view",
+ "pr": 11808
+ }
+ ]
+ },
{
"author": "Filatelele",
"date": "2024-03-12T00:00:00+03:00",
diff --git a/html/statbrowser/statbrowser.css b/html/statbrowser/statbrowser.css
new file mode 100644
index 00000000000..24c8fd939b4
--- /dev/null
+++ b/html/statbrowser/statbrowser.css
@@ -0,0 +1,222 @@
+body {
+ font-family: Verdana, Geneva, Tahoma, sans-serif;
+ font-size: 12px !important;
+ margin: 0 !important;
+ padding: 0 !important;
+ overflow-x: hidden;
+ overflow-y: scroll;
+}
+
+body.dark {
+ background-color: #131313;
+ color: #b2c4dd;
+ scrollbar-base-color: #1c1c1c;
+ scrollbar-face-color: #3b3b3b;
+ scrollbar-3dlight-color: #252525;
+ scrollbar-highlight-color: #252525;
+ scrollbar-track-color: #1c1c1c;
+ scrollbar-arrow-color: #929292;
+ scrollbar-shadow-color: #3b3b3b;
+}
+
+#menu {
+ background-color: #f0f0f0;
+ position: fixed;
+ width: 100%;
+ z-index: 100;
+}
+
+.dark #menu {
+ background-color: #202020;
+}
+
+#statcontent {
+ padding: 7px 7px 7px 7px;
+}
+
+a {
+ color: black;
+ text-decoration: none;
+}
+
+.dark a {
+ color: #b2c4dd;
+}
+
+a:hover,
+.dark a:hover {
+ text-decoration: underline;
+}
+
+ul {
+ list-style-type: none;
+ margin: 0;
+ padding: 0;
+ background-color: #333;
+}
+
+li {
+ float: left;
+}
+
+li a {
+ display: block;
+ color: white;
+ text-align: center;
+ padding: 14px 16px;
+ text-decoration: none;
+}
+
+li a:hover:not(.active) {
+ background-color: #111;
+}
+
+.button-container {
+ display: inline-flex;
+ flex-wrap: wrap-reverse;
+ flex-direction: row;
+ align-items: flex-start;
+ overflow-x: hidden;
+ white-space: pre-wrap;
+ padding: 0 4px;
+}
+
+.button {
+ background-color: #dfdfdf;
+ border: 1px solid #cecece;
+ border-bottom-width: 2px;
+ color: rgba(0, 0, 0, 0.7);
+ padding: 6px 4px 4px;
+ text-align: center;
+ text-decoration: none;
+ font-size: 12px;
+ margin: 0;
+ cursor: pointer;
+ transition-duration: 100ms;
+ order: 3;
+ min-width: 40px;
+}
+
+.dark button {
+ background-color: #222222;
+ border-color: #343434;
+ color: rgba(255, 255, 255, 0.5);
+}
+
+.button:hover {
+ background-color: #ececec;
+ transition-duration: 0;
+}
+
+.dark button:hover {
+ background-color: #2e2e2e;
+}
+
+.button:active,
+.button.active {
+ background-color: #ffffff;
+ color: black;
+ border-top-color: #cecece;
+ border-left-color: #cecece;
+ border-right-color: #cecece;
+ border-bottom-color: #ffffff;
+}
+
+.dark .button:active,
+.dark .button.active {
+ background-color: #444444;
+ color: white;
+ border-top-color: #343434;
+ border-left-color: #343434;
+ border-right-color: #343434;
+ border-bottom-color: #ffffff;
+}
+
+.grid-container {
+ margin: -2px;
+ margin-right: -15px;
+}
+
+.grid-item {
+ position: relative;
+ display: inline-block;
+ width: 100%;
+ box-sizing: border-box;
+ overflow: visible;
+ padding: 3px 2px;
+ text-decoration: none;
+}
+
+@media only screen and (min-width: 300px) {
+ .grid-item {
+ width: 50%;
+ }
+}
+
+@media only screen and (min-width: 430px) {
+ .grid-item {
+ width: 33%;
+ }
+}
+
+@media only screen and (min-width: 560px) {
+ .grid-item {
+ width: 25%;
+ }
+}
+
+@media only screen and (min-width: 770px) {
+ .grid-item {
+ width: 20%;
+ }
+}
+
+.grid-item:hover {
+ z-index: 1;
+}
+
+.grid-item:hover .grid-item-text {
+ width: auto;
+ text-decoration: underline;
+}
+
+.grid-item-text {
+ display: inline-block;
+ width: 100%;
+ background-color: #ffffff;
+ margin: 0 -6px;
+ padding: 0 6px;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ pointer-events: none;
+}
+
+.dark .grid-item-text {
+ background-color: #131313;
+}
+
+.link {
+ display: inline;
+ background: none;
+ border: none;
+ padding: 7px 14px;
+ color: black;
+ text-decoration: none;
+ cursor: pointer;
+ font-size: 13px;
+ margin: 2px 2px;
+}
+
+.dark .link {
+ color: #abc6ec;
+}
+
+.link:hover {
+ text-decoration: underline;
+}
+
+img {
+ -ms-interpolation-mode: nearest-neighbor;
+ image-rendering: pixelated;
+}
diff --git a/html/statbrowser/statbrowser.html b/html/statbrowser/statbrowser.html
new file mode 100644
index 00000000000..1aea8811d58
--- /dev/null
+++ b/html/statbrowser/statbrowser.html
@@ -0,0 +1,3 @@
+
+
+
diff --git a/html/statbrowser/statbrowser.js b/html/statbrowser/statbrowser.js
new file mode 100644
index 00000000000..985524b0ae7
--- /dev/null
+++ b/html/statbrowser/statbrowser.js
@@ -0,0 +1,815 @@
+// Polyfills and compatibility ------------------------------------------------
+var decoder = decodeURIComponent || unescape;
+if (!Array.prototype.includes) {
+ Array.prototype.includes = function (thing) {
+ for (var i = 0; i < this.length; i++) {
+ if (this[i] == thing) return true;
+ }
+ return false;
+ };
+}
+if (!String.prototype.trim) {
+ String.prototype.trim = function () {
+ return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, "");
+ };
+}
+
+// Status panel implementation ------------------------------------------------
+var status_tab_parts = ["Loading..."];
+var current_tab = null;
+var mc_tab_parts = [["Loading...", ""]];
+var spells = [];
+var spell_tabs = [];
+var verb_tabs = [];
+var verbs = [["", ""]]; // list with a list inside
+var permanent_tabs = []; // tabs that won't be cleared by wipes
+var turfcontents = [];
+var turfname = "";
+var imageRetryDelay = 500;
+var imageRetryLimit = 50;
+var menu = document.getElementById("menu");
+var under_menu = document.getElementById("under_menu");
+var statcontentdiv = document.getElementById("statcontent");
+var storedimages = [];
+var split_admin_tabs = false;
+
+// Any BYOND commands that could result in the client's focus changing go through this
+// to ensure that when we relinquish our focus, we don't do it after the result of
+// a command has already taken focus for itself.
+function run_after_focus(callback) {
+ setTimeout(callback, 0);
+}
+
+function createStatusTab(name) {
+ if (name.indexOf(".") != -1) {
+ var splitName = name.split(".");
+ if (split_admin_tabs && splitName[0] === "Admin") name = splitName[1];
+ else name = splitName[0];
+ }
+ if (document.getElementById(name) || name.trim() == "") {
+ return;
+ }
+ if (!verb_tabs.includes(name) && !permanent_tabs.includes(name)) {
+ return;
+ }
+ var B = document.createElement("BUTTON");
+ B.onclick = function () {
+ tab_change(name);
+ this.blur();
+ };
+ B.id = name;
+ B.textContent = name;
+ B.className = "button";
+ //ORDERING ALPHABETICALLY
+ B.style.order = name.charCodeAt(0);
+ if (name == "Status" || name == "MC") {
+ B.style.order = name == "Status" ? 1 : 2;
+ }
+ //END ORDERING
+ menu.appendChild(B);
+ SendTabToByond(name);
+ under_menu.style.height = menu.clientHeight + "px";
+}
+
+function removeStatusTab(name) {
+ if (!document.getElementById(name) || permanent_tabs.includes(name)) {
+ return;
+ }
+ for (var i = verb_tabs.length - 1; i >= 0; --i) {
+ if (verb_tabs[i] == name) {
+ verb_tabs.splice(i, 1);
+ }
+ }
+ menu.removeChild(document.getElementById(name));
+ TakeTabFromByond(name);
+ under_menu.style.height = menu.clientHeight + "px";
+}
+
+function sortVerbs() {
+ verbs.sort(function (a, b) {
+ var selector = a[0] == b[0] ? 1 : 0;
+ if (a[selector].toUpperCase() < b[selector].toUpperCase()) {
+ return 1;
+ } else if (a[selector].toUpperCase() > b[selector].toUpperCase()) {
+ return -1;
+ }
+ return 0;
+ });
+}
+
+window.onresize = function () {
+ under_menu.style.height = menu.clientHeight + "px";
+};
+
+function addPermanentTab(name) {
+ if (!permanent_tabs.includes(name)) {
+ permanent_tabs.push(name);
+ }
+ createStatusTab(name);
+}
+
+function removePermanentTab(name) {
+ for (var i = permanent_tabs.length - 1; i >= 0; --i) {
+ if (permanent_tabs[i] == name) {
+ permanent_tabs.splice(i, 1);
+ }
+ }
+ removeStatusTab(name);
+}
+
+function checkStatusTab() {
+ for (var i = 0; i < menu.children.length; i++) {
+ if (
+ !verb_tabs.includes(menu.children[i].id) &&
+ !permanent_tabs.includes(menu.children[i].id)
+ ) {
+ menu.removeChild(menu.children[i]);
+ }
+ }
+}
+
+function remove_verb(v) {
+ var verb_to_remove = v; // to_remove = [verb:category, verb:name]
+ for (var i = verbs.length - 1; i >= 0; i--) {
+ var part_to_remove = verbs[i];
+ if (part_to_remove[1] == verb_to_remove[1]) {
+ verbs.splice(i, 1);
+ }
+ }
+}
+
+function check_verbs() {
+ for (var v = verb_tabs.length - 1; v >= 0; v--) {
+ verbs_cat_check(verb_tabs[v]);
+ }
+}
+
+function verbs_cat_check(cat) {
+ var tabCat = cat;
+ if (cat.indexOf(".") != -1) {
+ var splitName = cat.split(".");
+ if (split_admin_tabs && splitName[0] === "Admin") tabCat = splitName[1];
+ else tabCat = splitName[0];
+ }
+ var verbs_in_cat = 0;
+ var verbcat = "";
+ if (!verb_tabs.includes(tabCat)) {
+ removeStatusTab(tabCat);
+ return;
+ }
+ for (var v = 0; v < verbs.length; v++) {
+ var part = verbs[v];
+ verbcat = part[0];
+ if (verbcat.indexOf(".") != -1) {
+ var splitName = verbcat.split(".");
+ if (split_admin_tabs && splitName[0] === "Admin") verbcat = splitName[1];
+ else verbcat = splitName[0];
+ }
+ if (verbcat != tabCat || verbcat.trim() == "") {
+ continue;
+ } else {
+ verbs_in_cat = 1;
+ break; // we only need one
+ }
+ }
+ if (verbs_in_cat != 1) {
+ removeStatusTab(tabCat);
+ if (current_tab == tabCat) tab_change("Status");
+ }
+}
+
+function findVerbindex(name, verblist) {
+ for (var i = 0; i < verblist.length; i++) {
+ var part = verblist[i];
+ if (part[1] == name) return i;
+ }
+}
+function wipe_verbs() {
+ verbs = [["", ""]];
+ verb_tabs = [];
+ checkStatusTab(); // remove all empty verb tabs
+}
+
+function update_verbs() {
+ wipe_verbs();
+ Byond.sendMessage("Update-Verbs");
+}
+
+function SendTabsToByond() {
+ var tabstosend = [];
+ tabstosend = tabstosend.concat(permanent_tabs, verb_tabs);
+ for (var i = 0; i < tabstosend.length; i++) {
+ SendTabToByond(tabstosend[i]);
+ }
+}
+
+function SendTabToByond(tab) {
+ Byond.sendMessage("Send-Tabs", { tab: tab });
+}
+
+//Byond can't have this tab anymore since we're removing it
+function TakeTabFromByond(tab) {
+ Byond.sendMessage("Remove-Tabs", { tab: tab });
+}
+
+function spell_cat_check(cat) {
+ var spells_in_cat = 0;
+ var spellcat = "";
+ for (var s = 0; s < spells.length; s++) {
+ var spell = spells[s];
+ spellcat = spell[0];
+ if (spellcat == cat) {
+ spells_in_cat++;
+ }
+ }
+ if (spells_in_cat < 1) {
+ removeStatusTab(cat);
+ }
+}
+
+function tab_change(tab) {
+ if (tab == current_tab) return;
+ if (document.getElementById(current_tab))
+ document.getElementById(current_tab).className = "button"; // disable active on last button
+ current_tab = tab;
+ set_byond_tab(tab);
+ if (document.getElementById(tab))
+ document.getElementById(tab).className = "button active"; // make current button active
+ var spell_tabs_thingy = spell_tabs.includes(tab);
+ var verb_tabs_thingy = verb_tabs.includes(tab);
+ if (tab == "Status") {
+ draw_status();
+ } else if (tab == "MC") {
+ draw_mc();
+ } else if (spell_tabs_thingy) {
+ draw_spells(tab);
+ } else if (verb_tabs_thingy) {
+ draw_verbs(tab);
+ } else if (tab == "Debug Stat Panel") {
+ draw_debug();
+ } else if (tab == turfname) {
+ draw_listedturf();
+ } else {
+ statcontentdiv.textContext = "Loading...";
+ }
+ Byond.winset(Byond.windowId, {
+ "is-visible": true,
+ });
+}
+
+function set_byond_tab(tab) {
+ Byond.sendMessage("Set-Tab", { tab: tab });
+}
+
+function draw_debug() {
+ statcontentdiv.textContent = "";
+ var wipeverbstabs = document.createElement("div");
+ var link = document.createElement("a");
+ link.onclick = function () {
+ wipe_verbs();
+ };
+ link.textContent = "Wipe All Verbs";
+ wipeverbstabs.appendChild(link);
+ document.getElementById("statcontent").appendChild(wipeverbstabs);
+ var wipeUpdateVerbsTabs = document.createElement("div");
+ var updateLink = document.createElement("a");
+ updateLink.onclick = function () {
+ update_verbs();
+ };
+ updateLink.textContent = "Wipe and Update All Verbs";
+ wipeUpdateVerbsTabs.appendChild(updateLink);
+ document.getElementById("statcontent").appendChild(wipeUpdateVerbsTabs);
+ var text = document.createElement("div");
+ text.textContent = "Verb Tabs:";
+ document.getElementById("statcontent").appendChild(text);
+ var table1 = document.createElement("table");
+ for (var i = 0; i < verb_tabs.length; i++) {
+ var part = verb_tabs[i];
+ // Hide subgroups except admin subgroups if they are split
+ if (verb_tabs[i].lastIndexOf(".") != -1) {
+ var splitName = verb_tabs[i].split(".");
+ if (split_admin_tabs && splitName[0] === "Admin") part = splitName[1];
+ else continue;
+ }
+ var tr = document.createElement("tr");
+ var td1 = document.createElement("td");
+ td1.textContent = part;
+ var a = document.createElement("a");
+ a.onclick = (function (part) {
+ return function () {
+ removeStatusTab(part);
+ };
+ })(part);
+ a.textContent = " Delete Tab " + part;
+ td1.appendChild(a);
+ tr.appendChild(td1);
+ table1.appendChild(tr);
+ }
+ document.getElementById("statcontent").appendChild(table1);
+ var header2 = document.createElement("div");
+ header2.textContent = "Verbs:";
+ document.getElementById("statcontent").appendChild(header2);
+ var table2 = document.createElement("table");
+ for (var v = 0; v < verbs.length; v++) {
+ var part2 = verbs[v];
+ var trr = document.createElement("tr");
+ var tdd1 = document.createElement("td");
+ tdd1.textContent = part2[0];
+ var tdd2 = document.createElement("td");
+ tdd2.textContent = part2[1];
+ trr.appendChild(tdd1);
+ trr.appendChild(tdd2);
+ table2.appendChild(trr);
+ }
+ document.getElementById("statcontent").appendChild(table2);
+ var text3 = document.createElement("div");
+ text3.textContent = "Permanent Tabs:";
+ document.getElementById("statcontent").appendChild(text3);
+ var table3 = document.createElement("table");
+ for (var i = 0; i < permanent_tabs.length; i++) {
+ var part3 = permanent_tabs[i];
+ var trrr = document.createElement("tr");
+ var tddd1 = document.createElement("td");
+ tddd1.textContent = part3;
+ trrr.appendChild(tddd1);
+ table3.appendChild(trrr);
+ }
+ document.getElementById("statcontent").appendChild(table3);
+}
+function draw_status() {
+ if (!document.getElementById("Status")) {
+ createStatusTab("Status");
+ current_tab = "Status";
+ }
+ statcontentdiv.textContent = "";
+ for (var i = 0; i < status_tab_parts.length; i++) {
+ if (status_tab_parts[i].trim() == "") {
+ document
+ .getElementById("statcontent")
+ .appendChild(document.createElement("br"));
+ } else {
+ var div = document.createElement("div");
+ div.textContent = status_tab_parts[i];
+ document.getElementById("statcontent").appendChild(div);
+ }
+ }
+ if (verb_tabs.length == 0 || !verbs) {
+ Byond.command("Fix-Stat-Panel");
+ }
+}
+
+function draw_mc() {
+ statcontentdiv.textContent = "";
+ var table = document.createElement("table");
+ for (var i = 0; i < mc_tab_parts.length; i++) {
+ var part = mc_tab_parts[i];
+ var tr = document.createElement("tr");
+ var td1 = document.createElement("td");
+ td1.textContent = part[0];
+ var td2 = document.createElement("td");
+ if (part[2]) {
+ var a = document.createElement("a");
+ a.href = "?_src_=vars;Vars=" + part[2];
+ a.textContent = part[1];
+ td2.appendChild(a);
+ } else {
+ td2.textContent = part[1];
+ }
+ tr.appendChild(td1);
+ tr.appendChild(td2);
+ table.appendChild(tr);
+ }
+ document.getElementById("statcontent").appendChild(table);
+}
+
+function iconError(e) {
+ if (current_tab != turfname) {
+ return;
+ }
+ setTimeout(function () {
+ var node = e.target;
+ var current_attempts = Number(node.getAttribute("data-attempts")) || 0;
+ if (current_attempts > imageRetryLimit) {
+ return;
+ }
+ var src = node.src;
+ node.src = null;
+ node.src = src + "#" + current_attempts;
+ node.setAttribute("data-attempts", current_attempts + 1);
+ draw_listedturf();
+ }, imageRetryDelay);
+}
+
+function draw_listedturf() {
+ statcontentdiv.textContent = "";
+ var table = document.createElement("table");
+ for (var i = 0; i < turfcontents.length; i++) {
+ var part = turfcontents[i];
+ if (storedimages[part[1]] == null && part[2]) {
+ var img = document.createElement("img");
+ img.src = part[2];
+ img.id = part[1];
+ storedimages[part[1]] = part[2];
+ img.onerror = iconError;
+ table.appendChild(img);
+ } else {
+ var img = document.createElement("img");
+ img.onerror = iconError;
+ img.src = storedimages[part[1]];
+ img.id = part[1];
+ table.appendChild(img);
+ }
+ var b = document.createElement("div");
+ var clickcatcher = "";
+ b.className = "link";
+ b.onmousedown = (function (part) {
+ // The outer function is used to close over a fresh "part" variable,
+ // rather than every onmousedown getting the "part" of the last entry.
+ return function (e) {
+ e.preventDefault();
+ clickcatcher = "?src=" + part[1];
+ switch (e.button) {
+ case 1:
+ clickcatcher += ";statpanel_item_click=middle";
+ break;
+ case 2:
+ clickcatcher += ";statpanel_item_click=right";
+ break;
+ default:
+ clickcatcher += ";statpanel_item_click=left";
+ }
+ if (e.shiftKey) {
+ clickcatcher += ";statpanel_item_shiftclick=1";
+ }
+ if (e.ctrlKey) {
+ clickcatcher += ";statpanel_item_ctrlclick=1";
+ }
+ if (e.altKey) {
+ clickcatcher += ";statpanel_item_altclick=1";
+ }
+ window.location.href = clickcatcher;
+ };
+ })(part);
+ b.textContent = part[0];
+ table.appendChild(b);
+ table.appendChild(document.createElement("br"));
+ }
+ document.getElementById("statcontent").appendChild(table);
+}
+
+function remove_listedturf() {
+ removePermanentTab(turfname);
+ checkStatusTab();
+ if (current_tab == turfname) {
+ tab_change("Status");
+ }
+}
+
+function remove_mc() {
+ removePermanentTab("MC");
+ if (current_tab == "MC") {
+ tab_change("Status");
+ }
+}
+
+function draw_spells(cat) {
+ statcontentdiv.textContent = "";
+ var table = document.createElement("table");
+ for (var i = 0; i < spells.length; i++) {
+ var part = spells[i];
+ if (part[0] != cat) continue;
+ var tr = document.createElement("tr");
+ var td1 = document.createElement("td");
+ td1.textContent = part[1];
+ var td2 = document.createElement("td");
+ if (part[3]) {
+ var a = document.createElement("a");
+ a.href = "?src=" + part[3] + ";statpanel_item_click=left";
+ a.textContent = part[2];
+ td2.appendChild(a);
+ } else {
+ td2.textContent = part[2];
+ }
+ tr.appendChild(td1);
+ tr.appendChild(td2);
+ table.appendChild(tr);
+ }
+ document.getElementById("statcontent").appendChild(table);
+}
+
+function make_verb_onclick(command) {
+ return function () {
+ run_after_focus(function () {
+ Byond.command(command);
+ });
+ };
+}
+
+function draw_verbs(cat) {
+ statcontentdiv.textContent = "";
+ var table = document.createElement("div");
+ var additions = {}; // additional sub-categories to be rendered
+ table.className = "grid-container";
+ sortVerbs();
+ if (split_admin_tabs && cat.lastIndexOf(".") != -1) {
+ var splitName = cat.split(".");
+ if (splitName[0] === "Admin") cat = splitName[1];
+ }
+ verbs.reverse(); // sort verbs backwards before we draw
+ for (var i = 0; i < verbs.length; ++i) {
+ var part = verbs[i];
+ var name = part[0];
+ if (split_admin_tabs && name.lastIndexOf(".") != -1) {
+ var splitName = name.split(".");
+ if (splitName[0] === "Admin") name = splitName[1];
+ }
+ var command = part[1];
+
+ if (
+ command &&
+ name.lastIndexOf(cat, 0) != -1 &&
+ (name.length == cat.length || name.charAt(cat.length) == ".")
+ ) {
+ var subCat = name.lastIndexOf(".") != -1 ? name.split(".")[1] : null;
+ if (subCat && !additions[subCat]) {
+ var newTable = document.createElement("div");
+ newTable.className = "grid-container";
+ additions[subCat] = newTable;
+ }
+
+ var a = document.createElement("a");
+ a.href = "#";
+ a.onclick = make_verb_onclick(command.replace(/\s/g, "-"));
+ a.className = "grid-item";
+ var t = document.createElement("span");
+ t.textContent = command;
+ t.className = "grid-item-text";
+ a.appendChild(t);
+ (subCat ? additions[subCat] : table).appendChild(a);
+ }
+ }
+
+ // Append base table to view
+ var content = document.getElementById("statcontent");
+ content.appendChild(table);
+
+ // Append additional sub-categories if relevant
+ for (var cat in additions) {
+ if (additions.hasOwnProperty(cat)) {
+ // do addition here
+ var header = document.createElement("h3");
+ header.textContent = cat;
+ content.appendChild(header);
+ content.appendChild(additions[cat]);
+ }
+ }
+}
+
+function set_theme(which) {
+ if (which == "light") {
+ document.body.className = "";
+ set_style_sheet("browserOutput_white");
+ } else if (which == "dark") {
+ document.body.className = "dark";
+ set_style_sheet("browserOutput");
+ }
+}
+
+function set_style_sheet(sheet) {
+ if (document.getElementById("goonStyle")) {
+ var currentSheet = document.getElementById("goonStyle");
+ currentSheet.parentElement.removeChild(currentSheet);
+ }
+ var head = document.getElementsByTagName("head")[0];
+ var sheetElement = document.createElement("link");
+ sheetElement.id = "goonStyle";
+ sheetElement.rel = "stylesheet";
+ sheetElement.type = "text/css";
+ sheetElement.href = sheet + ".css";
+ sheetElement.media = "all";
+ head.appendChild(sheetElement);
+}
+
+function restoreFocus() {
+ run_after_focus(function () {
+ Byond.winset("map", {
+ focus: true,
+ });
+ });
+}
+
+function add_verb_list(payload) {
+ var to_add = payload; // list of a list with category and verb inside it
+ to_add.sort(); // sort what we're adding
+ for (var i = 0; i < to_add.length; i++) {
+ var part = to_add[i];
+ if (!part[0]) continue;
+ var category = part[0];
+ if (category.indexOf(".") != -1) {
+ var splitName = category.split(".");
+ if (split_admin_tabs && splitName[0] === "Admin") category = splitName[1];
+ else category = splitName[0];
+ }
+ if (findVerbindex(part[1], verbs)) continue;
+ if (verb_tabs.includes(category)) {
+ verbs.push(part);
+ if (current_tab == category) {
+ draw_verbs(category); // redraw if we added a verb to the tab we're currently in
+ }
+ } else if (category) {
+ verb_tabs.push(category);
+ verbs.push(part);
+ createStatusTab(category);
+ }
+ }
+}
+
+function init_spells() {
+ var cat = "";
+ for (var i = 0; i < spell_tabs.length; i++) {
+ cat = spell_tabs[i];
+ if (cat.length > 0) {
+ verb_tabs.push(cat);
+ createStatusTab(cat);
+ }
+ }
+}
+
+document.addEventListener("mouseup", restoreFocus);
+document.addEventListener("keyup", restoreFocus);
+
+if (!current_tab) {
+ addPermanentTab("Status");
+ tab_change("Status");
+}
+
+window.onload = function () {
+ Byond.sendMessage("Update-Verbs");
+};
+
+Byond.subscribeTo("update_spells", function (payload) {
+ spell_tabs = payload.spell_tabs;
+ var do_update = false;
+ if (spell_tabs.includes(current_tab)) {
+ do_update = true;
+ }
+ init_spells();
+ if (payload.actions) {
+ spells = payload.actions;
+ if (do_update) {
+ draw_spells(current_tab);
+ }
+ } else {
+ remove_spells();
+ }
+});
+
+Byond.subscribeTo("remove_verb_list", function (v) {
+ var to_remove = v;
+ for (var i = 0; i < to_remove.length; i++) {
+ remove_verb(to_remove[i]);
+ }
+ check_verbs();
+ sortVerbs();
+ if (verb_tabs.includes(current_tab)) draw_verbs(current_tab);
+});
+
+// passes a 2D list of (verbcategory, verbname) creates tabs and adds verbs to respective list
+// example (IC, Say)
+Byond.subscribeTo("init_verbs", function (payload) {
+ wipe_verbs(); // remove all verb categories so we can replace them
+ checkStatusTab(); // remove all status tabs
+ verb_tabs = payload.panel_tabs;
+ verb_tabs.sort(); // sort it
+ var do_update = false;
+ var cat = "";
+ for (var i = 0; i < verb_tabs.length; i++) {
+ cat = verb_tabs[i];
+ createStatusTab(cat); // create a category if the verb doesn't exist yet
+ }
+ if (verb_tabs.includes(current_tab)) {
+ do_update = true;
+ }
+ if (payload.verblist) {
+ add_verb_list(payload.verblist);
+ sortVerbs(); // sort them
+ if (do_update) {
+ draw_verbs(current_tab);
+ }
+ }
+ SendTabsToByond();
+});
+
+Byond.subscribeTo("update_stat", function (payload) {
+ status_tab_parts = [];
+ var parsed = payload.global_data;
+
+ for (var i = 0; i < parsed.length; i++)
+ if (parsed[i] != null) status_tab_parts.push(parsed[i]);
+
+ parsed = payload.other_str;
+
+ for (var i = 0; i < parsed.length; i++)
+ if (parsed[i] != null) status_tab_parts.push(parsed[i]);
+
+ if (current_tab == "Status") {
+ draw_status();
+ } else if (current_tab == "Debug Stat Panel") {
+ draw_debug();
+ }
+});
+
+Byond.subscribeTo("update_mc", function (payload) {
+ mc_tab_parts = payload.mc_data;
+ mc_tab_parts.splice(0, 0, ["Location:", payload.coord_entry]);
+
+ if (!verb_tabs.includes("MC")) {
+ verb_tabs.push("MC");
+ }
+
+ createStatusTab("MC");
+
+ if (current_tab == "MC") {
+ draw_mc();
+ }
+});
+
+Byond.subscribeTo("remove_spells", function () {
+ for (var s = 0; s < spell_tabs.length; s++) {
+ removeStatusTab(spell_tabs[s]);
+ }
+});
+
+Byond.subscribeTo("init_spells", function () {
+ var cat = "";
+ for (var i = 0; i < spell_tabs.length; i++) {
+ cat = spell_tabs[i];
+ if (cat.length > 0) {
+ verb_tabs.push(cat);
+ createStatusTab(cat);
+ }
+ }
+});
+
+Byond.subscribeTo("check_spells", function () {
+ for (var v = 0; v < spell_tabs.length; v++) {
+ spell_cat_check(spell_tabs[v]);
+ }
+});
+
+Byond.subscribeTo("create_debug", function () {
+ if (!document.getElementById("Debug Stat Panel")) {
+ addPermanentTab("Debug Stat Panel");
+ } else {
+ removePermanentTab("Debug Stat Panel");
+ }
+});
+
+Byond.subscribeTo("create_listedturf", function (TN) {
+ remove_listedturf(); // remove the last one if we had one
+ turfname = TN;
+ addPermanentTab(turfname);
+ tab_change(turfname);
+});
+
+Byond.subscribeTo("remove_admin_tabs", function () {
+ remove_mc();
+});
+
+Byond.subscribeTo("update_listedturf", function (TC) {
+ turfcontents = TC;
+ if (current_tab == turfname) {
+ draw_listedturf();
+ }
+});
+
+Byond.subscribeTo("update_interviews", function (I) {
+ interviewManager = I;
+ if (current_tab == "Tickets") {
+ draw_interviews();
+ }
+});
+
+Byond.subscribeTo("update_split_admin_tabs", function (status) {
+ status = status == true;
+
+ if (split_admin_tabs !== status) {
+ if (split_admin_tabs === true) {
+ removeStatusTab("Events");
+ removeStatusTab("Fun");
+ removeStatusTab("Game");
+ }
+ update_verbs();
+ }
+ split_admin_tabs = status;
+});
+
+Byond.subscribeTo("add_admin_tabs", function () {
+ addPermanentTab("MC");
+});
+
+Byond.subscribeTo("remove_listedturf", remove_listedturf);
+
+Byond.subscribeTo("remove_mc", remove_mc);
+
+Byond.subscribeTo("add_verb_list", add_verb_list);
diff --git a/icons/effects/effects.dmi b/icons/effects/effects.dmi
index e673155c726..8b8376533ea 100644
Binary files a/icons/effects/effects.dmi and b/icons/effects/effects.dmi differ
diff --git a/icons/effects/particles/smoke.dmi b/icons/effects/particles/smoke.dmi
new file mode 100644
index 00000000000..6dd1ac064af
Binary files /dev/null and b/icons/effects/particles/smoke.dmi differ
diff --git a/icons/effects/projectiles/impact.dmi b/icons/effects/projectiles/impact.dmi
index 9aa14e8690c..599d4f915f5 100644
Binary files a/icons/effects/projectiles/impact.dmi and b/icons/effects/projectiles/impact.dmi differ
diff --git a/icons/effects/projectiles/muzzle.dmi b/icons/effects/projectiles/muzzle.dmi
index 19eb509f046..f87d1bef3fa 100644
Binary files a/icons/effects/projectiles/muzzle.dmi and b/icons/effects/projectiles/muzzle.dmi differ
diff --git a/icons/effects/projectiles/tracer.dmi b/icons/effects/projectiles/tracer.dmi
index a683f625dcb..49bae40603d 100644
Binary files a/icons/effects/projectiles/tracer.dmi and b/icons/effects/projectiles/tracer.dmi differ
diff --git a/icons/effects/temp_effects.dmi b/icons/effects/temp_effects.dmi
new file mode 100644
index 00000000000..e0697554236
Binary files /dev/null and b/icons/effects/temp_effects.dmi differ
diff --git a/icons/effects/water_vapor.dmi b/icons/effects/water_vapor.dmi
new file mode 100644
index 00000000000..eaeaad25d08
Binary files /dev/null and b/icons/effects/water_vapor.dmi differ
diff --git a/icons/hud/radial.dmi b/icons/hud/radial.dmi
index 8bf13989830..ceb8b7ca02b 100644
Binary files a/icons/hud/radial.dmi and b/icons/hud/radial.dmi differ
diff --git a/icons/hud/screen_spells.dmi b/icons/hud/screen_spells.dmi
index f0a4e72d434..e2486bc26bc 100644
Binary files a/icons/hud/screen_spells.dmi and b/icons/hud/screen_spells.dmi differ
diff --git a/icons/inv_slots/acessories/mob.dmi b/icons/inv_slots/acessories/mob.dmi
index 7551daf8278..e56181a65c4 100644
Binary files a/icons/inv_slots/acessories/mob.dmi and b/icons/inv_slots/acessories/mob.dmi differ
diff --git a/icons/inv_slots/acessories/mob_fat.dmi b/icons/inv_slots/acessories/mob_fat.dmi
index e62ec3175bc..6aa0c34266b 100644
Binary files a/icons/inv_slots/acessories/mob_fat.dmi and b/icons/inv_slots/acessories/mob_fat.dmi differ
diff --git a/icons/inv_slots/acessories/mob_slim.dmi b/icons/inv_slots/acessories/mob_slim.dmi
index 3286705594d..28eff9a71be 100644
Binary files a/icons/inv_slots/acessories/mob_slim.dmi and b/icons/inv_slots/acessories/mob_slim.dmi differ
diff --git a/icons/inv_slots/acessories/mob_slim_m.dmi b/icons/inv_slots/acessories/mob_slim_m.dmi
index 134885734fa..358b99aeece 100644
Binary files a/icons/inv_slots/acessories/mob_slim_m.dmi and b/icons/inv_slots/acessories/mob_slim_m.dmi differ
diff --git a/icons/inv_slots/gloves/mob.dmi b/icons/inv_slots/gloves/mob.dmi
index f3a36c88d18..17c181f5ce8 100644
Binary files a/icons/inv_slots/gloves/mob.dmi and b/icons/inv_slots/gloves/mob.dmi differ
diff --git a/icons/inv_slots/gloves/mob_slim.dmi b/icons/inv_slots/gloves/mob_slim.dmi
index ff99f34252b..4036ae077f8 100644
Binary files a/icons/inv_slots/gloves/mob_slim.dmi and b/icons/inv_slots/gloves/mob_slim.dmi differ
diff --git a/icons/inv_slots/hats/mob.dmi b/icons/inv_slots/hats/mob.dmi
index 3a80d96fd8c..13252a1b748 100644
Binary files a/icons/inv_slots/hats/mob.dmi and b/icons/inv_slots/hats/mob.dmi differ
diff --git a/icons/inv_slots/masks/mob.dmi b/icons/inv_slots/masks/mob.dmi
index fa0f2f39a99..22c270ca242 100644
Binary files a/icons/inv_slots/masks/mob.dmi and b/icons/inv_slots/masks/mob.dmi differ
diff --git a/icons/inv_slots/masks/mob_slim.dmi b/icons/inv_slots/masks/mob_slim.dmi
index 773d614be02..84947bb9c53 100644
Binary files a/icons/inv_slots/masks/mob_slim.dmi and b/icons/inv_slots/masks/mob_slim.dmi differ
diff --git a/icons/inv_slots/masks/mob_tajaran.dmi b/icons/inv_slots/masks/mob_tajaran.dmi
index 998fe476585..0e612ec9b02 100644
Binary files a/icons/inv_slots/masks/mob_tajaran.dmi and b/icons/inv_slots/masks/mob_tajaran.dmi differ
diff --git a/icons/inv_slots/masks/mob_unathi.dmi b/icons/inv_slots/masks/mob_unathi.dmi
index 30f796ba1b1..b8b175de22e 100644
Binary files a/icons/inv_slots/masks/mob_unathi.dmi and b/icons/inv_slots/masks/mob_unathi.dmi differ
diff --git a/icons/inv_slots/masks/mob_vox.dmi b/icons/inv_slots/masks/mob_vox.dmi
index 7230a4465df..dd9acb9dbea 100644
Binary files a/icons/inv_slots/masks/mob_vox.dmi and b/icons/inv_slots/masks/mob_vox.dmi differ
diff --git a/icons/inv_slots/shoes/mob.dmi b/icons/inv_slots/shoes/mob.dmi
index 72eb6147186..b78b02c6d60 100644
Binary files a/icons/inv_slots/shoes/mob.dmi and b/icons/inv_slots/shoes/mob.dmi differ
diff --git a/icons/inv_slots/shoes/mob_slim.dmi b/icons/inv_slots/shoes/mob_slim.dmi
index f2e5e809853..f2da21a4404 100644
Binary files a/icons/inv_slots/shoes/mob_slim.dmi and b/icons/inv_slots/shoes/mob_slim.dmi differ
diff --git a/icons/inv_slots/shoes/mob_slimalt.dmi b/icons/inv_slots/shoes/mob_slimalt.dmi
index 643ed67bdc1..3c554c72450 100644
Binary files a/icons/inv_slots/shoes/mob_slimalt.dmi and b/icons/inv_slots/shoes/mob_slimalt.dmi differ
diff --git a/icons/inv_slots/suits/mob.dmi b/icons/inv_slots/suits/mob.dmi
index 6923f8f69a1..ec6863e9215 100644
Binary files a/icons/inv_slots/suits/mob.dmi and b/icons/inv_slots/suits/mob.dmi differ
diff --git a/icons/inv_slots/suits/mob_fat.dmi b/icons/inv_slots/suits/mob_fat.dmi
index 553811abf19..ec492fece10 100644
Binary files a/icons/inv_slots/suits/mob_fat.dmi and b/icons/inv_slots/suits/mob_fat.dmi differ
diff --git a/icons/inv_slots/suits/mob_slim.dmi b/icons/inv_slots/suits/mob_slim.dmi
index 6abf72d9d88..dbed06bbadb 100644
Binary files a/icons/inv_slots/suits/mob_slim.dmi and b/icons/inv_slots/suits/mob_slim.dmi differ
diff --git a/icons/inv_slots/suits/mob_slim_m.dmi b/icons/inv_slots/suits/mob_slim_m.dmi
index 5b67e332261..85461c12c7c 100644
Binary files a/icons/inv_slots/suits/mob_slim_m.dmi and b/icons/inv_slots/suits/mob_slim_m.dmi differ
diff --git a/icons/inv_slots/suits/mob_slimalt.dmi b/icons/inv_slots/suits/mob_slimalt.dmi
index 1258a3c94ae..1d2cfb82d33 100644
Binary files a/icons/inv_slots/suits/mob_slimalt.dmi and b/icons/inv_slots/suits/mob_slimalt.dmi differ
diff --git a/icons/inv_slots/uniforms/hand_l_default.dmi b/icons/inv_slots/uniforms/hand_l_default.dmi
index c360ffcfb7d..b44c45f9fc8 100644
Binary files a/icons/inv_slots/uniforms/hand_l_default.dmi and b/icons/inv_slots/uniforms/hand_l_default.dmi differ
diff --git a/icons/inv_slots/uniforms/hand_l_slim.dmi b/icons/inv_slots/uniforms/hand_l_slim.dmi
index 6517ef78a1d..a60eb8942d7 100644
Binary files a/icons/inv_slots/uniforms/hand_l_slim.dmi and b/icons/inv_slots/uniforms/hand_l_slim.dmi differ
diff --git a/icons/inv_slots/uniforms/hand_r_default.dmi b/icons/inv_slots/uniforms/hand_r_default.dmi
index 557d9aebb8d..ee3d5540466 100644
Binary files a/icons/inv_slots/uniforms/hand_r_default.dmi and b/icons/inv_slots/uniforms/hand_r_default.dmi differ
diff --git a/icons/inv_slots/uniforms/hand_r_slim.dmi b/icons/inv_slots/uniforms/hand_r_slim.dmi
index 2d0b346dbdb..fd9b4209dd2 100644
Binary files a/icons/inv_slots/uniforms/hand_r_slim.dmi and b/icons/inv_slots/uniforms/hand_r_slim.dmi differ
diff --git a/icons/inv_slots/uniforms/icon.dmi b/icons/inv_slots/uniforms/icon.dmi
index a76ebe52d88..a013a37a5bd 100644
Binary files a/icons/inv_slots/uniforms/icon.dmi and b/icons/inv_slots/uniforms/icon.dmi differ
diff --git a/icons/inv_slots/uniforms/mob.dmi b/icons/inv_slots/uniforms/mob.dmi
index db47ad24834..d170a1e830c 100644
Binary files a/icons/inv_slots/uniforms/mob.dmi and b/icons/inv_slots/uniforms/mob.dmi differ
diff --git a/icons/inv_slots/uniforms/mob_fat.dmi b/icons/inv_slots/uniforms/mob_fat.dmi
index 316ad2f293e..3ca7566d891 100644
Binary files a/icons/inv_slots/uniforms/mob_fat.dmi and b/icons/inv_slots/uniforms/mob_fat.dmi differ
diff --git a/icons/inv_slots/uniforms/mob_slim.dmi b/icons/inv_slots/uniforms/mob_slim.dmi
index c95796071b6..c1fc6d17d70 100644
Binary files a/icons/inv_slots/uniforms/mob_slim.dmi and b/icons/inv_slots/uniforms/mob_slim.dmi differ
diff --git a/icons/inv_slots/uniforms/mob_slim_m.dmi b/icons/inv_slots/uniforms/mob_slim_m.dmi
index f24feebc8b0..36117e94034 100644
Binary files a/icons/inv_slots/uniforms/mob_slim_m.dmi and b/icons/inv_slots/uniforms/mob_slim_m.dmi differ
diff --git a/icons/inv_slots/uniforms/mob_slimalt.dmi b/icons/inv_slots/uniforms/mob_slimalt.dmi
index 38e6c74ce61..4b584867b78 100644
Binary files a/icons/inv_slots/uniforms/mob_slimalt.dmi and b/icons/inv_slots/uniforms/mob_slimalt.dmi differ
diff --git a/icons/misc/landmarks.dmi b/icons/misc/landmarks.dmi
index 8061b7f0935..871ab61cc00 100644
Binary files a/icons/misc/landmarks.dmi and b/icons/misc/landmarks.dmi differ
diff --git a/icons/mob/hologram.dmi b/icons/mob/hologram.dmi
index a2a47d6ef2c..ad3a357c4d2 100644
Binary files a/icons/mob/hologram.dmi and b/icons/mob/hologram.dmi differ
diff --git a/icons/mob/mouse.dmi b/icons/mob/mouse.dmi
index 3893217bde9..78956ecb661 100644
Binary files a/icons/mob/mouse.dmi and b/icons/mob/mouse.dmi differ
diff --git a/icons/mob/onmob/items/lefthand.dmi b/icons/mob/onmob/items/lefthand.dmi
index 8652aa87736..ec52cead8c5 100644
Binary files a/icons/mob/onmob/items/lefthand.dmi and b/icons/mob/onmob/items/lefthand.dmi differ
diff --git a/icons/mob/onmob/items/lefthand_backpacks.dmi b/icons/mob/onmob/items/lefthand_backpacks.dmi
index 54aa6dba5d4..c261d624452 100644
Binary files a/icons/mob/onmob/items/lefthand_backpacks.dmi and b/icons/mob/onmob/items/lefthand_backpacks.dmi differ
diff --git a/icons/mob/onmob/items/lefthand_guns.dmi b/icons/mob/onmob/items/lefthand_guns.dmi
index 931a50272e3..6e58dd2664a 100644
Binary files a/icons/mob/onmob/items/lefthand_guns.dmi and b/icons/mob/onmob/items/lefthand_guns.dmi differ
diff --git a/icons/mob/onmob/items/lefthand_hats.dmi b/icons/mob/onmob/items/lefthand_hats.dmi
index fe127b144e5..21891ea72d8 100644
Binary files a/icons/mob/onmob/items/lefthand_hats.dmi and b/icons/mob/onmob/items/lefthand_hats.dmi differ
diff --git a/icons/mob/onmob/items/lefthand_holder.dmi b/icons/mob/onmob/items/lefthand_holder.dmi
index 8f365906be2..6a7a5a16ed2 100644
Binary files a/icons/mob/onmob/items/lefthand_holder.dmi and b/icons/mob/onmob/items/lefthand_holder.dmi differ
diff --git a/icons/mob/onmob/items/lefthand_slim.dmi b/icons/mob/onmob/items/lefthand_slim.dmi
index 84f0f84f196..c81b0b50039 100644
Binary files a/icons/mob/onmob/items/lefthand_slim.dmi and b/icons/mob/onmob/items/lefthand_slim.dmi differ
diff --git a/icons/mob/onmob/items/lefthand_spacesuits.dmi b/icons/mob/onmob/items/lefthand_spacesuits.dmi
index 82cb4922b81..6e708b5f1aa 100644
Binary files a/icons/mob/onmob/items/lefthand_spacesuits.dmi and b/icons/mob/onmob/items/lefthand_spacesuits.dmi differ
diff --git a/icons/mob/onmob/items/lefthand_uniforms.dmi b/icons/mob/onmob/items/lefthand_uniforms.dmi
index a05b74e8473..5d17dbaab7c 100644
Binary files a/icons/mob/onmob/items/lefthand_uniforms.dmi and b/icons/mob/onmob/items/lefthand_uniforms.dmi differ
diff --git a/icons/mob/onmob/items/lefthand_vessels.dmi b/icons/mob/onmob/items/lefthand_vessels.dmi
index 6b826e8f512..c35f9f05b33 100644
Binary files a/icons/mob/onmob/items/lefthand_vessels.dmi and b/icons/mob/onmob/items/lefthand_vessels.dmi differ
diff --git a/icons/mob/onmob/items/righthand.dmi b/icons/mob/onmob/items/righthand.dmi
index 5b5c602aa5d..9cd6ac98ff3 100644
Binary files a/icons/mob/onmob/items/righthand.dmi and b/icons/mob/onmob/items/righthand.dmi differ
diff --git a/icons/mob/onmob/items/righthand_backpacks.dmi b/icons/mob/onmob/items/righthand_backpacks.dmi
index b217920fa34..1a1ed2179a9 100644
Binary files a/icons/mob/onmob/items/righthand_backpacks.dmi and b/icons/mob/onmob/items/righthand_backpacks.dmi differ
diff --git a/icons/mob/onmob/items/righthand_guns.dmi b/icons/mob/onmob/items/righthand_guns.dmi
index a8bc7836c66..8d754498b3a 100644
Binary files a/icons/mob/onmob/items/righthand_guns.dmi and b/icons/mob/onmob/items/righthand_guns.dmi differ
diff --git a/icons/mob/onmob/items/righthand_hats.dmi b/icons/mob/onmob/items/righthand_hats.dmi
index ba81178b8e8..1575cec5722 100644
Binary files a/icons/mob/onmob/items/righthand_hats.dmi and b/icons/mob/onmob/items/righthand_hats.dmi differ
diff --git a/icons/mob/onmob/items/righthand_slim.dmi b/icons/mob/onmob/items/righthand_slim.dmi
index a299077d820..ab7243e75b8 100644
Binary files a/icons/mob/onmob/items/righthand_slim.dmi and b/icons/mob/onmob/items/righthand_slim.dmi differ
diff --git a/icons/mob/onmob/items/righthand_spacesuits.dmi b/icons/mob/onmob/items/righthand_spacesuits.dmi
index 0db6354c6a0..77d6f70b62c 100644
Binary files a/icons/mob/onmob/items/righthand_spacesuits.dmi and b/icons/mob/onmob/items/righthand_spacesuits.dmi differ
diff --git a/icons/mob/onmob/items/righthand_uniforms.dmi b/icons/mob/onmob/items/righthand_uniforms.dmi
index 50f5ec8bc49..95ca41b8fa3 100644
Binary files a/icons/mob/onmob/items/righthand_uniforms.dmi and b/icons/mob/onmob/items/righthand_uniforms.dmi differ
diff --git a/icons/mob/onmob/items/righthand_vessels.dmi b/icons/mob/onmob/items/righthand_vessels.dmi
index 3a9e3f21c5d..b700e97e2de 100644
Binary files a/icons/mob/onmob/items/righthand_vessels.dmi and b/icons/mob/onmob/items/righthand_vessels.dmi differ
diff --git a/icons/obj/bottleflip.dmi b/icons/obj/bottleflip.dmi
index 4bda5464287..eb13c7cc1d3 100644
Binary files a/icons/obj/bottleflip.dmi and b/icons/obj/bottleflip.dmi differ
diff --git a/icons/obj/clothing/masks.dmi b/icons/obj/clothing/masks.dmi
index fb7cbccd61c..ea4f3ebfc20 100644
Binary files a/icons/obj/clothing/masks.dmi and b/icons/obj/clothing/masks.dmi differ
diff --git a/icons/obj/clothing/suits.dmi b/icons/obj/clothing/suits.dmi
index cea30c2b4fc..a03fb604bb8 100644
Binary files a/icons/obj/clothing/suits.dmi and b/icons/obj/clothing/suits.dmi differ
diff --git a/icons/obj/clothing/ties.dmi b/icons/obj/clothing/ties.dmi
index eca659f6844..a80dde4ef7d 100644
Binary files a/icons/obj/clothing/ties.dmi and b/icons/obj/clothing/ties.dmi differ
diff --git a/icons/obj/clothing/uniforms.dmi b/icons/obj/clothing/uniforms.dmi
index ea3ce66ba1e..d49035189af 100644
Binary files a/icons/obj/clothing/uniforms.dmi and b/icons/obj/clothing/uniforms.dmi differ
diff --git a/icons/obj/food.dmi b/icons/obj/food.dmi
index 54a59b0fb68..0498057aa3b 100644
Binary files a/icons/obj/food.dmi and b/icons/obj/food.dmi differ
diff --git a/icons/obj/hydroponics_growing.dmi b/icons/obj/hydroponics_growing.dmi
index 139f48b1385..339aec854fc 100644
Binary files a/icons/obj/hydroponics_growing.dmi and b/icons/obj/hydroponics_growing.dmi differ
diff --git a/icons/obj/hydroponics_growing_canonical.dmi b/icons/obj/hydroponics_growing_canonical.dmi
index 736223dbdf4..092c4ccbecb 100644
Binary files a/icons/obj/hydroponics_growing_canonical.dmi and b/icons/obj/hydroponics_growing_canonical.dmi differ
diff --git a/icons/obj/hydroponics_products.dmi b/icons/obj/hydroponics_products.dmi
index ad33e79c72e..5678344ac51 100644
Binary files a/icons/obj/hydroponics_products.dmi and b/icons/obj/hydroponics_products.dmi differ
diff --git a/icons/obj/items.dmi b/icons/obj/items.dmi
index 6d2000c9de2..d2bc2b52bf3 100644
Binary files a/icons/obj/items.dmi and b/icons/obj/items.dmi differ
diff --git a/icons/obj/kitchen.dmi b/icons/obj/kitchen.dmi
index dbeb49f7c73..9f784c38d2c 100644
Binary files a/icons/obj/kitchen.dmi and b/icons/obj/kitchen.dmi differ
diff --git a/icons/obj/library.dmi b/icons/obj/library.dmi
index fc1289394b4..171bc5f650f 100644
Binary files a/icons/obj/library.dmi and b/icons/obj/library.dmi differ
diff --git a/icons/obj/machines/coffeemaker.dmi b/icons/obj/machines/coffeemaker.dmi
new file mode 100644
index 00000000000..9a66910fd32
Binary files /dev/null and b/icons/obj/machines/coffeemaker.dmi differ
diff --git a/icons/obj/machines/sauna.dmi b/icons/obj/machines/sauna.dmi
new file mode 100644
index 00000000000..fe0c138b1de
Binary files /dev/null and b/icons/obj/machines/sauna.dmi differ
diff --git a/icons/obj/musician.dmi b/icons/obj/musician.dmi
index e5a391e51a0..ad175b51186 100644
Binary files a/icons/obj/musician.dmi and b/icons/obj/musician.dmi differ
diff --git a/icons/obj/projectiles.dmi b/icons/obj/projectiles.dmi
index 7f06b5313c6..437d9a7d963 100644
Binary files a/icons/obj/projectiles.dmi and b/icons/obj/projectiles.dmi differ
diff --git a/icons/obj/reagent_containers/bottles.dmi b/icons/obj/reagent_containers/bottles.dmi
index 5a2951c6e86..96c267f80a7 100644
Binary files a/icons/obj/reagent_containers/bottles.dmi and b/icons/obj/reagent_containers/bottles.dmi differ
diff --git a/icons/obj/reagent_containers/condiments.dmi b/icons/obj/reagent_containers/condiments.dmi
index bd522fd9e98..8ba71c19bbe 100644
Binary files a/icons/obj/reagent_containers/condiments.dmi and b/icons/obj/reagent_containers/condiments.dmi differ
diff --git a/icons/obj/reagent_containers/vessels.dmi b/icons/obj/reagent_containers/vessels.dmi
index 167ef3edaff..c535ed232ba 100644
Binary files a/icons/obj/reagent_containers/vessels.dmi and b/icons/obj/reagent_containers/vessels.dmi differ
diff --git a/icons/obj/seeds.dmi b/icons/obj/seeds.dmi
index 9a24a7685cb..6c81ee2ca33 100644
Binary files a/icons/obj/seeds.dmi and b/icons/obj/seeds.dmi differ
diff --git a/icons/obj/stairs.dmi b/icons/obj/stairs.dmi
index 883b4b65bf1..b215803130a 100644
Binary files a/icons/obj/stairs.dmi and b/icons/obj/stairs.dmi differ
diff --git a/icons/obj/stairs_long.dmi b/icons/obj/stairs_long.dmi
deleted file mode 100644
index 92ceb27ce63..00000000000
Binary files a/icons/obj/stairs_long.dmi and /dev/null differ
diff --git a/icons/obj/stationobjs.dmi b/icons/obj/stationobjs.dmi
index 3d75c4e5192..d9d37ba41db 100644
Binary files a/icons/obj/stationobjs.dmi and b/icons/obj/stationobjs.dmi differ
diff --git a/icons/obj/structures.dmi b/icons/obj/structures.dmi
index e980fdcd775..744afbc9a74 100644
Binary files a/icons/obj/structures.dmi and b/icons/obj/structures.dmi differ
diff --git a/icons/obj/thalamus.dmi b/icons/obj/thalamus.dmi
new file mode 100644
index 00000000000..904160d3a0b
Binary files /dev/null and b/icons/obj/thalamus.dmi differ
diff --git a/icons/obj/wizard.dmi b/icons/obj/wizard.dmi
index 9735e06afb3..d51503dab3d 100644
Binary files a/icons/obj/wizard.dmi and b/icons/obj/wizard.dmi differ
diff --git a/icons/turf/flooring/tiles.dmi b/icons/turf/flooring/tiles.dmi
index 79fef27f3b7..f1c593afd6a 100644
Binary files a/icons/turf/flooring/tiles.dmi and b/icons/turf/flooring/tiles.dmi differ
diff --git a/icons/turf/wall_masks.dmi b/icons/turf/wall_masks.dmi
index 3a9d5c4e416..d5bca87f5a2 100644
Binary files a/icons/turf/wall_masks.dmi and b/icons/turf/wall_masks.dmi differ
diff --git a/icons/turf/wall_masks_legacy.dmi b/icons/turf/wall_masks_legacy.dmi
index d4c7d0a74d2..abb2394b553 100644
Binary files a/icons/turf/wall_masks_legacy.dmi and b/icons/turf/wall_masks_legacy.dmi differ
diff --git a/interface/interface.dm b/interface/interface.dm
index b911448d075..de7fbeb04c0 100644
--- a/interface/interface.dm
+++ b/interface/interface.dm
@@ -50,7 +50,7 @@
return
/client/verb/bugreport()
- set name = "In-game Bug Report"
+ set name = "Report Bug"
set desc = "Create bug report to developers."
set hidden = 1
diff --git a/interface/skin.dmf b/interface/skin.dmf
index eac6de8abba..1177b818a6f 100644
--- a/interface/skin.dmf
+++ b/interface/skin.dmf
@@ -902,58 +902,18 @@ menu "menu"
category = "&File"
saved-params = "is-checked"
elem
- name = "&Icons"
+ name = "&Preferences"
command = ""
saved-params = "is-checked"
- elem "stretch"
- name = "&Stretch to fit"
- command = ".winset \"mapwindow.map.icon-size=0\""
- category = "&Icons"
- is-checked = true
- can-check = true
- group = "size"
- saved-params = "is-checked"
- elem "icon128"
- name = "&128x128"
- command = ".winset \"mapwindow.map.icon-size=128\""
- category = "&Icons"
- can-check = true
- group = "size"
- saved-params = "is-checked"
- elem "icon96"
- name = "&96x96"
- command = ".winset \"mapwindow.map.icon-size=96\""
- category = "&Icons"
- can-check = true
- group = "size"
- saved-params = "is-checked"
- elem "icon64"
- name = "&64x64"
- command = ".winset \"mapwindow.map.icon-size=64\""
- category = "&Icons"
- can-check = true
- group = "size"
- saved-params = "is-checked"
- elem "icon48"
- name = "&48x48"
- command = ".winset \"mapwindow.map.icon-size=48\""
- category = "&Icons"
- can-check = true
- group = "size"
- saved-params = "is-checked"
- elem "icon32"
- name = "&32x32"
- command = ".winset \"mapwindow.map.icon-size=32\""
- category = "&Icons"
- can-check = true
- group = "size"
+ elem
+ name = "&Game Settings"
+ command = "settings"
+ category = "&Preferences"
saved-params = "is-checked"
- elem "zoommode"
- name = "&Smooth scaling"
- command = ".winset \"zoommode.is-checked=true?map.zoom-mode=normal:map.zoom-mode=distort\""
- category = "&Icons"
- is-checked = true
- can-check = true
+ elem
+ name = "&Character Setup"
+ command = "character-setup"
+ category = "&Preferences"
saved-params = "is-checked"
elem
name = "&Help"
@@ -975,12 +935,13 @@ window "mainwindow"
elem "mainwindow"
type = MAIN
pos = 281,0
- size = 640x440
+ size = 640x420
anchor1 = -1,-1
anchor2 = -1,-1
is-default = true
saved-params = "pos;size;is-minimized;is-maximized"
icon = 'icons\\onyxlogo132x32.png'
+ statusbar = false
macro = "macro"
menu = "menu"
elem "asset_cache_browser"
@@ -993,47 +954,52 @@ window "mainwindow"
saved-params = ""
elem "mainvsplit"
type = CHILD
- pos = 3,0
+ pos = 0,0
size = 640x420
anchor1 = 0,0
anchor2 = 100,100
saved-params = "splitter"
right = "infowindow"
is-vert = true
- elem "input"
+ elem "input_alt"
type = INPUT
- pos = 3,420
- size = 517x20
+ pos = 2,396
+ size = 514x20
anchor1 = 0,100
anchor2 = 100,100
background-color = #d3b5b5
- is-default = true
- border = sunken
+ is-visible = false
+ border = line
saved-params = "command"
- on-focus = ".add_speech_bubble"
- on-blur = ".remove_speech_bubble"
- elem "saybutton"
+ elem "saybutton_alt"
type = BUTTON
- pos = 520,420
+ pos = 518,396
size = 40x20
anchor1 = 100,100
anchor2 = -1,-1
+ background-color = none
+ is-visible = false
+ border = line
saved-params = "is-checked"
text = "Chat"
- command = ".winset \"saybutton.is-checked=true?input.command=\"!Say \\\"\" macrobutton.is-checked=false:input.command=\""
+ command = ".winset \"saybutton_alt.is-checked=true?input_alt.command=\"!Say \\\"\" macrobutton.is-checked=false:input_alt.command=\""
+ is-flat = true
button-type = pushbox
- elem "hotkey_toggle"
+ elem "hotkey_toggle_alt"
type = BUTTON
- pos = 560,420
- size = 80x20
+ pos = 560,396
+ size = 78x20
anchor1 = 100,100
anchor2 = -1,-1
+ background-color = none
+ is-visible = false
+ border = line
saved-params = ""
text = "Hotkey Toggle"
- command = ".winset \"mainwindow.macro!=macro ? mainwindow.macro=macro hotkey_toggle.is-checked=false input.focus=true : mainwindow.macro=hotkeymode hotkey_toggle.is-checked=true mapwindow.map.focus=true\""
+ command = ".winset \"mainwindow.macro!=macro ? mainwindow.macro=macro hotkey_toggle_alt.is-checked=false input_alt.focus=true : mainwindow.macro=hotkeymode hotkey_toggle_alt.is-checked=true mapwindow.map.focus=true\""
+ is-flat = true
button-type = pushbox
-
window "mapwindow"
elem "mapwindow"
type = MAIN
@@ -1043,11 +1009,11 @@ window "mapwindow"
anchor2 = -1,-1
saved-params = "pos;size;is-minimized;is-maximized"
titlebar = false
- statusbar = false
can-close = false
can-minimize = false
can-resize = false
is-pane = true
+ on-status = ".winset \"statusbar.text=[[*]]\" "
elem "map"
type = MAP
pos = 0,0
@@ -1061,15 +1027,26 @@ window "mapwindow"
on-show = ".winset\"mainwindow.mainvsplit.left=mapwindow\""
on-hide = ".winset\"mainwindow.mainvsplit.left=\""
style=".center { text-align: center; } .maptext { font-family: 'Small Fonts'; font-size: 7px; -dm-text-outline: 1px black; color: white; line-height: 1.1; } .maptext i {font-style: normal; font-size: 6px;} .small { font-size: 6px; } .big { font-size: 8px; } .reallybig { font-size: 8px; } .extremelybig { font-size: 8px; } .clown { color: #FF69Bf;} .tajaran {color: #803B56;} .skrell {color: #00CED1;} .solcom {color: #22228B;} .com_srus {color: #7c4848;} .zombie {color: #ff0000;} .soghun {color: #228B22;} .vox {color: #AA00AA;} .diona {color: #804000; font-weight: bold;} .trinary {color: #727272;} .metroid {color: #0077AA;} .hypnophrase { color: #0d0d0d; font-weight: bold; } .yell { font-weight: bold; }"
+ elem "statusbar"
+ type = LABEL
+ pos = 0,464
+ size = 280x16
+ anchor1 = 0,100
+ anchor2 = -1,-1
+ border = line
+ saved-params = ""
+ text = ""
+ align = left
window "outputwindow"
elem "outputwindow"
type = MAIN
- pos = 281,0
+ pos = 291,13
size = 640x480
- anchor1 = none
- anchor2 = none
+ anchor1 = -1,-1
+ anchor2 = -1,-1
+ background-color = none
saved-params = "pos;size;is-minimized;is-maximized"
titlebar = false
statusbar = false
@@ -1080,7 +1057,7 @@ window "outputwindow"
elem "browseroutput"
type = BROWSER
pos = 0,0
- size = 640x480
+ size = 640x451
anchor1 = 0,0
anchor2 = 100,100
background-color = #ffffff
@@ -1089,47 +1066,46 @@ window "outputwindow"
elem "output"
type = OUTPUT
pos = 0,0
- size = 640x480
+ size = 640x451
anchor1 = 0,0
anchor2 = 100,100
is-default = true
saved-params = ""
- elem "saybutton_alt"
- type = BUTTON
- pos = 519,460
- size = 40x20
- anchor1 = 100,100
- anchor2 = -1,-1
- is-visible = false
- is-disabled = true
- saved-params = "is-checked"
- text = "Chat"
- command = ".winset \"saybutton_alt.is-checked=true?input_alt.command=\"!say \\\"\" macrobutton.is-checked=false:input_alt.command=\""
- button-type = pushbox
- elem "input_alt"
+ elem "input"
type = INPUT
- pos = 1,460
- size = 517x20
+ pos = 2,455
+ size = 514x20
anchor1 = 0,100
anchor2 = 100,100
background-color = #d3b5b5
- is-visible = false
- is-disabled = true
- border = sunken
+ is-default = true
+ border = line
saved-params = "command"
on-focus = ".add_speech_bubble"
on-blur = ".remove_speech_bubble"
- elem "hotkey_toggle_alt"
+ elem "saybutton"
type = BUTTON
- pos = 560,460
- size = 80x20
+ pos = 518,455
+ size = 40x20
anchor1 = 100,100
anchor2 = -1,-1
- is-visible = false
- is-disabled = true
+ border = line
+ saved-params = "is-checked"
+ text = "Chat"
+ command = ".winset \"saybutton.is-checked=true?input.command=\"!say \\\"\" macrobutton.is-checked=false:input.command=\""
+ is-flat = true
+ button-type = pushbox
+ elem "hotkey_toggle"
+ type = BUTTON
+ pos = 560,455
+ size = 78x20
+ anchor1 = 100,100
+ anchor2 = -1,-1
+ border = line
saved-params = ""
text = "Hotkey Toggle"
- command = ".winset \"mainwindow.macro!=macro ? mainwindow.macro=macro hotkey_toggle_alt.is-checked=false input_alt.focus=true : mainwindow.macro=hotkeymode hotkey_toggle_alt.is-checked=true mapwindow.map.focus=true\""
+ command = ".winset \"mainwindow.macro!=macro ? mainwindow.macro=macro hotkey_toggle.is-checked=false input.focus=true : mainwindow.macro=hotkeymode hotkey_toggle.is-checked=true mapwindow.map.focus=true\""
+ is-flat = true
button-type = pushbox
@@ -1236,8 +1212,8 @@ window "infowindow"
anchor1 = 56,0
anchor2 = 67,0
saved-params = "is-checked"
- text = "In-Game Bug Report"
- command = "bug-report"
+ text = "Report Bug"
+ command = "report-bug"
group = "rpanemode"
elem "changelog"
type = BUTTON
@@ -1302,13 +1278,13 @@ window "statwindow"
anchor2 = none
saved-params = "pos;size;is-minimized;is-maximized"
is-pane = true
- elem "stat"
- type = INFO
+ elem "statbrowser"
+ type = BROWSER
pos = 0,0
size = 640x480
anchor1 = 0,0
anchor2 = 100,100
- is-default = true
+ is-visible = false
saved-params = ""
window "preferences_window"
diff --git a/maps/derelicts/bearcat/bearcat-1.dmm b/maps/derelicts/bearcat/bearcat-1.dmm
index 8815305356e..1f5a23293aa 100644
--- a/maps/derelicts/bearcat/bearcat-1.dmm
+++ b/maps/derelicts/bearcat/bearcat-1.dmm
@@ -46,7 +46,7 @@
"aT" = (/turf/simulated/wall,/area/ship/scrap/crew/dorms1)
"aU" = (/turf/simulated/wall/r_wall,/area/ship/scrap/crew/dorms1)
"aV" = (/obj/item/device/flashlight/lamp,/turf/simulated/floor/usedup,/area/ship/scrap/gambling)
-"aW" = (/obj/structure/holostool,/obj/machinery/light/small{dir = 1},/obj/item/hand/missing_card,/obj/machinery/atmospherics/unary/vent_scrubber,/turf/simulated/floor/usedup,/area/ship/scrap/gambling)
+"aW" = (/obj/item/stool/padded,/obj/machinery/light/small{dir = 1},/obj/item/hand/missing_card,/obj/machinery/atmospherics/unary/vent_scrubber,/turf/simulated/floor/usedup,/area/ship/scrap/gambling)
"aX" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 1},/obj/machinery/light_switch{pixel_x = 24},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_y = 24; req_access = list(201)},/turf/simulated/floor/usedup,/area/ship/scrap/gambling)
"aY" = (/obj/machinery/light/small{dir = 8},/obj/effect/decal/cleanable/cobweb2,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/usedup,/area/ship/scrap/maintenance/lower)
"aZ" = (/obj/effect/floor_decal/corner/beige{dir = 9},/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/light/small{dir = 8},/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 1},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/turf/simulated/floor/tiled/usedup,/area/ship/scrap/cargo/lower)
@@ -56,12 +56,12 @@
"bd" = (/obj/effect/floor_decal/corner/beige{dir = 6},/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/light/small{dir = 4},/obj/random/closet,/turf/simulated/floor/tiled/usedup,/area/ship/scrap/cargo/lower)
"be" = (/obj/machinery/light/small{dir = 4},/obj/structure/ladder/up,/obj/effect/decal/cleanable/cobweb,/obj/structure/sign/deck/second{pixel_x = -32},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/usedup,/area/ship/scrap/maintenance/lower)
"bf" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 1},/obj/machinery/light_switch{pixel_x = -24},/obj/effect/floor_decal/corner/beige{dir = 5},/obj/structure/closet,/obj/random/clothing/gloves,/obj/random/clothing,/obj/random/clothing,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_y = 24; req_access = list(201)},/turf/simulated/floor/tiled/dark/usedup,/area/ship/scrap/crew/dorms1)
-"bg" = (/obj/effect/floor_decal/corner/beige{dir = 5},/obj/structure/holostool,/obj/machinery/light/small{dir = 1},/obj/structure/sign/poster{pixel_y = 32},/obj/machinery/atmospherics/unary/vent_scrubber,/turf/simulated/floor/tiled/dark/usedup,/area/ship/scrap/crew/dorms1)
+"bg" = (/obj/effect/floor_decal/corner/beige{dir = 5},/obj/item/stool/padded,/obj/machinery/light/small{dir = 1},/obj/structure/sign/poster{pixel_y = 32},/obj/machinery/atmospherics/unary/vent_scrubber,/turf/simulated/floor/tiled/dark/usedup,/area/ship/scrap/crew/dorms1)
"bh" = (/obj/effect/floor_decal/corner/beige{dir = 5},/obj/structure/curtain/open/bed,/obj/structure/bed/padded,/obj/item/bedsheet/green,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/tiled/dark/usedup,/area/ship/scrap/crew/dorms1)
"bi" = (/obj/structure/window_frame/grille/rglass,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "scraplock"; name = "External Blast Doors"; opacity = 0},/obj/machinery/door/firedoor,/turf/simulated/floor/usedup,/area/ship/scrap/broken2)
-"bj" = (/obj/structure/holostool,/obj/item/hand/missing_card,/turf/simulated/floor/usedup,/area/ship/scrap/gambling)
+"bj" = (/obj/item/stool/padded,/obj/item/hand/missing_card,/turf/simulated/floor/usedup,/area/ship/scrap/gambling)
"bk" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/table/gamblingtable,/obj/item/deck/cards,/obj/item/dice,/turf/simulated/floor/usedup,/area/ship/scrap/gambling)
-"bl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/holostool,/obj/item/hand/missing_card,/turf/simulated/floor/usedup,/area/ship/scrap/gambling)
+"bl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/item/stool/padded,/obj/item/hand/missing_card,/turf/simulated/floor/usedup,/area/ship/scrap/gambling)
"bm" = (/obj/machinery/door/airlock/autoname,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/usedup,/area/ship/scrap/gambling)
"bn" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/cable{icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/usedup,/area/ship/scrap/maintenance/lower)
"bo" = (/obj/machinery/door/airlock/autoname,/turf/simulated/floor/usedup,/area/ship/scrap/cargo/lower)
@@ -78,7 +78,7 @@
"bz" = (/obj/structure/table/standard,/turf/simulated/floor/tiled/dark/usedup,/area/ship/scrap/crew/dorms1)
"bA" = (/obj/structure/window_frame/grille/rglass,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "scraplock"; name = "External Blast Doors"; opacity = 0},/obj/machinery/door/firedoor,/turf/simulated/floor/usedup,/area/ship/scrap/crew/dorms2)
"bB" = (/turf/simulated/floor/usedup,/area/ship/scrap/gambling)
-"bC" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1; layer = 2.4; level = 2},/obj/structure/holostool,/obj/item/hand/missing_card,/turf/simulated/floor/usedup,/area/ship/scrap/gambling)
+"bC" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1; layer = 2.4; level = 2},/obj/item/stool/padded,/obj/item/hand/missing_card,/turf/simulated/floor/usedup,/area/ship/scrap/gambling)
"bD" = (/obj/machinery/alarm{dir = 8; pixel_x = 24},/obj/item/hand/missing_card,/obj/item/hand/missing_card,/turf/simulated/floor/usedup,/area/ship/scrap/gambling)
"bE" = (/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"},/turf/simulated/floor/usedup,/area/ship/scrap/maintenance/lower)
"bF" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/alarm{dir = 4; pixel_x = -24},/obj/structure/closet/crate,/obj/random/soap,/obj/random/soap,/obj/item/bodybag,/obj/item/stack/tile/carpet/fifty,/obj/effect/floor_decal/corner/beige{dir = 9},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled/usedup,/area/ship/scrap/cargo/lower)
@@ -88,7 +88,7 @@
"bJ" = (/obj/effect/floor_decal/corner/beige{dir = 6},/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/usedup,/area/ship/scrap/cargo/lower)
"bK" = (/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"},/turf/simulated/floor/usedup,/area/ship/scrap/maintenance/lower)
"bL" = (/obj/machinery/alarm{dir = 4; pixel_x = -24},/obj/structure/closet,/obj/random/clothing,/obj/random/clothing,/obj/random/clothing,/turf/simulated/floor/tiled/dark/usedup,/area/ship/scrap/crew/dorms1)
-"bM" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1; layer = 2.4; level = 2},/obj/structure/holostool,/turf/simulated/floor/tiled/dark/usedup,/area/ship/scrap/crew/dorms1)
+"bM" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1; layer = 2.4; level = 2},/obj/item/stool/padded,/turf/simulated/floor/tiled/dark/usedup,/area/ship/scrap/crew/dorms1)
"bN" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 1},/obj/machinery/light_switch{pixel_x = 24},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_y = 24},/turf/simulated/floor/usedup,/area/ship/scrap/broken2)
"bO" = (/obj/effect/floor_decal/corner/beige{dir = 9},/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/light/small{dir = 8},/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/mining/brace,/turf/simulated/floor/tiled/usedup,/area/ship/scrap/cargo/lower)
"bP" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/effect/floor_decal/industrial/warning,/obj/structure/closet/crate,/obj/item/fossil/skull,/obj/item/fossil/bone,/obj/item/fossil/bone,/obj/item/fossil/shell,/obj/item/xenos_claw,/obj/item/ore/strangerock,/turf/simulated/floor/tiled/usedup,/area/ship/scrap/cargo/lower)
@@ -112,7 +112,7 @@
"ch" = (/turf/simulated/wall,/area/ship/scrap/crew/dorms2)
"ci" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 1},/obj/machinery/light_switch{pixel_x = 24},/obj/machinery/organ_printer/robot/mapped,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_y = 24},/turf/simulated/floor/usedup,/area/ship/scrap/broken1)
"cj" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 1},/obj/machinery/light_switch{pixel_x = -24},/obj/effect/floor_decal/corner/beige{dir = 5},/obj/structure/closet,/obj/random/clothing,/obj/random/clothing,/obj/effect/decal/cleanable/cobweb,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_y = 24},/turf/simulated/floor/tiled/dark/usedup,/area/ship/scrap/crew/dorms2)
-"ck" = (/obj/structure/holostool,/obj/machinery/light/small{dir = 1},/obj/effect/floor_decal/corner/beige{dir = 5},/obj/machinery/atmospherics/unary/vent_scrubber,/turf/simulated/floor/tiled/dark/usedup,/area/ship/scrap/crew/dorms2)
+"ck" = (/obj/item/stool/padded,/obj/machinery/light/small{dir = 1},/obj/effect/floor_decal/corner/beige{dir = 5},/obj/machinery/atmospherics/unary/vent_scrubber,/turf/simulated/floor/tiled/dark/usedup,/area/ship/scrap/crew/dorms2)
"cl" = (/turf/simulated/wall/r_wall,/area/ship/scrap/crew/dorms2)
"cm" = (/obj/structure/window_frame/grille/rglass,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "scraplock"; name = "External Blast Doors"; opacity = 0},/obj/machinery/door/firedoor,/turf/simulated/floor/usedup,/area/ship/scrap/crew/dorms3)
"cn" = (/obj/structure/foamedmetal,/turf/simulated/floor/usedup,/area/ship/scrap/broken2)
@@ -172,7 +172,7 @@
"dq" = (/obj/machinery/light/small,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/usedup,/area/ship/scrap/cargo/lower)
"dr" = (/obj/effect/floor_decal/corner/beige{dir = 6},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/usedup,/area/ship/scrap/cargo/lower)
"ds" = (/obj/machinery/door/airlock/autoname,/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/usedup,/area/ship/scrap/crew/dorms3)
-"dt" = (/obj/effect/floor_decal/corner/beige{dir = 5},/obj/structure/holostool,/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber,/turf/simulated/floor/tiled/dark/usedup,/area/ship/scrap/crew/dorms3)
+"dt" = (/obj/effect/floor_decal/corner/beige{dir = 5},/obj/item/stool/padded,/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber,/turf/simulated/floor/tiled/dark/usedup,/area/ship/scrap/crew/dorms3)
"du" = (/obj/effect/floor_decal/corner/beige{dir = 5},/obj/structure/curtain/open/bed,/obj/structure/bed/padded,/obj/item/bedsheet/green,/obj/effect/decal/cleanable/cobweb2,/obj/structure/sign/poster{pixel_y = 32},/turf/simulated/floor/tiled/dark/usedup,/area/ship/scrap/crew/dorms3)
"dv" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled/dark/usedup,/area/ship/scrap/crew/dorms3)
"dx" = (/obj/structure/mopbucket,/obj/structure/table/rack{dir = 8; layer = 2.9},/obj/item/storage/toolbox/mechanical,/obj/item/device/multitool{pixel_x = 3},/obj/item/clothing/glasses/welding,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil,/turf/simulated/floor/tiled/usedup,/area/ship/scrap/broken1)
@@ -206,7 +206,7 @@
"dZ" = (/turf/simulated/wall,/area/ship/scrap/maintenance/eva)
"ea" = (/turf/simulated/wall/r_wall,/area/ship/scrap/maintenance/techstorage)
"eb" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled/usedup,/area/ship/scrap/maintenance/techstorage)
-"ec" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1; layer = 2.4; level = 2},/obj/structure/holostool,/turf/simulated/floor/tiled/dark/usedup,/area/ship/scrap/crew/dorms3)
+"ec" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1; layer = 2.4; level = 2},/obj/item/stool/padded,/turf/simulated/floor/tiled/dark/usedup,/area/ship/scrap/crew/dorms3)
"ed" = (/obj/item/circuitboard/autolathe,/obj/item/circuitboard/unary_atmos/heater,/obj/structure/table/rack,/obj/effect/floor_decal/corner/yellow{dir = 5},/turf/simulated/floor/tiled/usedup,/area/ship/scrap/maintenance/techstorage)
"ee" = (/obj/item/storage/toolbox/electrical,/obj/item/storage/toolbox/electrical{pixel_x = 7; pixel_y = 4},/obj/item/device/t_scanner,/obj/item/cell/high,/obj/machinery/alarm{pixel_y = 32},/obj/item/tape_roll,/obj/machinery/light_switch{pixel_x = -24},/obj/effect/floor_decal/corner/yellow{dir = 9},/obj/item/airalarm_electronics,/obj/item/airlock_electronics,/obj/item/airlock_electronics,/obj/structure/table/rack,/turf/simulated/floor/tiled/usedup,/area/ship/scrap/maintenance/storage)
"ef" = (/obj/structure/closet/crate/plastic,/obj/item/storage/ore,/obj/item/pickaxe,/obj/item/stack/flag/yellow,/obj/item/storage/box/glowsticks,/obj/item/mining_scanner,/turf/simulated/floor/tiled/usedup,/area/ship/scrap/maintenance/storage)
diff --git a/maps/derelicts/bearcat/bearcat-2.dmm b/maps/derelicts/bearcat/bearcat-2.dmm
index 67ed6ed1993..58f58bc327b 100644
--- a/maps/derelicts/bearcat/bearcat-2.dmm
+++ b/maps/derelicts/bearcat/bearcat-2.dmm
@@ -375,7 +375,7 @@
"hn" = (/obj/machinery/light/small{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/alarm{pixel_y = 32},/obj/effect/floor_decal/industrial/outline/yellow,/obj/effect/floor_decal/corner/yellow{dir = 5},/obj/structure/disposalpipe/trunk{dir = 1},/obj/machinery/disposal,/turf/simulated/floor/tiled/usedup,/area/ship/scrap/maintenance/engineering)
"ho" = (/obj/structure/closet/secure_closet/engineering_electrical,/obj/item/cell/device/standard,/obj/item/cell/device/standard,/obj/structure/cable{d2 = 4; icon_state = "0-4"},/obj/item/device/radio/intercom{pixel_y = 32},/obj/item/cell/crap,/obj/item/cell/crap,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/turf/simulated/floor/tiled/usedup,/area/ship/scrap/maintenance/power)
"hp" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/corner/yellow{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/fuel,/turf/simulated/floor/tiled/usedup,/area/ship/scrap/maintenance/engineering)
-"hq" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/light_switch{pixel_y = 25},/obj/effect/floor_decal/corner/yellow{dir = 5},/obj/structure/table/standard,/obj/item/reagent_containers/chem_disp_cartridge/coffee{name = "coffee canister"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8},/turf/simulated/floor/tiled/usedup,/area/ship/scrap/maintenance/engineering)
+"hq" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/light_switch{pixel_y = 25},/obj/effect/floor_decal/corner/yellow{dir = 5},/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8},/turf/simulated/floor/tiled/usedup,/area/ship/scrap/maintenance/engineering)
"hr" = (/obj/structure/bed/chair/comfy/brown,/obj/effect/floor_decal/corner/yellow{dir = 5},/obj/structure/closet/hydrant{pixel_y = 32},/obj/item/storage/firstaid/regular,/turf/simulated/floor/tiled/usedup,/area/ship/scrap/maintenance/engineering)
"hs" = (/obj/structure/reagent_dispensers/fueltank,/obj/effect/floor_decal/corner/yellow{dir = 10},/obj/effect/decal/cleanable/liquid_fuel,/obj/structure/sign/warning/nosmoking_1{pixel_y = -32},/obj/structure/sign/warning/high_voltage{pixel_x = 32},/turf/simulated/floor/tiled/usedup,/area/ship/scrap/maintenance/engineering)
"ht" = (/obj/machinery/atmospherics/pipe/simple/hidden/fuel,/obj/structure/cable,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/turf/simulated/floor/tiled/dark/airless,/area/ship/scrap/maintenance/engine/aft)
diff --git a/maps/derelicts/derelict/derelict.dmm b/maps/derelicts/derelict/derelict.dmm
index e3f1982c510..961dde150b9 100644
--- a/maps/derelicts/derelict/derelict.dmm
+++ b/maps/derelicts/derelict/derelict.dmm
@@ -44,7 +44,7 @@
"aR" = (/obj/machinery/door/blast/regular/retro{dir = 2; id = "derelict_gun"},/turf/simulated/floor/plating/airless,/area/derelict/medical/chapel)
"aS" = (/turf/simulated/floor/plating/airless,/area/derelict/medical/chapel)
"aT" = (/turf/simulated/wall/r_wall,/area/derelict/arrival)
-"aU" = (/obj/machinery/door/window/holowindoor,/obj/structure/closet/coffin,/obj/machinery/mass_driver{dir = 8; id = "derelict_gun"; name = "mass driver"},/turf/simulated/floor/plating/airless,/area/derelict/medical/chapel)
+"aU" = (/obj/machinery/door/window,/obj/structure/closet/coffin,/obj/machinery/mass_driver{dir = 8; id = "derelict_gun"; name = "mass driver"},/turf/simulated/floor/plating/airless,/area/derelict/medical/chapel)
"aV" = (/obj/item/firstaid_arm_assembly,/turf/simulated/floor/tiled/white/airless,/area/derelict/medical)
"aW" = (/turf/simulated/floor/tiled/airless,/area/derelict/medical)
"aX" = (/obj/structure/window/reinforced{dir = 1; health = 1e+006},/turf/simulated/floor/plating/airless,/area/space)
@@ -849,4 +849,4 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-"}
\ No newline at end of file
+"}
diff --git a/maps/derelicts/snow_asteroid/snowasteroid.dmm b/maps/derelicts/snow_asteroid/snowasteroid.dmm
index 0d1a0f6fb07..e00e2fd5e33 100644
--- a/maps/derelicts/snow_asteroid/snowasteroid.dmm
+++ b/maps/derelicts/snow_asteroid/snowasteroid.dmm
@@ -46,41 +46,41 @@
"aU" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/turf/simulated/floor/trim/wood,/area/derelict/snowasteroid)
"aV" = (/turf/simulated/floor/trim/wood{icon_state = "wood_broken1"},/area/derelict/snowasteroid)
"aW" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor/trim/wood,/area/derelict/snowasteroid)
-"aX" = (/obj/effect/floor_decal/rust,/turf/simulated/floor/holofloor/tiled/dark,/area/derelict/snowasteroid/bunker)
-"aY" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/effect/floor_decal/rust,/turf/simulated/floor/holofloor/tiled/dark,/area/derelict/snowasteroid/bunker)
-"aZ" = (/obj/structure/table/rack,/obj/item/gun/energy/plasmastun,/obj/machinery/door/window/brigdoor/southleft,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8; health = 1e+006},/turf/simulated/floor/holofloor/tiled/dark,/area/derelict/snowasteroid/bunker)
-"ba" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/effect/floor_decal/rust,/obj/effect/decal/cleanable/blood/oil,/turf/simulated/floor/holofloor/tiled/dark,/area/derelict/snowasteroid/bunker)
-"bb" = (/obj/effect/decal/cleanable/cobweb2,/obj/effect/floor_decal/rust,/turf/simulated/floor/holofloor/tiled/dark,/area/derelict/snowasteroid/bunker)
+"aX" = (/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/dark/rough,/area/derelict/snowasteroid/bunker)
+"aY" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/dark/rough,/area/derelict/snowasteroid/bunker)
+"aZ" = (/obj/structure/table/rack,/obj/item/gun/energy/plasmastun,/obj/machinery/door/window/brigdoor/southleft,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8; health = 1e+006},/turf/simulated/floor/tiled/dark/rough,/area/derelict/snowasteroid/bunker)
+"ba" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/effect/floor_decal/rust,/obj/effect/decal/cleanable/blood/oil,/turf/simulated/floor/tiled/dark/rough,/area/derelict/snowasteroid/bunker)
+"bb" = (/obj/effect/decal/cleanable/cobweb2,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/dark/rough,/area/derelict/snowasteroid/bunker)
"bc" = (/obj/machinery/door/unpowered/simple/wood,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/trim/wood,/area/derelict/snowasteroid)
-"bd" = (/obj/structure/table/rack,/obj/item/stack/material/gold/ten,/obj/effect/floor_decal/rust,/obj/machinery/light{dir = 1},/turf/simulated/floor/holofloor/tiled/dark,/area/derelict/snowasteroid/bunker)
-"be" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/effect/floor_decal/rust,/turf/simulated/floor/holofloor/tiled/dark,/area/derelict/snowasteroid/bunker)
-"bf" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/effect/floor_decal/rust,/turf/simulated/floor/holofloor/tiled/dark,/area/derelict/snowasteroid/bunker)
-"bg" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/effect/floor_decal/rust,/turf/simulated/floor/holofloor/tiled/dark,/area/derelict/snowasteroid/bunker)
-"bh" = (/obj/structure/table/rack,/obj/item/clothing/suit/armor/vest/ert,/obj/item/clothing/head/helmet/ert,/obj/effect/floor_decal/rust,/obj/machinery/light{dir = 1},/turf/simulated/floor/holofloor/tiled/dark,/area/derelict/snowasteroid/bunker)
+"bd" = (/obj/structure/table/rack,/obj/item/stack/material/gold/ten,/obj/effect/floor_decal/rust,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/derelict/snowasteroid/bunker)
+"be" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/dark/rough,/area/derelict/snowasteroid/bunker)
+"bf" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/dark/rough,/area/derelict/snowasteroid/bunker)
+"bg" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/dark/rough,/area/derelict/snowasteroid/bunker)
+"bh" = (/obj/structure/table/rack,/obj/item/clothing/suit/armor/vest/ert,/obj/item/clothing/head/helmet/ert,/obj/effect/floor_decal/rust,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/derelict/snowasteroid/bunker)
"bi" = (/obj/structure/flora/bush,/turf/simulated/floor/natural/snow,/area/derelict/snowasteroid)
"bj" = (/obj/effect/floor_decal/snow,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled,/area/derelict/snowasteroid)
"bk" = (/obj/effect/floor_decal/asteroid,/turf/simulated/floor/natural/snow,/area/derelict/snowasteroid)
"bl" = (/obj/effect/floor_decal/snow,/turf/simulated/floor/natural/snow,/area/derelict/snowasteroid)
-"bm" = (/obj/structure/table/rack,/obj/item/stack/material/diamond/ten,/obj/effect/floor_decal/rust,/turf/simulated/floor/holofloor/tiled/dark,/area/derelict/snowasteroid/bunker)
-"bn" = (/obj/effect/floor_decal/rust,/obj/effect/decal/cleanable/blood/oil,/turf/simulated/floor/holofloor/tiled/dark,/area/derelict/snowasteroid/bunker)
-"bo" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/effect/floor_decal/rust,/turf/simulated/floor/holofloor/tiled/dark,/area/derelict/snowasteroid/bunker)
-"bp" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/floor_decal/industrial/warning,/obj/effect/floor_decal/rust,/turf/simulated/floor/holofloor/tiled/dark,/area/derelict/snowasteroid/bunker)
-"bq" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/effect/floor_decal/rust,/turf/simulated/floor/holofloor/tiled/dark,/area/derelict/snowasteroid/bunker)
-"br" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/rust,/turf/simulated/floor/holofloor/tiled/dark,/area/derelict/snowasteroid/bunker)
-"bs" = (/obj/structure/table/rack,/obj/item/clothing/under/ert,/obj/effect/floor_decal/rust,/turf/simulated/floor/holofloor/tiled/dark,/area/derelict/snowasteroid/bunker)
+"bm" = (/obj/structure/table/rack,/obj/item/stack/material/diamond/ten,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/dark/rough,/area/derelict/snowasteroid/bunker)
+"bn" = (/obj/effect/floor_decal/rust,/obj/effect/decal/cleanable/blood/oil,/turf/simulated/floor/tiled/dark/rough,/area/derelict/snowasteroid/bunker)
+"bo" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/dark/rough,/area/derelict/snowasteroid/bunker)
+"bp" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/floor_decal/industrial/warning,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/dark/rough,/area/derelict/snowasteroid/bunker)
+"bq" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/dark/rough,/area/derelict/snowasteroid/bunker)
+"br" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/dark/rough,/area/derelict/snowasteroid/bunker)
+"bs" = (/obj/structure/table/rack,/obj/item/clothing/under/ert,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/dark/rough,/area/derelict/snowasteroid/bunker)
"bt" = (/obj/effect/floor_decal/snow,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled,/area/derelict/snowasteroid)
"bu" = (/obj/effect/floor_decal/snow,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/derelict/snowasteroid)
"bv" = (/obj/effect/floor_decal/snow,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/derelict/snowasteroid)
"bw" = (/obj/structure/flora/ausbushes/fullgrass,/turf/simulated/floor/natural/snow,/area/derelict/snowasteroid)
-"bx" = (/obj/structure/table/rack,/obj/item/stack/material/silver/ten,/obj/effect/floor_decal/rust,/turf/simulated/floor/holofloor/tiled/dark,/area/derelict/snowasteroid/bunker)
+"bx" = (/obj/structure/table/rack,/obj/item/stack/material/silver/ten,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/dark/rough,/area/derelict/snowasteroid/bunker)
"by" = (/obj/structure/window_frame/grille/rglass,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/derelict/snowasteroid/bunker)
-"bz" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/window/brigdoor/northright{req_access = list(3)},/obj/effect/floor_decal/rust,/turf/simulated/floor/holofloor/tiled/dark,/area/derelict/snowasteroid/bunker)
+"bz" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/window/brigdoor/northright{req_access = list(3)},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/dark/rough,/area/derelict/snowasteroid/bunker)
"bA" = (/obj/structure/window_frame/reinforced/hull,/turf/simulated/floor/plating,/area/derelict/snowasteroid/shuttle)
-"bB" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/rust,/turf/simulated/floor/holofloor/tiled/dark,/area/derelict/snowasteroid/bunker)
-"bC" = (/obj/structure/table/rack,/obj/item/clothing/glasses/hud/scanners/night,/obj/effect/floor_decal/rust,/turf/simulated/floor/holofloor/tiled/dark,/area/derelict/snowasteroid/bunker)
-"bD" = (/obj/structure/table/rack,/obj/item/stack/material/uranium/ten,/obj/effect/floor_decal/rust,/turf/simulated/floor/holofloor/tiled/dark,/area/derelict/snowasteroid/bunker)
-"bE" = (/obj/machinery/nuclearbomb,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/rust,/turf/simulated/floor/holofloor/tiled/dark,/area/derelict/snowasteroid/bunker)
-"bF" = (/obj/structure/table/rack,/obj/item/clothing/shoes/swat,/obj/effect/floor_decal/rust,/turf/simulated/floor/holofloor/tiled/dark,/area/derelict/snowasteroid/bunker)
+"bB" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/dark/rough,/area/derelict/snowasteroid/bunker)
+"bC" = (/obj/structure/table/rack,/obj/item/clothing/glasses/hud/scanners/night,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/dark/rough,/area/derelict/snowasteroid/bunker)
+"bD" = (/obj/structure/table/rack,/obj/item/stack/material/uranium/ten,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/dark/rough,/area/derelict/snowasteroid/bunker)
+"bE" = (/obj/machinery/nuclearbomb,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/dark/rough,/area/derelict/snowasteroid/bunker)
+"bF" = (/obj/structure/table/rack,/obj/item/clothing/shoes/swat,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/dark/rough,/area/derelict/snowasteroid/bunker)
"bG" = (/obj/machinery/power/port_gen/pacman{anchored = 0; sheets = 25},/obj/structure/cable{d2 = 2; dir = 2; icon_state = "0-2"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/effect/floor_decal/industrial/warning,/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/plating,/area/derelict/snowasteroid)
"bH" = (/obj/machinery/power/port_gen/pacman{anchored = 0; sheets = 25},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/sign/warning/nosmoking_burned{pixel_y = 30},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/derelict/snowasteroid)
"bI" = (/obj/structure/table/rack,/obj/item/stack/material/plasma/fifty,/obj/item/stack/material/plasma/fifty,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/derelict/snowasteroid)
@@ -118,7 +118,7 @@
"co" = (/turf/simulated/floor/natural/ice,/area/derelict/snowasteroid)
"cp" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/natural/snow,/area/derelict/snowasteroid)
"cq" = (/obj/effect/floor_decal/snow,/obj/structure/boulder,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled,/area/derelict/snowasteroid)
-"cr" = (/obj/structure/flora/tree/dead,/obj/structure/flora/ausbushes/sparsegrass,/turf/simulated/floor/natural/snow,/area/derelict/snowasteroid)
+"cr" = (/obj/structure/flora/ausbushes/sparsegrass,/obj/structure/flora/tree/dead/deadtree_0,/turf/simulated/floor/natural/snow,/area/derelict/snowasteroid)
"cs" = (/obj/effect/floor_decal/snow,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled,/area/derelict/snowasteroid)
"ct" = (/obj/structure/flora/tree/pine,/obj/structure/flora/grass/both,/turf/simulated/floor/natural/snow,/area/derelict/snowasteroid)
"cu" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/natural/snow,/area/derelict/snowasteroid)
@@ -300,7 +300,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababaaaaaaaaaaaaaaaaaaababababababaaaaaaaaaaababababafafafcmafababadbiadabababacbjadacababadadadadababababababaRaRaRbKaRaRaRabababababaaaaaaaaaaaaabababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababababababababababaaaaaaaaaaaaaaaaaaabababababaaaaaaaaaaaaabababababababababadadadadadababacbjadacadadadadadadadadadababababababcnababababababababaaaaaaaaaaababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababaaaaaaaaaaaaaaaaabababababaaaaaaaaaaaaabababababababababadcocoadadadadcpbjadadadadadakbkadadadadadadababababcqababababababababaaaaaaaaaaababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababababababababababaaaaaaaaaaaaaaaaaaaaababaaaaaaaaaaaaaaabababababababababadcococoadadadbkbtbvadadadadakakcradadadadadadabababcsabababababababaaaaaaaaaaababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababababababababababaaaaaaaaaaaaaaaaaaaaababaaaaaaaaaaaaaaabababababababababadcococoadadadbkbtbvadadadadakcrakadadadadadadabababcsabababababababaaaaaaaaaaababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababadadcococoadadctadadbjadadadadadakakadadadadadadadababbjabababababababaaaaaaaaaaabababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababadcococococoadadadadbjadadadadadakbkadadadadadadcuababcqabababababababaaaaaaaaaaababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababababababababababaaaaaaaaabababaaaaaaaaaaaaaaaaaaaaababababababababababadcocococococoadadaqbjadctadcvbububububububububububucwcxabababababababaaaaaaaaaaabababababababaaaaaaaaaaaaaaaaaaaaaaaaabababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
diff --git a/maps/eclipse/eclipse-1.dmm b/maps/eclipse/eclipse-1.dmm
index 714d6566b3a..5f3a55c22e8 100644
--- a/maps/eclipse/eclipse-1.dmm
+++ b/maps/eclipse/eclipse-1.dmm
@@ -22,12 +22,12 @@
"aav" = (/obj/effect/floor_decal/industrial/warning/red{dir = 1},/turf/simulated/floor/tiled/dark,/area/eclipse/security/misc/tactical)
"aaw" = (/obj/effect/floor_decal/industrial/outline/red,/obj/item/stool,/turf/simulated/floor/tiled/dark,/area/eclipse/security/misc/tactical)
"aax" = (/obj/machinery/light{dir = 1},/obj/structure/closet/crate/secure/weapon{name = "ballistic ammo"},/obj/item/ammo_magazine/mc9mmt,/obj/item/ammo_magazine/mc9mmt,/obj/item/ammo_magazine/mc9mmt,/obj/effect/floor_decal/industrial/hatch/red,/turf/simulated/floor/tiled/dark,/area/eclipse/security/misc/tactical)
-"aay" = (/obj/structure/closet/secure_closet/guncabinet,/obj/item/gun/projectile/automatic/z8,/obj/effect/floor_decal/industrial/hatch/red,/turf/simulated/floor/tiled/dark,/area/eclipse/security/misc/tactical)
+"aay" = (/obj/item/gun/projectile/automatic/z8,/obj/effect/floor_decal/industrial/hatch/red,/obj/structure/closet/secure_closet/vault,/turf/simulated/floor/tiled/dark,/area/eclipse/security/misc/tactical)
"aaz" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/structure/spider/stickyweb/sealed,/turf/simulated/floor/plating,/area/eclipse/maintenance/tunnel/research/incinerator)
"aaA" = (/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled/dark,/area/eclipse/security/misc/tactical)
"aaB" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/dark,/area/eclipse/security/misc/tactical)
"aaC" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled/dark,/area/eclipse/security/misc/tactical)
-"aaD" = (/obj/structure/closet/secure_closet/guncabinet,/obj/item/gun/projectile/automatic/wt550,/obj/machinery/camera/network/security{c_tag = "Brig Armory Storage North"; dir = 8},/obj/effect/floor_decal/industrial/hatch/red,/turf/simulated/floor/tiled/dark,/area/eclipse/security/misc/tactical)
+"aaD" = (/obj/item/gun/projectile/automatic/wt550,/obj/machinery/camera/network/security{c_tag = "Brig Armory Storage North"; dir = 8},/obj/effect/floor_decal/industrial/hatch/red,/obj/structure/closet/secure_closet/vault,/turf/simulated/floor/tiled/dark,/area/eclipse/security/misc/tactical)
"aaE" = (/obj/structure/sign/warning/secure_area,/turf/simulated/wall/r_wall,/area/eclipse/security/misc/tactical)
"aaF" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/table/rack,/obj/item/clothing/suit/armor/riot,/obj/item/shield/riot,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/balaclava,/obj/item/clothing/head/helmet/riot,/obj/item/melee/baton/loaded,/obj/machinery/door/window/eastleft{req_access = list(2)},/turf/simulated/floor/tiled/dark,/area/eclipse/security/misc/tactical)
"aaG" = (/obj/item/stool,/obj/effect/floor_decal/industrial/warning/red{dir = 8},/turf/simulated/floor/tiled/dark,/area/eclipse/security/misc/tactical)
@@ -999,7 +999,7 @@
"avs" = (/obj/item/device/radio/intercom{canhear_range = 4; name = "Station Intercom"; pixel_x = -26},/obj/machinery/ai_status_display{dir = 1; pixel_y = -32; name = "AI display south"},/obj/machinery/light,/turf/simulated/floor/tiled/dark,/area/eclipse/civilian/misc/nuke_storage)
"avy" = (/obj/structure/table/rack{layer = 2.6},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/medical,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/void/medical,/turf/simulated/floor/tiled/dark,/area/eclipse/civilian/misc/eva)
"avz" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/eclipse/maintenance/tunnel/security/meeting)
-"avB" = (/obj/structure/closet/crate,/obj/item/material/coin/silver,/obj/item/material/coin/silver,/obj/item/material/coin/silver,/obj/item/material/coin/gold,/obj/item/material/coin/gold,/obj/item/material/coin/diamond,/obj/item/material/coin/platinum,/obj/machinery/light,/turf/simulated/floor/tiled/dark,/area/eclipse/civilian/misc/nuke_storage)
+"avB" = (/obj/item/material/coin/silver,/obj/item/material/coin/silver,/obj/item/material/coin/silver,/obj/item/material/coin/gold,/obj/item/material/coin/gold,/obj/item/material/coin/diamond,/obj/item/material/coin/platinum,/obj/machinery/light,/obj/structure/closet/secure_closet/vault,/turf/simulated/floor/tiled/dark,/area/eclipse/civilian/misc/nuke_storage)
"avI" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/eclipse/security/hallway/brig_hallway1)
"avK" = (/obj/effect/floor_decal/corner/red/three_quarters,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/eclipse/security/support/meeting)
"avL" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/effect/landmark/start/crew/hos,/turf/simulated/floor/tiled,/area/eclipse/security/support/meeting)
@@ -1874,7 +1874,7 @@
"aOu" = (/obj/structure/bed/chair/comfy/brown{dir = 8},/obj/effect/landmark/start/crew/captain,/turf/simulated/floor/trim/carpet/blue,/area/eclipse/civilian/command/captain_restroom)
"aOv" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/trim/carpet/blue,/area/eclipse/civilian/command/captain_restroom)
"aOw" = (/obj/structure/table/standard,/obj/structure/flora/pottedplant{icon_state = "plant-23"; pixel_y = 8},/obj/item/toy/figure/hop,/obj/structure/sign/poster{dir = 8; pixel_x = -32; name = "poster west"},/obj/effect/floor_decal/corner/paleblue{dir = 1},/turf/simulated/floor/tiled,/area/eclipse/civilian/command/hop)
-"aOx" = (/obj/structure/bed/padded,/obj/item/bedsheet/hop,/obj/item/toy/plushie/kitten,/obj/item/storage/secure/safe{pixel_y = 28},/obj/effect/floor_decal/corner/paleblue{dir = 4},/obj/effect/landmark/start/crew/hop,/turf/simulated/floor/tiled,/area/eclipse/civilian/command/hop)
+"aOx" = (/obj/structure/bed/padded,/obj/item/toy/plushie/kitten,/obj/item/storage/secure/safe{pixel_y = 28},/obj/effect/floor_decal/corner/paleblue{dir = 4},/obj/effect/landmark/start/crew/hop,/obj/item/bedsheet/ian,/turf/simulated/floor/tiled,/area/eclipse/civilian/command/hop)
"aOy" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/table/standard,/obj/item/paper_bin,/obj/item/pen,/obj/item/device/radio/intercom{canhear_range = 4; name = "Station Intercom"; pixel_x = -26},/obj/effect/floor_decal/corner/paleblue{dir = 9},/obj/item/device/megaphone,/obj/item/hand_labeler,/turf/simulated/floor/tiled,/area/eclipse/civilian/command/hop)
"aOz" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/table/standard,/obj/item/modular_computer/laptop/preset/records,/turf/simulated/floor/tiled,/area/eclipse/civilian/command/hop)
"aOA" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/eclipse/civilian/command/hop)
@@ -2517,7 +2517,7 @@
"bbr" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/wall/ocp_wall,/area/eclipse/research/main/toxins)
"bbs" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_science{name = "Mixing Room Interior Airlock"; req_access = list(7); autoclose = 0; frequency = 1379; id_tag = "tox_airlock_interior"; locked = 1; icon_state = "door_locked"},/turf/simulated/floor/reinforced,/area/eclipse/research/main/toxins)
"bbt" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/wall/ocp_wall,/area/eclipse/research/main/toxins)
-"bbu" = (/obj/structure/closet/crate,/obj/item/stack/material/gold,/obj/item/stack/material/gold,/obj/item/stack/material/platinum,/obj/item/storage/belt/champion,/turf/simulated/floor/tiled/dark,/area/eclipse/civilian/misc/nuke_storage)
+"bbu" = (/obj/item/stack/material/gold,/obj/item/stack/material/gold,/obj/item/stack/material/platinum,/obj/item/storage/belt/champion,/obj/structure/closet/secure_closet/vault,/turf/simulated/floor/tiled/dark,/area/eclipse/civilian/misc/nuke_storage)
"bbv" = (/obj/item/device/radio/intercom{canhear_range = 4; pixel_x = -26},/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/light{dir = 8},/obj/effect/floor_decal/industrial/outline/blue,/turf/simulated/floor/tiled/white,/area/eclipse/research/main/toxins)
"bbw" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/eclipse/research/main/toxins)
"bbx" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/white,/area/eclipse/research/main/toxins)
@@ -2865,7 +2865,7 @@
"bio" = (/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/structure/disposalpipe/segment{dir = 4},/obj/machinery/firealarm{dir = 1; pixel_y = -24; name = "fire alarm - south"},/obj/effect/floor_decal/corner/purple{dir = 8},/turf/simulated/floor/tiled/white,/area/eclipse/research/hallway/research_hallway2)
"bip" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/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},/obj/effect/floor_decal/corner/purple{dir = 8},/turf/simulated/floor/tiled/white,/area/eclipse/research/hallway/research_hallway2)
"biq" = (/obj/structure/sign/double/map/right{pixel_y = 32},/obj/machinery/camera/network/command{c_tag = "Coomand Staff Meeting Room"},/obj/structure/bed/couch/right/purple,/turf/simulated/floor/trim/carpet/blue,/area/eclipse/civilian/command/meeting_room)
-"bir" = (/obj/machinery/alarm{pixel_y = 22},/obj/structure/table/woodentable,/obj/machinery/chemical_dispenser/bar_coffee/full,/turf/simulated/floor/trim/carpet/blue,/area/eclipse/civilian/command/meeting_room)
+"bir" = (/obj/machinery/alarm{pixel_y = 22},/obj/structure/table/woodentable,/turf/simulated/floor/trim/carpet/blue,/area/eclipse/civilian/command/meeting_room)
"bis" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/photocopier,/obj/effect/floor_decal/spline/fancy/wood{dir = 8},/turf/simulated/floor/trim/wood,/area/eclipse/civilian/command/meeting_room)
"bit" = (/turf/simulated/wall/r_wall,/area/eclipse/civilian/command/meeting_room)
"biu" = (/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/structure/disposalpipe/segment{dir = 4},/obj/machinery/ai_status_display{dir = 1; pixel_y = -32; name = "AI display south"},/obj/effect/floor_decal/corner/purple{dir = 8},/turf/simulated/floor/tiled/white,/area/eclipse/research/hallway/research_hallway2)
@@ -3574,7 +3574,7 @@
"bwm" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/blast/shutters{dir = 2; id = "emtroom"; name = "Mech Bay"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/eclipse/medical/first_aid/paramedic)
"bwn" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/light{dir = 8},/obj/effect/floor_decal/corner/blue{dir = 8},/obj/structure/sign/redcross{icon_state = "lifestar"; pixel_x = -32},/turf/simulated/floor/tiled/white,/area/eclipse/medical/hallway/medical_hallway2)
"bwo" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/effect/floor_decal/corner/blue{dir = 4},/turf/simulated/floor/tiled/white,/area/eclipse/medical/hallway/medical_hallway2)
-"bwp" = (/obj/structure/bed/psych,/obj/item/bedsheet/brown,/turf/simulated/floor/trim/carpet/blue2,/area/eclipse/medical/advanced_aid/psychologist)
+"bwp" = (/obj/structure/bed/psych,/obj/item/bedsheet/runtime,/turf/simulated/floor/trim/carpet/blue2,/area/eclipse/medical/advanced_aid/psychologist)
"bwq" = (/obj/item/device/radio/intercom{canhear_range = 4; name = "Station Intercom"; pixel_y = -26},/obj/structure/flora/pottedplant{tag = "icon-plant-10"; icon_state = "plant-10"},/turf/simulated/floor/trim/carpet/blue2,/area/eclipse/medical/advanced_aid/psychologist)
"bwr" = (/obj/structure/window/reinforced/tinted{dir = 8},/obj/structure/table/woodentable,/obj/item/clipboard,/obj/item/toy/figure/psychologist,/obj/machinery/power/apc{name = "south bump"; pixel_y = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/trim/wood,/area/eclipse/medical/advanced_aid/psychologist)
"bws" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/trim/wood,/area/eclipse/medical/advanced_aid/psychologist)
@@ -4417,7 +4417,7 @@
"bMW" = (/turf/simulated/wall,/area/eclipse/medical/misc/morgue)
"bMX" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/random/trash,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/eclipse/maintenance/tunnel/research/incinerator)
"bMY" = (/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{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/eclipse/maintenance/tunnel/general/bar)
-"bMZ" = (/obj/structure/bed/padded,/obj/item/clothing/mask/muzzle/ballgag,/turf/simulated/floor/plating,/area/eclipse/maintenance/tunnel/research/incinerator)
+"bMZ" = (/obj/structure/bed/padded,/obj/item/clothing/mask/muzzle/ballgag,/obj/item/bedsheet/cult,/turf/simulated/floor/plating,/area/eclipse/maintenance/tunnel/research/incinerator)
"bNa" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/plating,/area/eclipse/maintenance/tunnel/general/bar)
"bNb" = (/obj/effect/decal/cleanable/dirt,/mob/living/simple_animal/mouse/gray,/turf/simulated/floor/tiled/dirty,/area/eclipse/maintenance/tunnel/medical/hydroponics)
"bNc" = (/turf/simulated/floor/plating,/area/eclipse/maintenance/tunnel/general/ghetto_surgery)
@@ -4973,7 +4973,7 @@
"bXZ" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/eclipse/civilian/hallway/cargo)
"bYa" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/eclipse/civilian/hallway/bar)
"bYb" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/corner/brown,/obj/effect/floor_decal/spline/fancy/wood,/turf/simulated/floor/tiled/dark,/area/eclipse/civilian/support/bar)
-"bYc" = (/turf/simulated/floor/reinforced{name = "Holodeck Projector Floor"},/area/eclipse/civilian/dormitory/holodeck/alphadeck)
+"bYc" = (/turf/simulated/floor/reinforced{name = "Holodeck Projector Floor"},/area/holodeck)
"bYd" = (/obj/structure/table/rack{layer = 2.6},/obj/machinery/door/window/eastright{req_access = list(11)},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/engineering,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/void/engineering,/obj/structure/sign/poster{dir = 8; pixel_x = -32; name = "poster west"},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/plating,/area/eclipse/engineering/tech/singularity_engine)
"bYe" = (/obj/item/stool/padded,/turf/simulated/floor/plating,/area/eclipse/engineering/tech/singularity_engine)
"bYf" = (/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/effect/floor_decal/corner/blue{dir = 4},/obj/structure/disposalpipe/segment,/obj/machinery/firealarm{dir = 4; pixel_x = 24; name = "fire alarm - east"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled/white,/area/eclipse/medical/hallway/medical_hallway1)
@@ -5023,7 +5023,7 @@
"bYZ" = (/obj/structure/table/standard,/obj/item/storage/box/cups,/obj/effect/floor_decal/corner/blue{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/eclipse/medical/hallway/medical_hallway2)
"bZa" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled,/area/eclipse/civilian/hallway/cargo)
"bZb" = (/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/effect/floor_decal/corner/purple{dir = 4},/turf/simulated/floor/tiled/white,/area/eclipse/research/hallway/research_hallway1)
-"bZc" = (/obj/structure/bed/padded,/obj/item/bedsheet/blue,/obj/item/toy/plushie/mouse,/obj/machinery/computer/guestpass{layer = 3.1; pixel_y = 32},/obj/effect/floor_decal/corner/blue/three_quarters{dir = 8},/obj/machinery/keycard_auth{pixel_x = -26},/turf/simulated/floor/tiled/white,/area/eclipse/medical/support/cmo_office)
+"bZc" = (/obj/structure/bed/padded,/obj/item/toy/plushie/mouse,/obj/machinery/computer/guestpass{layer = 3.1; pixel_y = 32},/obj/effect/floor_decal/corner/blue/three_quarters{dir = 8},/obj/machinery/keycard_auth{pixel_x = -26},/obj/item/bedsheet/cmo,/turf/simulated/floor/tiled/white,/area/eclipse/medical/support/cmo_office)
"bZd" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/firealarm{pixel_y = 24; name = "fire alarm - north"},/obj/effect/floor_decal/corner/blue{dir = 5},/turf/simulated/floor/tiled/white,/area/eclipse/medical/support/cmo_office)
"bZe" = (/obj/structure/bed/chair/comfy/teal,/obj/item/sign/medipolma{pixel_y = 32},/obj/machinery/newscaster{dir = 8; pixel_x = 32},/obj/effect/floor_decal/corner/blue/three_quarters{dir = 1},/obj/effect/landmark/start/crew/cmo,/turf/simulated/floor/tiled/white,/area/eclipse/medical/support/cmo_office)
"bZf" = (/obj/structure/bed/chair/comfy/purp{dir = 4},/obj/effect/landmark/start/crew/rd,/turf/simulated/floor/trim/carpet/purple,/area/eclipse/research/support/breakroom)
@@ -5812,7 +5812,7 @@
"coO" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/computer/cryopod/robot{pixel_x = 32},/turf/simulated/floor/plating,/area/eclipse/engineering/misc/drone_fabrication)
"coP" = (/obj/machinery/light,/obj/structure/disposalpipe/trunk,/obj/machinery/disposal,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/turf/simulated/floor/tiled/white,/area/eclipse/engineering/support/break_room)
"coQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/turf/simulated/floor/tiled/white,/area/eclipse/engineering/support/break_room)
-"coR" = (/obj/structure/table/standard,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/machinery/chemical_dispenser/bar_coffee/full,/turf/simulated/floor/tiled/white,/area/eclipse/engineering/support/break_room)
+"coR" = (/obj/structure/table/standard,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/turf/simulated/floor/tiled/white,/area/eclipse/engineering/support/break_room)
"coS" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/corner/red{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/eclipse/civilian/dormitory/dormitory_hallway2)
"coT" = (/turf/simulated/floor/tiled,/area/crew_quarters/heads/chief)
"coU" = (/obj/structure/table/standard,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/item/storage/pill_bottle/sugar_cubes,/obj/item/reagent_containers/vessel/mug,/obj/item/reagent_containers/vessel/mug/green,/obj/item/reagent_containers/vessel/mug/metal,/turf/simulated/floor/tiled/white,/area/eclipse/engineering/support/break_room)
@@ -7681,7 +7681,7 @@
"daI" = (/obj/structure/closet/crate/freezer,/obj/item/reagent_containers/vessel/bottle/specialwhiskey,/obj/item/reagent_containers/vessel/bottle/winesparkling,/obj/item/reagent_containers/vessel/bottle/winewhite,/obj/item/reagent_containers/vessel/bottle/holywater,/obj/item/reagent_containers/vessel/bottle/goldschlager,/obj/item/reagent_containers/vessel/bottle/premiumvodka,/obj/item/reagent_containers/vessel/bottle/premiumwine,/turf/simulated/floor/trim/darkwood,/area/eclipse/civilian/support/bar)
"daJ" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/effect/floor_decal/corner/blue,/turf/simulated/floor/tiled/white,/area/eclipse/medical/hallway/medical_hallway3)
"daK" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24; name = "fire alarm - south"},/obj/effect/floor_decal/corner/blue,/turf/simulated/floor/tiled/white,/area/eclipse/medical/hallway/medical_hallway3)
-"daL" = (/obj/structure/bed/padded,/obj/item/bedsheet/blue,/obj/structure/sign/poster{pixel_x = 32; name = "poster east"},/obj/effect/landmark/start/crew/bartender,/turf/simulated/floor/trim/darkwood,/area/eclipse/civilian/support/bar)
+"daL" = (/obj/structure/bed/padded,/obj/structure/sign/poster{pixel_x = 32; name = "poster east"},/obj/effect/landmark/start/crew/bartender,/obj/item/bedsheet/pirate,/turf/simulated/floor/trim/darkwood,/area/eclipse/civilian/support/bar)
"daM" = (/obj/structure/bed/chair/comfy/brown{dir = 4},/obj/structure/sign/poster{dir = 8; pixel_x = -32; name = "poster west"},/obj/effect/landmark/start/crew/bartender,/turf/simulated/floor/trim/darkwood,/area/eclipse/civilian/support/bar)
"daN" = (/obj/effect/floor_decal/corner/red,/obj/machinery/light,/turf/simulated/floor/tiled,/area/eclipse/civilian/dormitory/dormitory_hallway2)
"daO" = (/obj/machinery/camera/network/medbay{c_tag = "Medbay Hallway Center"; dir = 1},/obj/effect/floor_decal/corner/blue,/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled/white,/area/eclipse/medical/hallway/medical_hallway3)
@@ -7788,7 +7788,7 @@
"dcQ" = (/obj/effect/floor_decal/corner/red{dir = 1},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/eclipse/civilian/dormitory/dormitory_hallway2)
"dcR" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/bed/chair/comfy/brown{dir = 1},/obj/effect/floor_decal/corner/red{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/eclipse/civilian/dormitory/dormitory_hallway2)
"dcS" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light/small{dir = 4},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/eclipse/maintenance/tunnel/research/incinerator)
-"dcT" = (/obj/structure/bed/padded,/obj/effect/floor_decal/spline/fancy{dir = 1},/obj/item/bedsheet/brown,/obj/machinery/button/remote/airlock{id = "room8"; name = "Door control"; pixel_x = -26; specialfunctions = 4},/turf/simulated/floor/trim/wood,/area/eclipse/civilian/dormitory/rooms/room8)
+"dcT" = (/obj/structure/bed/padded,/obj/effect/floor_decal/spline/fancy{dir = 1},/obj/machinery/button/remote/airlock{id = "room8"; name = "Door control"; pixel_x = -26; specialfunctions = 4},/obj/item/bedsheet/centcom,/turf/simulated/floor/trim/wood,/area/eclipse/civilian/dormitory/rooms/room8)
"dcU" = (/obj/effect/floor_decal/spline/fancy{dir = 1},/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/trim/wood,/area/eclipse/civilian/dormitory/rooms/room8)
"dcV" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/plating,/area/eclipse/maintenance/tunnel/engineering/storage)
"dcW" = (/obj/structure/table/steel,/obj/machinery/recharger,/turf/simulated/floor/plating,/area/eclipse/maintenance/tunnel/engineering/storage)
@@ -8016,7 +8016,7 @@
"dhq" = (/obj/machinery/door/firedoor/border_only,/obj/structure/window_frame/rglass,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "med_chem_blast3"; opacity = 0; open_layer = 2.8},/turf/simulated/floor/plating,/area/eclipse/medical/support/chemistry)
"dhr" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/trim/wood,/area/eclipse/civilian/dormitory/rooms/room9)
"dhs" = (/obj/effect/floor_decal/corner/blue{dir = 8},/obj/structure/table/standard,/obj/machinery/recharger,/obj/random/medical,/obj/random/medical,/obj/random/medical,/turf/simulated/floor/tiled/white,/area/eclipse/medical/hallway/medical_hallway4)
-"dht" = (/obj/structure/bed/padded,/obj/item/bedsheet/purple,/obj/machinery/ai_status_display{dir = 8; pixel_x = 32; name = "AI display east"},/turf/simulated/floor/trim/wood,/area/eclipse/civilian/dormitory/rooms/room9)
+"dht" = (/obj/structure/bed/padded,/obj/machinery/ai_status_display{dir = 8; pixel_x = 32; name = "AI display east"},/obj/item/bedsheet/nt,/turf/simulated/floor/trim/wood,/area/eclipse/civilian/dormitory/rooms/room9)
"dhu" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/obj/effect/floor_decal/corner/brown{dir = 1},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled,/area/eclipse/civilian/dormitory/dormitory_hallway2)
"dhv" = (/obj/effect/floor_decal/corner/blue{dir = 8},/obj/machinery/vending/snack/medbay,/turf/simulated/floor/tiled/white,/area/eclipse/medical/hallway/medical_hallway4)
"dhw" = (/obj/structure/disposalpipe/junction{dir = 1; icon_state = "pipe-j2"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/corner/brown{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; 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,/area/eclipse/civilian/dormitory/dormitory_hallway2)
@@ -8285,7 +8285,7 @@
"dmG" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/grid/bluegrid,/area/eclipse/maintenance/misc/server)
"dmH" = (/obj/structure/sign/warning/server_room{pixel_y = 32},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/window_frame/grille/rglass,/turf/simulated/floor/plating,/area/eclipse/maintenance/misc/server)
"dmI" = (/obj/structure/bed/chair/comfy/purp{dir = 1},/obj/effect/landmark/start/crew/xenobiologist,/turf/simulated/floor/trim/carpet/purple,/area/eclipse/research/support/breakroom)
-"dmJ" = (/obj/structure/bed/padded,/obj/item/bedsheet/rainbow,/obj/machinery/button/window_frame_tint{name = "window tint control - south"; pixel_y = -26},/turf/simulated/floor/trim/wood,/area/eclipse/civilian/dormitory/rooms/room3)
+"dmJ" = (/obj/structure/bed/padded,/obj/machinery/button/window_frame_tint{name = "window tint control - south"; pixel_y = -26},/obj/item/bedsheet/chap,/turf/simulated/floor/trim/wood,/area/eclipse/civilian/dormitory/rooms/room3)
"dmK" = (/obj/machinery/camera/network/engine{c_tag = "Singularity Northeast"; dir = 8; use_power = 0},/turf/simulated/floor/plating/airless,/area/eclipse/engineering/tech/singularity_engine)
"dmL" = (/obj/effect/floor_decal/corner/purple{dir = 4},/obj/effect/floor_decal/corner/blue,/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/eclipse/civilian/dormitory/dormitory_hallway1)
"dmM" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/plating/airless,/area/eclipse/engineering/tech/singularity_engine)
@@ -8623,7 +8623,7 @@
"dtD" = (/obj/structure/table/rack{layer = 2.6},/obj/item/tank/oxygen,/obj/item/clothing/mask/gas,/obj/item/device/flashlight,/obj/random/maintenance,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/eclipse/maintenance/tunnel/general/bar)
"dtE" = (/obj/machinery/door/firedoor/border_only,/obj/structure/window_frame/rglass,/turf/simulated/floor/plating,/area/eclipse/civilian/dormitory/dormitory_hallway1)
"dtF" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/machinery/button/remote/airlock{id = "med_cmo"; name = "Door control"; pixel_x = -26; pixel_y = -24},/obj/machinery/button/remote/blast_door{id = "medbay_lockdown"; name = "Medbay Lockdown"; pixel_x = -38; pixel_y = -24},/obj/machinery/button/remote/blast_door{id = "med_foyer_blast"; name = "Medbay Foyer Lockdown"; pixel_x = -26; pixel_y = -34},/obj/machinery/button/remote/blast_door{id = "virology_blast"; name = "Virology Lockdown"; pixel_x = -38; pixel_y = -34},/obj/effect/landmark/start/crew/cmo,/mob/living/simple_animal/cat/fluff/Runtime,/turf/simulated/floor/tiled/white,/area/eclipse/medical/support/cmo_office)
-"dtI" = (/obj/structure/window/reinforced,/obj/machinery/computer/HolodeckControl{programs_list_id = "EclipseMainPrograms"; linkedholodeck_area = /area/eclipse/civilian/dormitory/holodeck/alphadeck},/turf/simulated/floor/tiled/dark,/area/eclipse/civilian/dormitory/dormitory_hallway1)
+"dtI" = (/obj/structure/window/reinforced,/obj/machinery/computer/holodeck,/turf/simulated/floor/tiled/dark,/area/eclipse/civilian/dormitory/dormitory_hallway1)
"dtJ" = (/obj/structure/sign/warning/docking_area,/turf/simulated/wall,/area/eclipse/maintenance/tunnel/engineering/storage)
"dtK" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/table/standard,/obj/item/paper/exodus_holodeck,/obj/item/reagent_containers/vessel/plastic/waterbottle/fi4i,/turf/simulated/floor/tiled/dark,/area/eclipse/civilian/dormitory/dormitory_hallway1)
"dtL" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/eclipse/maintenance/tunnel/general/ghetto_surgery)
@@ -8970,7 +8970,7 @@
"egC" = (/obj/structure/bed/chair/office/light{dir = 1},/turf/simulated/floor/plating,/area/eclipse/maintenance/tunnel/research/incinerator)
"ehA" = (/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/door/firedoor/border_only,/obj/structure/window_frame/grille/rglass,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Security Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area/eclipse/security/main/prison_cells)
"ehW" = (/obj/structure/table/woodentable,/obj/random/coin,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/eclipse/maintenance/tunnel/ghetto_dorms/hallway3)
-"eiG" = (/obj/structure/table/woodentable,/obj/machinery/chemical_dispenser/bar_coffee/full,/obj/machinery/light{dir = 4},/turf/simulated/floor/trim/darkwood,/area/eclipse/civilian/misc/theater)
+"eiG" = (/obj/structure/table/woodentable,/obj/machinery/light{dir = 4},/turf/simulated/floor/trim/darkwood,/area/eclipse/civilian/misc/theater)
"ejQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/firealarm{dir = 4; pixel_x = 24; name = "fire alarm - east"},/turf/simulated/floor/tiled/rough,/area/eclipse/security/prison/prison_wing)
"ekq" = (/obj/random/maintenance,/turf/simulated/floor/plating,/area/eclipse/maintenance/tunnel/general/bar)
"elo" = (/obj/effect/decal/cleanable/dirt,/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/grille,/turf/simulated/floor/trim/wood/broken0,/area/eclipse/maintenance/tunnel/ghetto_dorms/hallway1)
@@ -9006,7 +9006,7 @@
"eGo" = (/obj/structure/sink{dir = 4; pixel_x = 11},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/eclipse/maintenance/tunnel/ghetto_dorms/room1)
"eHh" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/corner/red{dir = 5},/obj/machinery/status_display{pixel_y = 32; name = "status display north"},/obj/machinery/camera/network/prison{c_tag = "Prison - Pre-Acces"},/obj/structure/closet/secure_closet/brig,/turf/simulated/floor/tiled,/area/eclipse/security/prison/monitoring)
"eHC" = (/obj/structure/table/rack{layer = 2.6},/obj/item/tank/oxygen,/obj/item/clothing/mask/gas,/obj/item/device/flashlight/flare,/obj/item/device/flashlight/pen,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/eclipse/maintenance/tunnel/ghetto_dorms/maintenance)
-"eIa" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/structure/bed/chair/comfy/brown{dir = 8},/obj/machinery/firealarm{dir = 1; pixel_y = -24; name = "fire alarm - south"},/turf/simulated/floor/holofloor/carpet,/area/eclipse/maintenance/tunnel/ghetto_dorms/hallway1)
+"eIa" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/structure/bed/chair/comfy/brown{dir = 8},/obj/machinery/firealarm{dir = 1; pixel_y = -24; name = "fire alarm - south"},/obj/effect/floor_decal/spline/fancy/wood{dir = 4},/turf/simulated/floor/trim/carpet/orange,/area/eclipse/maintenance/tunnel/ghetto_dorms/hallway1)
"eIM" = (/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/corner/blue{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/eclipse/medical/hallway/medical_hallway3)
"eJQ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/corner/red{dir = 10},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/eclipse/security/hallway/brig_hallway1)
"eLL" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor/tiled,/area/eclipse/engineering/tech/atmospherics)
@@ -9041,7 +9041,7 @@
"faW" = (/obj/random/pottedplant,/turf/simulated/floor/tiled/white,/area/eclipse/medical/hallway/medical_hallway3)
"fbZ" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/effect/floor_decal/spline/fancy{dir = 1},/turf/simulated/floor/tiled/white,/area/eclipse/engineering/support/break_room)
"fci" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/eclipse/maintenance/tunnel/ghetto_aisat/chamber)
-"fdp" = (/obj/structure/closet/crate/bin,/obj/random/single,/obj/machinery/status_display{dir = 8; pixel_x = 32; name = "status display east"},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/dirty,/area/eclipse/maintenance/tunnel/ghetto_dorms/hallway2)
+"fdp" = (/obj/structure/closet/crate/bin,/obj/machinery/status_display{dir = 8; pixel_x = 32; name = "status display east"},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/random/maintenance,/turf/simulated/floor/tiled/dirty,/area/eclipse/maintenance/tunnel/ghetto_dorms/hallway2)
"fdD" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{burnt = 1; icon_state = "dmg4"},/area/eclipse/maintenance/tunnel/ghetto_dorms/hallway3)
"fdU" = (/obj/structure/closet/crate/plastic,/obj/random/advdevice,/obj/random/tech_supply,/obj/random/tech_supply,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/item/device/radio/intercom{canhear_range = 4; name = "Station Intercom"; pixel_y = 26},/turf/simulated/floor/tiled,/area/eclipse/maintenance/tunnel/ghetto_dorms/room1)
"fek" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/eclipse/security/prison/mine/explored)
@@ -9077,7 +9077,7 @@
"fyC" = (/obj/structure/bed/chair/office/light{dir = 8},/turf/simulated/floor/tiled/rough,/area/eclipse/security/prison/prison_wing)
"fzb" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/eclipse/maintenance/tunnel/ghetto_aisat/access)
"fAk" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/structure/bed/chair/office/dark{dir = 4},/turf/simulated/floor/tiled,/area/eclipse/security/prison/monitoring)
-"fBm" = (/obj/structure/table/woodentable,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/item/material/ashtray/bronze,/turf/simulated/floor/holofloor/carpet,/area/eclipse/maintenance/tunnel/ghetto_dorms/hallway1)
+"fBm" = (/obj/structure/table/woodentable,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/item/material/ashtray/bronze,/turf/simulated/floor/trim/carpet/orange,/area/eclipse/maintenance/tunnel/ghetto_dorms/hallway1)
"fCH" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating,/area/eclipse/maintenance/tunnel/ghetto_aisat/access)
"fDy" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/constructable_frame/machine_frame,/obj/item/stack/cable_coil,/turf/simulated/floor/tiled/dark/mono,/area/eclipse/maintenance/tunnel/ghetto_aisat/teleport)
"fDH" = (/obj/machinery/floodlight,/turf/simulated/floor/tiled,/area/eclipse/maintenance/tunnel/engineering/engine)
@@ -9244,7 +9244,7 @@
"hYL" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/standard,/obj/item/storage/box/donkpockets,/obj/machinery/light,/turf/simulated/floor/tiled/mono,/area/eclipse/security/prison/prison_wing)
"hYT" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/floodlight,/obj/machinery/firealarm{dir = 4; pixel_x = 24; name = "fire alarm - east"},/turf/simulated/floor/tiled/dark/rough,/area/eclipse/security/hallway/brig_hallway2)
"hZq" = (/obj/structure/bed/wheel,/turf/simulated/floor/plating,/area/eclipse/maintenance/tunnel/ghetto_dorms/room6)
-"hZC" = (/obj/structure/bed/padded,/obj/item/bedsheet/rd,/turf/simulated/floor/trim/darkwood,/area/eclipse/maintenance/tunnel/ghetto_dorms/room1)
+"hZC" = (/obj/structure/bed/padded,/obj/item/bedsheet/qm,/turf/simulated/floor/trim/darkwood,/area/eclipse/maintenance/tunnel/ghetto_dorms/room1)
"iam" = (/obj/machinery/light/small{dir = 8},/obj/structure/table/standard,/obj/item/device/radio,/obj/item/device/t_scanner,/obj/item/flame/lighter/random,/turf/simulated/floor/plating,/area/eclipse/maintenance/tunnel/ghetto_dorms/maintenance)
"iay" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/dirty,/area/eclipse/civilian/cargo/storage_secure)
"iaO" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/dirty,/area/eclipse/maintenance/tunnel/cargo/cargo)
@@ -9364,7 +9364,7 @@
"jNz" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/eclipse/security/main/processing1)
"jNQ" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/eclipse/maintenance/tunnel/ghetto_aisat/telecomms)
"jOJ" = (/obj/random/junk,/obj/machinery/firealarm{dir = 1; pixel_y = -24; name = "fire alarm - south"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/eclipse/maintenance/tunnel/ghetto_dorms/hallway3)
-"jPu" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/structure/bed/chair/comfy/brown{dir = 4},/obj/structure/sign/poster{dir = 1; pixel_y = -32; name = "poster south"},/turf/simulated/floor/holofloor/carpet,/area/eclipse/maintenance/tunnel/ghetto_dorms/hallway1)
+"jPu" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/structure/bed/chair/comfy/brown{dir = 4},/obj/structure/sign/poster{dir = 1; pixel_y = -32; name = "poster south"},/turf/simulated/floor/trim/carpet/orange,/area/eclipse/maintenance/tunnel/ghetto_dorms/hallway1)
"jPI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/mopbucket,/obj/item/mop,/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled/rough,/area/eclipse/security/prison/prison_wing)
"jPJ" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/eclipse/maintenance/tunnel/ghetto_dorms/maintenance)
"jPV" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/decal/cleanable/dirt,/obj/random/trash,/turf/simulated/floor/plating,/area/eclipse/maintenance/tunnel/security/prison_port)
@@ -9892,7 +9892,7 @@
"qrH" = (/obj/structure/closet/crate/plastic,/obj/item/material/kitchen/utensil/knife/boot,/obj/item/storage/box/lights/bulbs/old,/obj/random/music_tape,/turf/simulated/floor/tiled,/area/eclipse/maintenance/tunnel/research/ghetto_store)
"qrS" = (/obj/machinery/ai_status_display{dir = 8; pixel_x = 32; name = "AI display east"},/obj/machinery/light{dir = 4},/obj/structure/closet/lawcloset,/turf/simulated/floor/trim/wood,/area/eclipse/civilian/misc/lawoffice)
"qsh" = (/obj/effect/floor_decal/spline/fancy/wood{dir = 8},/turf/simulated/floor/trim/wood,/area/eclipse/civilian/command/captain)
-"qst" = (/obj/structure/bed,/obj/item/bedsheet/blue,/obj/structure/sign/christmas/sockhor{name = "sticky sock"; desc = "Strange smelling sticky sock."},/obj/effect/decal/cleanable/flour{icon = 'icons/effects/blood.dmi'; icon_state = "mucus"; name = "strange substance"; desc = "Bad-smelling substance."; layer = 3.10},/obj/item/device/radio/intercom/custom{pixel_y = 22; frequency = 1488; listening = 1; name = "Radio PrisonFM"},/turf/simulated/floor/tiled/rough,/area/eclipse/security/prison/prison_wing)
+"qst" = (/obj/structure/bed,/obj/structure/sign/christmas/sockhor{name = "sticky sock"; desc = "Strange smelling sticky sock."},/obj/effect/decal/cleanable/flour{icon = 'icons/effects/blood.dmi'; icon_state = "mucus"; name = "strange substance"; desc = "Bad-smelling substance."; layer = 3.10},/obj/item/device/radio/intercom/custom{pixel_y = 22; frequency = 1488; listening = 1; name = "Radio PrisonFM"},/obj/item/bedsheet/wiz,/turf/simulated/floor/tiled/rough,/area/eclipse/security/prison/prison_wing)
"qsF" = (/obj/structure/sign/departments/holy,/turf/simulated/wall,/area/eclipse/civilian/support/chapel_storage)
"qte" = (/obj/effect/shuttle_landmark/elite_syndicate/southwest,/turf/space,/area/shuttle/syndicate_elite/southwest)
"qti" = (/obj/effect/floor_decal/corner/beige/diagonal,/obj/structure/sign/poster{pixel_x = 32; name = "poster east"},/turf/simulated/floor/tiled/brown,/area/eclipse/maintenance/tunnel/ghetto_dorms/hallway2)
@@ -9925,7 +9925,7 @@
"qRs" = (/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/structure/railing,/obj/machinery/computer/processing_unit_console,/turf/simulated/floor/tiled{color = "#ceb689"; icon_state = "steel_dirty"},/area/eclipse/security/prison/mine/mining_main)
"qRw" = (/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/firealarm{dir = 1; pixel_y = -24; name = "fire alarm - south"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/dirty,/area/eclipse/maintenance/tunnel/ghetto_dorms/hallway3)
"qRz" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/dirty,/area/eclipse/maintenance/tunnel/ghetto_dorms/hallway1)
-"qRN" = (/obj/structure/bed,/obj/item/bedsheet/red,/turf/simulated/floor/tiled/rough,/area/eclipse/security/prison/prison_wing)
+"qRN" = (/obj/structure/bed,/obj/item/bedsheet/syndie,/turf/simulated/floor/tiled/rough,/area/eclipse/security/prison/prison_wing)
"qTj" = (/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/catwalk,/turf/simulated/floor/plating,/area/eclipse/maintenance/tunnel/ghetto_aisat/hallway)
"qTn" = (/obj/map_ent/func_spawn{ev_activate_at_startup = 1; ev_new_args = list("#FFFF00","#FFFFFF","y","forbidden space letter"); ev_target = /obj/effect/decal/cleanable/crayon; name = "y"},/turf/space,/area/space)
"qUa" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp,/obj/item/toy/figure/mime,/obj/item/stamp/mime,/obj/machinery/light{dir = 4},/turf/simulated/floor/trim/lino,/area/eclipse/civilian/misc/theater)
@@ -10044,7 +10044,7 @@
"sMy" = (/obj/structure/closet/secure_closet/brig,/obj/item/device/radio/intercom{dir = 1; pixel_y = -22; pixel_x = 26},/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/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/dark,/area/eclipse/security/main/prison_cells)
"sMC" = (/obj/effect/floor_decal/corner/grey/diagonal,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/dark,/area/eclipse/maintenance/tunnel/ghetto_dorms/hallway1)
"sNl" = (/obj/random/maintenance,/turf/simulated/floor/plating,/area/eclipse/maintenance/tunnel/research/research_shuttle)
-"sOz" = (/obj/structure/bed/padded,/obj/item/bedsheet/mime,/obj/machinery/light/small{dir = 8},/obj/machinery/firealarm{dir = 8; pixel_x = -24; name = "fire alarm - west"},/turf/simulated/floor/trim/wood,/area/eclipse/maintenance/tunnel/ghetto_dorms/room4)
+"sOz" = (/obj/structure/bed/padded,/obj/machinery/light/small{dir = 8},/obj/machinery/firealarm{dir = 8; pixel_x = -24; name = "fire alarm - west"},/obj/item/bedsheet/cult,/turf/simulated/floor/trim/wood,/area/eclipse/maintenance/tunnel/ghetto_dorms/room4)
"sRp" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/machinery/camera/network/prison{c_tag = "Prison - Mining Refinery East"; dir = 8},/turf/simulated/floor/tiled{color = "#ceb689"},/area/eclipse/security/prison/mine/mining_main)
"sRy" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/random/trash,/turf/simulated/floor/plating,/area/eclipse/maintenance/tunnel/engineering/storage)
"sRR" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/eclipse/maintenance/tunnel/medical/storage)
diff --git a/maps/eclipse/eclipse-3.dmm b/maps/eclipse/eclipse-3.dmm
index 8b6313e49c5..39e740be7b3 100644
--- a/maps/eclipse/eclipse-3.dmm
+++ b/maps/eclipse/eclipse-3.dmm
@@ -5,134 +5,96 @@
"aae" = (/turf/space{icon_state = "black"},/area/space)
"aaf" = (/turf/space,/area/space)
"aag" = (/turf/unsimulated/wall,/area/space)
-"aah" = (/obj/structure/window/reinforced/crescent,/turf/unsimulated/wall,/area/space)
+"aah" = (/obj/machinery/door/blast/regular{name = "Shuttle Blast Shutters"; icon_state = "pdoor0"; opacity = 0; density = 0; id = "syndieshutters_workshop"},/obj/structure/window/syndi{icon_state = "ws1"},/turf/simulated/floor/plating,/area/syndicate_station/start)
"aai" = (/turf/space/transit/north,/area/space)
"aaj" = (/turf/simulated/mineral,/area/space)
-"aak" = (/turf/unsimulated/wall,/area/security/brig/solitary)
-"aal" = (/obj/structure/window/reinforced/crescent{dir = 4},/turf/unsimulated/wall,/area/space)
-"aam" = (/turf/simulated/floor/holofloor/desert,/area/eclipse/civilian/dormitory/holodeck/source_desert)
-"aan" = (/obj/structure/flora/ausbushes/sparsegrass,/turf/simulated/floor/holofloor/desert,/area/eclipse/civilian/dormitory/holodeck/source_desert)
-"aao" = (/obj/structure/window/reinforced/crescent{dir = 4},/obj/structure/window/reinforced/crescent{dir = 8},/turf/unsimulated/wall,/area/space)
-"aap" = (/obj/structure/flora/ausbushes/fullgrass,/turf/simulated/floor/holofloor/grass,/area/eclipse/civilian/dormitory/holodeck/source_picnicarea)
-"aaq" = (/obj/structure/flora/ausbushes/sparsegrass,/turf/simulated/floor/holofloor/grass,/area/eclipse/civilian/dormitory/holodeck/source_picnicarea)
-"aar" = (/obj/structure/table/rack/holorack,/obj/item/clothing/under/dress/dress_saloon,/obj/item/clothing/head/hairflower,/turf/simulated/floor/holofloor/tiled/dark,/area/eclipse/civilian/dormitory/holodeck/source_theatre)
-"aas" = (/obj/effect/landmark/costume,/obj/structure/table/rack/holorack,/turf/simulated/floor/holofloor/tiled/dark,/area/eclipse/civilian/dormitory/holodeck/source_theatre)
-"aat" = (/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_courtroom)
-"aau" = (/obj/structure/window/reinforced/holowindow{dir = 8},/obj/structure/flora/pottedplant{tag = "icon-plant-10"; icon_state = "plant-10"},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_courtroom)
-"aav" = (/obj/structure/table/holo_woodentable,/turf/simulated/floor/holofloor/wood,/area/eclipse/civilian/dormitory/holodeck/source_courtroom)
-"aaw" = (/turf/simulated/floor/holofloor/reinforced,/area/eclipse/civilian/dormitory/holodeck/source_wildlife)
-"aax" = (/turf/simulated/floor/holofloor/reinforced,/area/eclipse/civilian/dormitory/holodeck/source_plating)
-"aay" = (/turf/simulated/floor/holofloor/tiled/dark,/area/eclipse/civilian/dormitory/holodeck/source_emptycourt)
-"aaz" = (/obj/structure/holostool,/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_emptycourt)
-"aaA" = (/obj/structure/holostool,/obj/structure/window/reinforced/holowindow{dir = 8},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_emptycourt)
-"aaB" = (/obj/effect/floor_decal/corner/red/three_quarters{dir = 8},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_emptycourt)
-"aaC" = (/obj/effect/floor_decal/corner/red{dir = 5},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_emptycourt)
-"aaD" = (/obj/effect/floor_decal/corner/red/three_quarters{dir = 1},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_emptycourt)
-"aaE" = (/obj/structure/window/reinforced/crescent{dir = 8},/turf/unsimulated/wall,/area/space)
+"aal" = (/obj/effect/floor_decal/industrial/warning/wiz{dir = 10},/turf/unsimulated/floor{name = "plating"; icon_state = "lava"},/area/wizard_station)
+"aam" = (/obj/item/device/radio/intercom/syndicate{dir = 8; pixel_x = 22},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/wizard_station)
+"aan" = (/obj/item/robot_parts/head,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"aao" = (/obj/machinery/vending/cigarette{name = "hacked cigarette machine"; products = list(/obj/item/storage/fancy/cigarettes=10, /obj/item/storage/box/matches=10, /obj/item/flame/lighter/zippo=4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana=2); prices = list()},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_mothership)
+"aap" = (/turf/unsimulated/wall{icon_state = "riveted_straight"; dir = 8},/area/skipjack_station/base)
+"aaq" = (/obj/structure/table/standard,/obj/item/clothing/gloves/insulated,/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/glass{amount = 50},/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"aar" = (/obj/structure/table/rack/dark,/obj/item/gun/launcher/crossbow,/obj/item/stack/rods{amount = 10},/obj/item/gun/launcher/crossbow,/obj/item/stack/rods{amount = 10},/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"aas" = (/obj/machinery/autolathe{name = "Unlocked Autolathe"; desc = "Your typical Autolathe. It appears to have much more options than your regular one, however..."; hacked = 1},/obj/effect/floor_decal/industrial/hatch/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"aau" = (/obj/effect/floor_decal/sign/armory/suits,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"aaw" = (/turf/unsimulated/wall{icon_state = "riveted"},/area/syndicate_mothership/elite_squad)
+"aax" = (/obj/structure/table/woodentable,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"aaB" = (/obj/random/ammo,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"aaC" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 1},/area/wizard_station)
+"aaD" = (/obj/structure/table/woodentable,/obj/machinery/chemical_dispenser/bar_soft/full,/turf/unsimulated/floor{icon_state = "lino"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"aaE" = (/obj/structure/closet/crate/medical,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"aaF" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north,/area/space)
"aaG" = (/turf/unsimulated/beach/sand{density = 1; opacity = 1},/area/beach)
"aaH" = (/obj/structure/bed,/turf/unsimulated/floor{name = "plating"},/area/security/brig/solitary)
"aaI" = (/turf/unsimulated/floor{name = "plating"},/area/security/brig/solitary)
"aaJ" = (/obj/effect/decal/cleanable/cobweb2,/turf/unsimulated/floor{name = "plating"},/area/security/brig/solitary)
"aaK" = (/obj/effect/decal/cleanable/blood,/turf/unsimulated/floor{name = "plating"},/area/security/brig/solitary)
-"aaL" = (/obj/structure/flora/ausbushes/fullgrass,/turf/simulated/floor/holofloor/desert,/area/eclipse/civilian/dormitory/holodeck/source_desert)
-"aaM" = (/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/holofloor/grass,/area/eclipse/civilian/dormitory/holodeck/source_picnicarea)
-"aaN" = (/obj/structure/flora/ausbushes/ywflowers,/obj/effect/floor_decal/spline/fancy/wood/corner{dir = 8},/turf/simulated/floor/holofloor/grass,/area/eclipse/civilian/dormitory/holodeck/source_picnicarea)
-"aaO" = (/turf/simulated/floor/holofloor/tiled/dark,/area/eclipse/civilian/dormitory/holodeck/source_theatre)
-"aaP" = (/obj/machinery/door/window/holowindoor{dir = 8},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_courtroom)
-"aaQ" = (/turf/simulated/floor/holofloor/wood,/area/eclipse/civilian/dormitory/holodeck/source_courtroom)
-"aaR" = (/obj/effect/landmark/event/other/holodeck/carps,/turf/simulated/floor/holofloor/reinforced,/area/eclipse/civilian/dormitory/holodeck/source_wildlife)
-"aaS" = (/obj/effect/floor_decal/corner/red{dir = 9},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_emptycourt)
-"aaT" = (/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_emptycourt)
-"aaU" = (/obj/effect/floor_decal/corner/red{dir = 6},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_emptycourt)
+"aaL" = (/obj/random/junk,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"aaM" = (/obj/item/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/pen{pixel_y = 4},/obj/structure/table/glass,/obj/item/clothing/glasses/rglasses,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_mothership)
+"aaN" = (/obj/machinery/floodlight,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"aaR" = (/turf/unsimulated/wall{icon_state = "riveted_d"; dir = 1},/area/syndicate_mothership)
+"aaS" = (/obj/structure/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 4},/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"aaU" = (/turf/unsimulated/wall{icon_state = "riveted"; dir = 1},/area/syndicate_mothership/elite_squad)
"aaV" = (/turf/space/transit/north,/area/rescue_base/transit)
"aaW" = (/turf/unsimulated/beach/sand,/area/beach)
"aaX" = (/obj/structure/closet,/turf/unsimulated/beach/sand,/area/beach)
"aaY" = (/obj/effect/landmark/event/prison/prisioner,/turf/unsimulated/floor{name = "plating"},/area/security/brig/solitary)
-"aaZ" = (/obj/structure/flora/ausbushes/brflowers,/obj/effect/floor_decal/spline/fancy/wood{dir = 4},/turf/simulated/floor/holofloor/grass,/area/eclipse/civilian/dormitory/holodeck/source_picnicarea)
-"aba" = (/obj/effect/decal/cleanable/dirt,/obj/structure/holostool,/turf/simulated/floor/holofloor/desert,/area/eclipse/civilian/dormitory/holodeck/source_picnicarea)
-"abb" = (/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/holofloor/grass,/area/eclipse/civilian/dormitory/holodeck/source_picnicarea)
-"abc" = (/obj/structure/flora/ausbushes/brflowers,/obj/effect/floor_decal/spline/fancy/wood{dir = 8},/turf/simulated/floor/holofloor/grass,/area/eclipse/civilian/dormitory/holodeck/source_picnicarea)
-"abd" = (/obj/structure/window/reinforced/holowindow{dir = 8},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_courtroom)
-"abe" = (/obj/structure/bed/chair/holochair,/turf/simulated/floor/holofloor/wood,/area/eclipse/civilian/dormitory/holodeck/source_courtroom)
-"abf" = (/obj/structure/window/reinforced/holowindow{dir = 1},/obj/structure/window/reinforced/holowindow{dir = 8},/obj/structure/table/holo_woodentable,/turf/simulated/floor/holofloor/wood,/area/eclipse/civilian/dormitory/holodeck/source_courtroom)
-"abg" = (/obj/structure/window/reinforced/holowindow{dir = 1},/obj/structure/table/holo_woodentable,/turf/simulated/floor/holofloor/wood,/area/eclipse/civilian/dormitory/holodeck/source_courtroom)
-"abh" = (/obj/machinery/door/window/holowindoor{dir = 1; name = "Jury Box"},/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 9},/obj/effect/floor_decal/carpet{dir = 5},/turf/simulated/floor/holofloor/carpet,/area/eclipse/civilian/dormitory/holodeck/source_courtroom)
-"abi" = (/obj/machinery/door/window/holowindoor{dir = 8; name = "Red Team"},/turf/simulated/floor/holofloor/tiled/dark,/area/eclipse/civilian/dormitory/holodeck/source_emptycourt)
+"aaZ" = (/obj/effect/floor_decal/industrial/warning/red{dir = 8},/obj/effect/floor_decal/industrial/warning/red{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"aba" = (/turf/unsimulated/wall{icon_state = "riveted_t"; dir = 1},/area/wizard_station)
+"abb" = (/obj/item/clothing/suit/wizrobe/magusblue,/obj/item/clothing/head/wizard/magus,/obj/item/staff,/obj/structure/closet/cabinet/wizcabinet,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
+"abc" = (/obj/machinery/door/airlock/external{frequency = 1331; req_access = list(150); id_tag = "merc_base_hatch"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"abg" = (/obj/structure/table/standard,/obj/item/device/flashlight/lamp{pixel_x = 4; pixel_y = 8},/obj/item/pen{pixel_y = 4},/turf/unsimulated/floor{icon_state = "lino"},/area/syndicate_mothership)
+"abh" = (/obj/structure/table/steel,/obj/item/trash/dish/bowl,/turf/simulated/floor/shuttle/red,/area/skipjack_station/start)
+"abi" = (/obj/item/shovel,/obj/item/storage/toolbox/mechanical,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
"abj" = (/obj/effect/overlay/palmtree_l,/turf/unsimulated/beach/sand,/area/beach)
"abk" = (/obj/effect/overlay/palmtree_r,/obj/effect/overlay/coconut,/turf/unsimulated/beach/sand,/area/beach)
-"abl" = (/obj/structure/flora/ausbushes/brflowers,/obj/effect/floor_decal/spline/fancy/wood/corner{dir = 1},/turf/simulated/floor/holofloor/grass,/area/eclipse/civilian/dormitory/holodeck/source_picnicarea)
-"abm" = (/obj/structure/flora/ausbushes/brflowers,/obj/effect/floor_decal/spline/fancy/wood{dir = 5},/turf/simulated/floor/holofloor/grass,/area/eclipse/civilian/dormitory/holodeck/source_picnicarea)
+"abl" = (/turf/unsimulated/wall{icon_state = "riveted_l"},/area/security/brig/solitary)
+"abm" = (/turf/unsimulated/wall{icon_state = "riveted_t"; dir = 1},/area/syndicate_mothership)
"abn" = (/obj/structure/shuttle/engine/propulsion/burst/huge,/turf/space,/area/shuttle/escape/centcom)
-"abo" = (/turf/simulated/floor/holofloor/desert,/area/eclipse/civilian/dormitory/holodeck/source_picnicarea)
-"abp" = (/obj/effect/decal/cleanable/dirt,/obj/effect/floor_decal/spline/fancy/wood{dir = 8},/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/holofloor/grass,/area/eclipse/civilian/dormitory/holodeck/source_picnicarea)
-"abq" = (/obj/effect/floor_decal/spline/plain{dir = 1},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_theatre)
-"abr" = (/obj/structure/flora/ausbushes/ywflowers,/obj/effect/floor_decal/spline/fancy/wood{dir = 4},/turf/simulated/floor/holofloor/grass,/area/eclipse/civilian/dormitory/holodeck/source_picnicarea)
-"abs" = (/obj/structure/window/reinforced/holowindow,/obj/machinery/door/window/holowindoor{dir = 1; name = "Court Reporter's Box"},/obj/structure/bed/chair/holochair,/turf/simulated/floor/holofloor/wood,/area/eclipse/civilian/dormitory/holodeck/source_courtroom)
-"abt" = (/obj/structure/table/holo_woodentable,/obj/structure/window/reinforced/holowindow,/obj/structure/window/reinforced/holowindow{dir = 8},/turf/simulated/floor/holofloor/wood,/area/eclipse/civilian/dormitory/holodeck/source_courtroom)
-"abu" = (/obj/structure/table/holo_woodentable,/obj/structure/window/reinforced/holowindow,/turf/simulated/floor/holofloor/wood,/area/eclipse/civilian/dormitory/holodeck/source_courtroom)
-"abv" = (/obj/structure/table/holo_woodentable,/obj/structure/window/reinforced/holowindow,/obj/structure/window/reinforced/holowindow{dir = 4},/turf/simulated/floor/holofloor/wood,/area/eclipse/civilian/dormitory/holodeck/source_courtroom)
-"abw" = (/obj/structure/window/reinforced/holowindow,/obj/machinery/door/window/holowindoor{base_state = "right"; dir = 1; icon_state = "right"; name = "Witness Box"},/obj/structure/bed/chair/holochair,/turf/simulated/floor/holofloor/wood,/area/eclipse/civilian/dormitory/holodeck/source_courtroom)
-"abx" = (/obj/structure/window/reinforced/holowindow{dir = 8},/obj/structure/table/holo_woodentable,/turf/simulated/floor/holofloor/wood,/area/eclipse/civilian/dormitory/holodeck/source_courtroom)
-"aby" = (/obj/structure/bed/chair/holochair{dir = 8},/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 9},/turf/simulated/floor/holofloor/carpet,/area/eclipse/civilian/dormitory/holodeck/source_courtroom)
-"abz" = (/obj/structure/bed/chair/holochair{dir = 8},/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet/corners{dir = 9},/turf/simulated/floor/holofloor/carpet,/area/eclipse/civilian/dormitory/holodeck/source_courtroom)
+"abo" = (/obj/structure/sign/double/map/left{pixel_y = 32},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_mothership)
+"abp" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green{pixel_x = -3; pixel_y = 8; on = 0},/obj/item/reagent_containers/vessel/flask/barflask,/obj/item/device/radio/intercom/syndicate{dir = 8; pixel_x = 22},/turf/simulated/floor/trim/carpet,/area/wizard_station)
+"abq" = (/turf/unsimulated/wall{icon_state = "riveted_straight"},/area/alien)
+"abr" = (/turf/unsimulated/wall{icon_state = "riveted_l"},/area/wizard_station)
+"aby" = (/obj/structure/table/standard,/obj/item/reagent_containers/vessel/bottle/chemical/stoxin,/obj/item/stack/medical/advanced/bruise_pack,/obj/item/reagent_containers/vessel/bottle/chemical/stoxin,/obj/item/reagent_containers/syringe/antiviral/packaged,/obj/item/reagent_containers/syringe,/obj/item/storage/firstaid/toxin{pixel_x = 3; pixel_y = 3},/obj/item/storage/firstaid/adv{pixel_x = 1},/obj/item/storage/firstaid/o2{pixel_x = 3; pixel_y = 3},/obj/item/storage/firstaid/fire{pixel_x = 1},/turf/simulated/floor/shuttle/white{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"abz" = (/obj/item/target/syndicate,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/wizard_station)
"abA" = (/obj/effect/overlay/coconut,/turf/unsimulated/beach/sand,/area/beach)
"abB" = (/obj/structure/bed,/obj/effect/decal/cleanable/cobweb,/turf/unsimulated/floor{name = "plating"},/area/security/brig/solitary)
-"abC" = (/turf/unsimulated/wall,/area/alien)
-"abD" = (/obj/structure/table/holo_woodentable,/turf/simulated/floor/holofloor/desert,/area/eclipse/civilian/dormitory/holodeck/source_picnicarea)
-"abE" = (/obj/structure/flora/ausbushes/ywflowers,/obj/effect/floor_decal/spline/fancy/wood,/obj/effect/floor_decal/spline/fancy/wood/corner{dir = 4},/turf/simulated/floor/holofloor/grass,/area/eclipse/civilian/dormitory/holodeck/source_picnicarea)
-"abF" = (/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_theatre)
-"abG" = (/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 9},/turf/simulated/floor/holofloor/carpet,/area/eclipse/civilian/dormitory/holodeck/source_theatre)
-"abH" = (/obj/effect/floor_decal/carpet{dir = 1},/turf/simulated/floor/holofloor/carpet,/area/eclipse/civilian/dormitory/holodeck/source_theatre)
-"abI" = (/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 5},/turf/simulated/floor/holofloor/carpet,/area/eclipse/civilian/dormitory/holodeck/source_theatre)
-"abJ" = (/obj/machinery/door/window/holowindoor{base_state = "right"; dir = 8; icon_state = "right"},/turf/simulated/floor/holofloor/wood,/area/eclipse/civilian/dormitory/holodeck/source_courtroom)
-"abK" = (/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 9},/turf/simulated/floor/holofloor/carpet,/area/eclipse/civilian/dormitory/holodeck/source_courtroom)
-"abL" = (/obj/effect/floor_decal/carpet{dir = 1},/turf/simulated/floor/holofloor/carpet,/area/eclipse/civilian/dormitory/holodeck/source_courtroom)
-"abM" = (/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 5},/turf/simulated/floor/holofloor/carpet,/area/eclipse/civilian/dormitory/holodeck/source_courtroom)
-"abN" = (/obj/structure/bed/chair/holochair{dir = 8},/obj/effect/floor_decal/carpet{dir = 8},/turf/simulated/floor/holofloor/carpet,/area/eclipse/civilian/dormitory/holodeck/source_courtroom)
-"abO" = (/obj/structure/bed/chair/holochair{dir = 8},/obj/effect/floor_decal/carpet{dir = 4},/turf/simulated/floor/holofloor/carpet,/area/eclipse/civilian/dormitory/holodeck/source_courtroom)
+"abC" = (/obj/structure/lattice,/obj/structure/window_frame/grille,/turf/space,/area/space)
+"abE" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_d"; dir = 8},/area/syndicate_station/start)
+"abG" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 1},/area/skipjack_station/base)
+"abH" = (/obj/effect/floor_decal/industrial/warning/wiz{dir = 6},/turf/unsimulated/floor{icon_state = "asteroid"},/area/wizard_station)
+"abI" = (/obj/structure/largecrate/animal/cow,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"abL" = (/turf/unsimulated/wall{icon_state = "riveted_straight"; dir = 8},/area/alien)
+"abM" = (/obj/effect/floor_decal/industrial/warning/wiz{dir = 10},/turf/unsimulated/floor{icon_state = "asteroid"},/area/wizard_station)
"abP" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north,/area/space)
-"abQ" = (/obj/effect/decal/cleanable/blood,/turf/unsimulated/wall,/area/security/brig/solitary)
+"abQ" = (/obj/effect/floor_decal/industrial/warning/red{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"abR" = (/turf/unsimulated/floor{icon_state = "dark"},/area/alien)
-"abS" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet{dir = 8},/turf/simulated/floor/holofloor/carpet,/area/eclipse/civilian/dormitory/holodeck/source_theatre)
-"abT" = (/obj/structure/holostool,/turf/simulated/floor/holofloor/carpet,/area/eclipse/civilian/dormitory/holodeck/source_theatre)
-"abU" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet{dir = 4},/turf/simulated/floor/holofloor/carpet,/area/eclipse/civilian/dormitory/holodeck/source_theatre)
-"abV" = (/obj/structure/table/holo_woodentable,/obj/effect/floor_decal/carpet{dir = 8},/turf/simulated/floor/holofloor/carpet,/area/eclipse/civilian/dormitory/holodeck/source_courtroom)
-"abW" = (/obj/structure/table/holo_woodentable,/turf/simulated/floor/holofloor/carpet,/area/eclipse/civilian/dormitory/holodeck/source_courtroom)
-"abX" = (/turf/simulated/floor/holofloor/carpet,/area/eclipse/civilian/dormitory/holodeck/source_courtroom)
-"abY" = (/obj/structure/table/holo_woodentable,/obj/effect/floor_decal/carpet{dir = 4},/turf/simulated/floor/holofloor/carpet,/area/eclipse/civilian/dormitory/holodeck/source_courtroom)
-"abZ" = (/obj/effect/floor_decal/corner/green{dir = 9},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_emptycourt)
-"aca" = (/obj/effect/floor_decal/corner/green{dir = 6},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_emptycourt)
+"abS" = (/obj/structure/window_frame/reinforced/hull,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"abT" = (/obj/item/robot_parts/head,/obj/structure/table/glass,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/wizard_station)
+"abU" = (/turf/unsimulated/wall{icon_state = "riveted_t"; dir = 4},/area/skipjack_station/base)
+"abZ" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 4},/area/skipjack_station/base)
+"aca" = (/turf/unsimulated/wall{icon_state = "riveted_t"},/area/syndicate_mothership)
"acb" = (/turf/space/transit/north,/area/shuttle/escape/transit)
"acc" = (/obj/effect/overlay/palmtree_r,/turf/unsimulated/beach/sand,/area/beach)
-"acd" = (/obj/item/paper{info = "Some stuff is missing..."; name = "Insert alien artifacts here."},/turf/unsimulated/floor{icon_state = "dark"},/area/alien)
+"acd" = (/obj/structure/table/woodentable,/obj/item/device/megaphone,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
"ace" = (/obj/machinery/door/airlock/hatch,/turf/unsimulated/floor{icon_state = "dark"},/area/alien)
-"acf" = (/obj/effect/floor_decal/spline/fancy/wood,/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/holofloor/grass,/area/eclipse/civilian/dormitory/holodeck/source_picnicarea)
-"acg" = (/obj/effect/floor_decal/spline/fancy/wood,/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/holofloor/grass,/area/eclipse/civilian/dormitory/holodeck/source_picnicarea)
-"ach" = (/obj/machinery/door/window/holowindoor{base_state = "right"; dir = 8; icon_state = "right"},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_courtroom)
-"aci" = (/obj/structure/bed/chair/holochair{dir = 1},/obj/effect/floor_decal/carpet{dir = 8},/turf/simulated/floor/holofloor/carpet,/area/eclipse/civilian/dormitory/holodeck/source_courtroom)
-"acj" = (/obj/structure/bed/chair/holochair{dir = 1},/turf/simulated/floor/holofloor/carpet,/area/eclipse/civilian/dormitory/holodeck/source_courtroom)
-"ack" = (/obj/structure/bed/chair/holochair{dir = 1},/obj/effect/floor_decal/carpet{dir = 4},/turf/simulated/floor/holofloor/carpet,/area/eclipse/civilian/dormitory/holodeck/source_courtroom)
+"acf" = (/turf/unsimulated/wall{icon_state = "riveted_straight"; dir = 4},/area/wizard_station)
+"acg" = (/obj/structure/table/rack,/obj/item/gun/launcher/alien/spikethrower,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"aci" = (/obj/effect/floor_decal/industrial/warning/wiz{dir = 6},/turf/unsimulated/floor{name = "grass"; icon_state = "grass0"},/area/wizard_station)
"acl" = (/obj/effect/landmark/event/rift/exit,/turf/unsimulated/beach/sand,/area/beach)
"acm" = (/obj/structure/closet/acloset,/turf/unsimulated/floor{icon_state = "dark"},/area/alien)
-"acn" = (/obj/structure/flora/ausbushes/sparsegrass,/obj/effect/floor_decal/spline/fancy/wood/corner{dir = 1},/turf/simulated/floor/holofloor/grass,/area/eclipse/civilian/dormitory/holodeck/source_picnicarea)
-"aco" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor/desert,/area/eclipse/civilian/dormitory/holodeck/source_picnicarea)
-"acp" = (/obj/machinery/door/window/holowindoor{base_state = "right"; dir = 8; icon_state = "right"; name = "Green Team"},/turf/simulated/floor/holofloor/tiled/dark,/area/eclipse/civilian/dormitory/holodeck/source_emptycourt)
-"acq" = (/obj/effect/floor_decal/carpet{dir = 8},/turf/simulated/floor/holofloor/carpet,/area/eclipse/civilian/dormitory/holodeck/source_courtroom)
-"acr" = (/obj/effect/floor_decal/carpet{dir = 4},/turf/simulated/floor/holofloor/carpet,/area/eclipse/civilian/dormitory/holodeck/source_courtroom)
-"acs" = (/obj/structure/window/reinforced/holowindow{dir = 8},/turf/simulated/floor/holofloor/wood,/area/eclipse/civilian/dormitory/holodeck/source_courtroom)
+"acn" = (/obj/random/trash,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"acr" = (/obj/machinery/door/airlock/external{icon_state = "door_locked"; frequency = 1331; locked = 1; id_tag = "emerc_airlock_dock_door"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
"act" = (/obj/structure/table/standard,/obj/item/reagent_containers/vessel/bottle/small/beer,/obj/item/reagent_containers/vessel/bottle/small/beer,/obj/item/reagent_containers/vessel/bottle/small/beer,/obj/item/reagent_containers/vessel/bottle/small/beer,/obj/item/reagent_containers/vessel/bottle/small/beer,/obj/item/reagent_containers/vessel/bottle/small/beer,/obj/item/reagent_containers/vessel/bottle/small/beer,/turf/unsimulated/beach/sand,/area/beach)
"acu" = (/obj/structure/table/standard,/obj/item/clothing/under/color/rainbow,/obj/item/clothing/glasses/sunglasses,/obj/item/clothing/head/collectable/petehat{pixel_y = 5},/turf/unsimulated/beach/sand,/area/beach)
"acv" = (/obj/item/inflatable_duck,/obj/effect/floor_decal/spline/fancy/wood{dir = 4},/turf/unsimulated/beach/sand{icon_state = "desert2"},/area/centcom/holding)
-"acw" = (/obj/structure/table/steel,/obj/item/paper,/obj/item/pen,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
+"acw" = (/obj/machinery/computer/station_alert/all,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"acx" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_straight"; dir = 1},/area/syndicate_mothership/ninja)
"acy" = (/turf/space,/area/shuttle/alien/base)
-"acz" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 10},/turf/simulated/floor/holofloor/carpet,/area/eclipse/civilian/dormitory/holodeck/source_theatre)
-"acA" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet,/turf/simulated/floor/holofloor/carpet,/area/eclipse/civilian/dormitory/holodeck/source_theatre)
-"acB" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 6},/turf/simulated/floor/holofloor/carpet,/area/eclipse/civilian/dormitory/holodeck/source_theatre)
-"acC" = (/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 10},/turf/simulated/floor/holofloor/carpet,/area/eclipse/civilian/dormitory/holodeck/source_courtroom)
-"acD" = (/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 6},/turf/simulated/floor/holofloor/carpet,/area/eclipse/civilian/dormitory/holodeck/source_courtroom)
-"acE" = (/obj/structure/holostool,/obj/structure/window/reinforced/holowindow{dir = 8},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_basketball)
+"acz" = (/obj/structure/closet/voxn2closet,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"acA" = (/obj/structure/synthesized_instrument/synthesizer/piano,/turf/simulated/floor/shuttle/red,/area/skipjack_station/start)
+"acB" = (/turf/unsimulated/wall{icon_state = "riveted_l"},/area/skipjack_station/base)
+"acD" = (/turf/unsimulated/wall{icon_state = "riveted"; dir = 1},/area/alien)
"acF" = (/obj/structure/table/standard,/obj/item/reagent_containers/food/packaged/chips,/turf/unsimulated/beach/sand,/area/beach)
"acG" = (/obj/structure/table/standard,/obj/item/reagent_containers/vessel/can/cola,/obj/item/reagent_containers/vessel/can/cola,/obj/item/reagent_containers/vessel/can/cola,/obj/item/reagent_containers/vessel/can/cola,/obj/item/reagent_containers/vessel/can/cola,/obj/item/reagent_containers/vessel/can/cola,/turf/unsimulated/beach/sand,/area/beach)
"acH" = (/obj/item/beach_ball,/turf/unsimulated/beach/sand,/area/beach)
@@ -140,156 +102,119 @@
"acJ" = (/obj/effect/floor_decal/corner/paleblue{dir = 9},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding)
"acL" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "elite_syndicate_ship"; name = "Shuttle Blast Shutters"; opacity = 0},/obj/structure/window/syndi{icon_state = "ws2"},/turf/simulated/floor/plating,/area/shuttle/syndicate_elite/mothership)
"acM" = (/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/tdome)
-"acN" = (/obj/structure/flora/pottedplant{tag = "icon-plant-06"; icon_state = "plant-06"},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_theatre)
-"acO" = (/obj/structure/holostool,/obj/structure/window/reinforced/holowindow{dir = 8},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_thunderdomecourt)
-"acP" = (/obj/structure/bed/chair/holochair{dir = 1},/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 10},/turf/simulated/floor/holofloor/carpet,/area/eclipse/civilian/dormitory/holodeck/source_courtroom)
-"acQ" = (/obj/structure/bed/chair/holochair{dir = 1},/obj/effect/floor_decal/carpet,/turf/simulated/floor/holofloor/carpet,/area/eclipse/civilian/dormitory/holodeck/source_courtroom)
-"acR" = (/obj/structure/bed/chair/holochair{dir = 1},/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 6},/turf/simulated/floor/holofloor/carpet,/area/eclipse/civilian/dormitory/holodeck/source_courtroom)
-"acS" = (/obj/effect/floor_decal/corner/green/three_quarters,/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_emptycourt)
-"acT" = (/obj/effect/floor_decal/corner/green{dir = 10},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_emptycourt)
-"acU" = (/obj/effect/floor_decal/corner/green/three_quarters{dir = 4},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_emptycourt)
+"acN" = (/turf/unsimulated/wall{icon_state = "riveted"; dir = 1},/area/skipjack_station/base)
+"acO" = (/turf/simulated/floor/shuttle/white{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"acP" = (/turf/unsimulated/wall{icon_state = "riveted_t"; dir = 4},/area/syndicate_mothership/elite_squad)
+"acQ" = (/obj/structure/table/rack/dark,/obj/item/gun/energy/sniperrifle,/obj/item/gun/energy/ionrifle,/obj/item/gun/energy/kinetic_accelerator,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"acS" = (/obj/structure/table/steel,/obj/item/device/flashlight/lamp/brown,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"acT" = (/obj/structure/closet/crate/bin,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"acU" = (/turf/unsimulated/wall{icon_state = "riveted_straight"},/area/syndicate_mothership/elite_squad)
"acX" = (/obj/structure/bed/alien,/turf/unsimulated/floor{icon_state = "dark"},/area/alien)
-"acY" = (/obj/structure/window/reinforced/crescent,/obj/structure/window/reinforced/crescent{dir = 1},/turf/unsimulated/wall,/area/space)
-"acZ" = (/obj/structure/window/reinforced/crescent{dir = 1},/obj/structure/window/reinforced/crescent,/turf/unsimulated/wall,/area/space)
+"acY" = (/obj/effect/floor_decal/industrial/warning/wiz,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/wizard_station)
+"acZ" = (/turf/unsimulated/wall{icon_state = "riveted_t"; dir = 1},/area/space)
"ada" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_b"; dir = 4},/area/shuttle/syndicate_elite/mothership)
-"adb" = (/mob/living/silicon/decoy{icon_state = "ai-malf"; name = "GLaDOS"},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership/elite_squad)
+"adb" = (/turf/unsimulated/wall{icon_state = "riveted_straight"},/area/space)
"adc" = (/obj/item/device/radio/intercom/syndicate{dir = 8; pixel_x = 22},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership/elite_squad)
-"add" = (/turf/simulated/floor/holofloor/space,/area/eclipse/civilian/dormitory/holodeck/source_space)
-"ade" = (/turf/simulated/floor/holofloor/snow,/area/eclipse/civilian/dormitory/holodeck/source_snowfield)
-"adf" = (/turf/simulated/floor/holofloor/wood,/area/eclipse/civilian/dormitory/holodeck/source_meetinghall)
-"adg" = (/obj/structure/flora/pottedplant{tag = "icon-plant-06"; icon_state = "plant-06"},/turf/simulated/floor/holofloor/wood,/area/eclipse/civilian/dormitory/holodeck/source_meetinghall)
-"adh" = (/turf/simulated/floor/holofloor/tiled/dark,/area/eclipse/civilian/dormitory/holodeck/source_basketball)
-"adi" = (/obj/structure/holostool,/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_basketball)
-"adj" = (/obj/machinery/door/window/holowindoor{dir = 8; name = "Red Team"},/turf/simulated/floor/holofloor/tiled/dark,/area/eclipse/civilian/dormitory/holodeck/source_basketball)
-"adk" = (/obj/effect/floor_decal/corner/red/three_quarters{dir = 8},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_basketball)
-"adl" = (/obj/effect/floor_decal/corner/red{dir = 5},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_basketball)
-"adm" = (/obj/structure/holohoop,/obj/effect/floor_decal/corner/red{dir = 5},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_basketball)
-"adn" = (/obj/effect/floor_decal/corner/red/three_quarters{dir = 1},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_basketball)
-"ado" = (/turf/unsimulated/beach/sand{dir = 8; icon_state = "beach"},/area/eclipse/civilian/dormitory/holodeck/source_beach)
-"adp" = (/turf/simulated/floor/holofloor/tiled/dark,/area/eclipse/civilian/dormitory/holodeck/source_thunderdomecourt)
-"adq" = (/obj/structure/holostool,/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_thunderdomecourt)
-"adr" = (/obj/machinery/door/window/holowindoor{dir = 8; name = "Red Team"},/turf/simulated/floor/holofloor/tiled/dark,/area/eclipse/civilian/dormitory/holodeck/source_thunderdomecourt)
-"ads" = (/obj/structure/table/holotable,/obj/machinery/readybutton,/obj/effect/floor_decal/corner/red/three_quarters{dir = 8},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_thunderdomecourt)
-"adt" = (/obj/structure/table/holotable,/obj/item/clothing/head/helmet/thunderdome,/obj/item/clothing/suit/armor/tdome/red,/obj/item/clothing/under/color/red,/obj/item/holo/esword/red,/obj/effect/floor_decal/corner/red{dir = 5},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_thunderdomecourt)
-"adu" = (/obj/structure/table/holotable,/obj/effect/floor_decal/corner/red/three_quarters{dir = 1},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_thunderdomecourt)
-"adv" = (/obj/structure/table/holotable,/obj/item/clothing/gloves/boxing/hologlove,/turf/simulated/floor/holofloor/tiled/dark,/area/eclipse/civilian/dormitory/holodeck/source_boxingcourt)
-"adw" = (/turf/simulated/floor/holofloor/tiled/dark,/area/eclipse/civilian/dormitory/holodeck/source_boxingcourt)
+"add" = (/obj/structure/window_frame/indestructible/hull,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"ade" = (/turf/unsimulated/wall{icon_state = "riveted_t"; dir = 1},/area/security/brig/solitary)
+"adg" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 8},/area/syndicate_mothership/elite_squad)
+"adk" = (/turf/unsimulated/wall{icon_state = "riveted"; dir = 4},/area/alien)
+"adm" = (/obj/structure/closet/crate/bin,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_mothership)
+"adr" = (/obj/structure/table/woodentable,/obj/item/storage/bag/cash,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"ads" = (/obj/structure/table/rack,/obj/item/clothing/suit/space/vox/stealth,/obj/item/clothing/head/helmet/space/vox/stealth,/obj/item/clothing/shoes/magboots/vox,/obj/item/clothing/gloves/vox,/obj/item/clothing/glasses/hud/plain/thermal/monocle,/obj/item/clothing/under/vox/vox_robes,/obj/item/clothing/accessory/holochip/vox,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"adt" = (/obj/structure/closet/crate/bin,/turf/unsimulated/floor{icon_state = "wood"; dir = 8; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"adu" = (/obj/machinery/door/airlock/hatch{req_access = list(150)},/turf/unsimulated/floor{icon_state = "freezerfloor"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"adw" = (/obj/structure/sign/double/maltesefalcon/right,/turf/unsimulated/wall{icon_state = "riveted_straight"; dir = 8},/area/space)
"adx" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east,/area/space)
"ady" = (/obj/structure/bed/chair/comfy/black{dir = 8},/obj/effect/landmark/start/antags/commando,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
-"adz" = (/turf/unsimulated/floor{icon_state = "lino"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
+"adz" = (/turf/unsimulated/wall{icon_state = "riveted_t"; dir = 1},/area/alien)
"adA" = (/obj/effect/decal/cleanable/dirt,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"adB" = (/obj/effect/landmark/event/other/holodeck/randcarps,/turf/simulated/floor/holofloor/space,/area/eclipse/civilian/dormitory/holodeck/source_space)
-"adC" = (/obj/structure/flora/grass/both,/turf/simulated/floor/holofloor/snow,/area/eclipse/civilian/dormitory/holodeck/source_snowfield)
-"adD" = (/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 9},/obj/effect/floor_decal/carpet{dir = 10},/turf/simulated/floor/holofloor/carpet,/area/eclipse/civilian/dormitory/holodeck/source_meetinghall)
-"adE" = (/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 1},/turf/simulated/floor/holofloor/carpet,/area/eclipse/civilian/dormitory/holodeck/source_meetinghall)
-"adF" = (/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 5},/obj/effect/floor_decal/carpet{dir = 6},/turf/simulated/floor/holofloor/carpet,/area/eclipse/civilian/dormitory/holodeck/source_meetinghall)
-"adG" = (/obj/effect/floor_decal/corner/red{dir = 9},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_basketball)
-"adH" = (/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_basketball)
-"adI" = (/obj/effect/floor_decal/corner/red{dir = 6},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_basketball)
-"adJ" = (/turf/simulated/floor/holofloor/beach/water,/area/eclipse/civilian/dormitory/holodeck/source_beach)
-"adK" = (/obj/effect/floor_decal/corner/red{dir = 9},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_thunderdomecourt)
-"adL" = (/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_thunderdomecourt)
-"adM" = (/obj/effect/floor_decal/corner/red{dir = 6},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_thunderdomecourt)
-"adN" = (/obj/structure/holostool,/turf/simulated/floor/holofloor/tiled/dark,/area/eclipse/civilian/dormitory/holodeck/source_boxingcourt)
+"adB" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 8},/area/alien)
+"adC" = (/obj/machinery/optable,/turf/simulated/floor/shuttle/white{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"adD" = (/obj/random/junk,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"adF" = (/obj/machinery/autolathe,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"adG" = (/obj/machinery/door/airlock/glass_security{name = "Airlock"; req_access = list(150)},/obj/machinery/door/blast/regular{name = "Mech Room Door"; dir = 4; id = "syndicate_elite_mech_room"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
+"adH" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_throwdown"; tiles = 0},/turf/space,/area/space)
+"adI" = (/obj/effect/decal/cleanable/dirt,/turf/unsimulated/floor{icon_state = "wood"; dir = 8; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"adJ" = (/turf/unsimulated/wall{icon_state = "riveted_t"},/area/alien)
+"adK" = (/obj/item/caution,/obj/effect/floor_decal/industrial/warning/wiz{dir = 10},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/wizard_station)
+"adM" = (/turf/unsimulated/wall{icon_state = "riveted_t"},/area/skipjack_station/base)
"adO" = (/obj/effect/shuttle_landmark/escape/internim,/turf/space/transit/north,/area/shuttle/escape/transit)
"adP" = (/turf/space/transit/east,/area/shuttle/escape_pod5/transit)
"adQ" = (/obj/structure/bed/chair,/obj/effect/landmark/event/rift/exit,/turf/unsimulated/beach/sand,/area/beach)
"adR" = (/mob/living/simple_animal/crab/Coffee,/turf/unsimulated/beach/sand,/area/beach)
-"adS" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/item/tank/nitrogen,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
+"adS" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 1},/area/syndicate_station/start)
"adT" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_d"; dir = 4},/area/syndicate_mothership/ninja)
"adV" = (/obj/effect/floor_decal/corner/red{dir = 5},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
"adW" = (/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
"adY" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_b"; dir = 1},/area/shuttle/syndicate_elite/mothership)
-"adZ" = (/obj/structure/flora/tree/pine,/turf/simulated/floor/holofloor/snow,/area/eclipse/civilian/dormitory/holodeck/source_snowfield)
-"aea" = (/obj/structure/table/holo_woodentable,/turf/simulated/floor/holofloor/wood,/area/eclipse/civilian/dormitory/holodeck/source_meetinghall)
-"aeb" = (/obj/machinery/door/window/holowindoor{base_state = "right"; dir = 8; icon_state = "right"; name = "Green Team"},/turf/simulated/floor/holofloor/tiled/dark,/area/eclipse/civilian/dormitory/holodeck/source_basketball)
+"adZ" = (/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"aea" = (/obj/effect/floor_decal/industrial/warning/red/corner{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"aec" = (/obj/structure/shuttle/engine/propulsion/burst/huge,/turf/space,/area/skipjack_station/start)
-"aed" = (/turf/unsimulated/beach/sand{tag = "icon-beach"; icon_state = "beach"; dir = 1},/area/eclipse/civilian/dormitory/holodeck/source_beach)
-"aee" = (/obj/machinery/door/window/holowindoor{base_state = "right"; dir = 8; icon_state = "right"; name = "Green Team"},/turf/simulated/floor/holofloor/tiled/dark,/area/eclipse/civilian/dormitory/holodeck/source_thunderdomecourt)
-"aef" = (/obj/machinery/door/window/holowindoor{base_state = "right"; dir = 2; icon_state = "right"; name = "Red Corner"},/turf/simulated/floor/holofloor/tiled/dark,/area/eclipse/civilian/dormitory/holodeck/source_boxingcourt)
-"aeg" = (/obj/structure/window/reinforced/holowindow,/turf/simulated/floor/holofloor/tiled/dark,/area/eclipse/civilian/dormitory/holodeck/source_boxingcourt)
+"aef" = (/obj/structure/table/standard,/obj/item/storage/firstaid/surgery,/obj/item/storage/firstaid/combat,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"aeh" = (/obj/effect/step_trigger/thrower{direction = 1; name = "thrower_throwup"; tiles = 0},/turf/space/transit/east,/area/space)
"aei" = (/obj/item/clothing/head/collectable/paper,/turf/unsimulated/beach/sand,/area/beach)
-"aek" = (/obj/structure/flora/tree/dead,/turf/simulated/floor/holofloor/snow,/area/eclipse/civilian/dormitory/holodeck/source_snowfield)
-"ael" = (/turf/simulated/floor/holofloor/lino,/area/eclipse/civilian/dormitory/holodeck/source_meetinghall)
-"aem" = (/turf/simulated/floor/holofloor/tiled/dark,/area/eclipse/civilian/dormitory/holodeck/source_meetinghall)
+"aek" = (/obj/structure/closet/crate/bin,/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership)
"aen" = (/turf/space,/area/skipjack_station/start)
-"aeo" = (/obj/structure/window/reinforced/holowindow{dir = 4},/turf/simulated/floor/holofloor/tiled/dark,/area/eclipse/civilian/dormitory/holodeck/source_boxingcourt)
-"aep" = (/obj/effect/floor_decal/corner/red/three_quarters{dir = 8},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_boxingcourt)
-"aeq" = (/obj/effect/floor_decal/corner/red{dir = 5},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_boxingcourt)
-"aer" = (/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_boxingcourt)
-"aes" = (/obj/structure/window/reinforced/holowindow{dir = 8},/turf/simulated/floor/holofloor/tiled/dark,/area/eclipse/civilian/dormitory/holodeck/source_boxingcourt)
+"aep" = (/obj/item/stool/padded,/obj/effect/landmark/start/antags/vox,/turf/simulated/floor/trim/wood/broken0{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"aeq" = (/turf/unsimulated/wall{icon_state = "riveted"; dir = 4},/area/syndicate_mothership/elite_squad)
"aet" = (/obj/effect/shuttle_landmark/escape_pod/transit/pod5,/turf/space/transit/east,/area/shuttle/escape_pod5/transit)
"aeu" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_throwdown"; stopper = 0; tiles = 0},/turf/space/transit/east,/area/space)
"aew" = (/obj/random/junk,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
"aex" = (/obj/machinery/atmospherics/pipe/manifold4w/visible,/turf/simulated/floor/shuttle/red,/area/shuttle/syndicate_elite/mothership)
-"aey" = (/obj/structure/flora/grass/green,/turf/simulated/floor/holofloor/snow,/area/eclipse/civilian/dormitory/holodeck/source_snowfield)
+"aey" = (/obj/effect/floor_decal/industrial/warning/wiz{dir = 9},/turf/unsimulated/floor{name = "grass"; icon_state = "grass0"},/area/wizard_station)
"aez" = (/obj/effect/step_trigger/teleporter/random/admin,/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_throwdown"; tiles = 0},/turf/space,/area/space)
-"aeA" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 9},/turf/simulated/floor/holofloor/carpet,/area/eclipse/civilian/dormitory/holodeck/source_meetinghall)
-"aeB" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet{dir = 1},/turf/simulated/floor/holofloor/carpet,/area/eclipse/civilian/dormitory/holodeck/source_meetinghall)
-"aeC" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 5},/turf/simulated/floor/holofloor/carpet,/area/eclipse/civilian/dormitory/holodeck/source_meetinghall)
-"aeD" = (/obj/effect/floor_decal/corner/red/three_quarters,/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_basketball)
-"aeE" = (/obj/effect/floor_decal/corner/red{dir = 10},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_basketball)
-"aeF" = (/obj/item/beach_ball/holoball,/obj/effect/floor_decal/corner/red{dir = 10},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_basketball)
-"aeG" = (/obj/effect/floor_decal/corner/red/three_quarters{dir = 4},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_basketball)
-"aeH" = (/turf/simulated/floor/holofloor/beach/sand,/area/eclipse/civilian/dormitory/holodeck/source_beach)
-"aeI" = (/obj/structure/window/reinforced/holowindow/disappearing,/obj/effect/floor_decal/corner/red/three_quarters,/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_thunderdomecourt)
-"aeJ" = (/obj/structure/window/reinforced/holowindow/disappearing,/obj/effect/floor_decal/corner/red{dir = 10},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_thunderdomecourt)
-"aeK" = (/obj/structure/window/reinforced/holowindow/disappearing,/obj/effect/floor_decal/corner/red/three_quarters{dir = 4},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_thunderdomecourt)
-"aeL" = (/obj/effect/floor_decal/corner/red{dir = 9},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_boxingcourt)
-"aeM" = (/obj/effect/floor_decal/corner/blue/three_quarters{dir = 8},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_boxingcourt)
-"aeN" = (/obj/effect/floor_decal/corner/blue/three_quarters{dir = 1},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_boxingcourt)
-"aeO" = (/obj/effect/floor_decal/corner/green{dir = 6},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_boxingcourt)
+"aeA" = (/turf/unsimulated/wall{icon_state = "riveted"},/area/alien)
+"aeC" = (/obj/structure/closet/cabinet/wizcabinet,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
+"aeD" = (/obj/structure/closet/voxn2closet,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"aeF" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_d"},/area/syndicate_station/start)
+"aeG" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_straight"; dir = 4},/area/syndicate_station/start)
+"aeI" = (/turf/unsimulated/wall{icon_state = "riveted"; dir = 8},/area/syndicate_mothership/elite_squad)
+"aeJ" = (/obj/machinery/door/blast/regular{name = "Shuttle Blast Shutters"; icon_state = "pdoor0"; opacity = 0; density = 0; dir = 4; id = "syndieshutters"},/obj/structure/window/syndi{icon_state = "ws5"},/turf/simulated/floor/plating,/area/syndicate_station/start)
+"aeK" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/machinery/access_button{name = "interior access button"; pixel_x = 25; pixel_y = 25; frequency = 1380; req_access = list(150); command = "cycle_interior"; master_tag = "skipjack_shuttle"},/obj/effect/decal/cleanable/blood/oil,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"aeL" = (/obj/structure/table/steel,/obj/random/medical,/turf/simulated/floor/shuttle/red,/area/skipjack_station/start)
+"aeM" = (/obj/structure/flora/ausbushes/fullgrass,/obj/effect/floor_decal/industrial/warning/wiz{dir = 5},/turf/unsimulated/floor{name = "grass"; icon_state = "grass0"},/area/wizard_station)
+"aeN" = (/obj/structure/table/woodentable,/obj/item/immovable_wand,/obj/item/paper/immovable_wand_note,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"aeO" = (/turf/unsimulated/wall{icon_state = "riveted_straight"; dir = 8},/area/syndicate_mothership)
"aeP" = (/turf/unsimulated/beach/coastline{density = 1; opacity = 1},/area/beach)
"aeQ" = (/turf/unsimulated/beach/coastline,/area/beach)
"aeR" = (/obj/structure/table/woodentable{dir = 5},/obj/item/reagent_containers/food/bloodsoup,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/holding)
-"aeS" = (/turf/simulated/floor/holofloor/lino,/area/eclipse/civilian/dormitory/holodeck/source_chess)
-"aeT" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet{dir = 8},/turf/simulated/floor/holofloor/carpet,/area/eclipse/civilian/dormitory/holodeck/source_meetinghall)
-"aeU" = (/obj/structure/holostool,/turf/simulated/floor/holofloor/carpet,/area/eclipse/civilian/dormitory/holodeck/source_meetinghall)
-"aeV" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet{dir = 4},/turf/simulated/floor/holofloor/carpet,/area/eclipse/civilian/dormitory/holodeck/source_meetinghall)
-"aeW" = (/obj/effect/floor_decal/corner/green/three_quarters{dir = 8},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_basketball)
-"aeX" = (/obj/effect/floor_decal/corner/green{dir = 5},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_basketball)
-"aeY" = (/obj/effect/floor_decal/corner/green/three_quarters{dir = 1},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_basketball)
-"aeZ" = (/obj/structure/window/reinforced/holowindow/disappearing{dir = 1},/obj/effect/floor_decal/corner/green/three_quarters{dir = 8},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_thunderdomecourt)
-"afa" = (/obj/structure/window/reinforced/holowindow/disappearing{dir = 1},/obj/effect/floor_decal/corner/green{dir = 5},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_thunderdomecourt)
-"afb" = (/obj/structure/window/reinforced/holowindow/disappearing{dir = 1},/obj/effect/floor_decal/corner/green/three_quarters{dir = 1},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_thunderdomecourt)
-"afc" = (/obj/effect/floor_decal/corner/blue/three_quarters,/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_boxingcourt)
-"afd" = (/obj/effect/floor_decal/corner/blue/three_quarters{dir = 4},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_boxingcourt)
+"aeT" = (/turf/unsimulated/wall{icon_state = "riveted_t"; dir = 8},/area/syndicate_mothership/elite_squad)
+"aeV" = (/obj/effect/decal/cleanable/cobweb,/obj/structure/closet,/obj/random/clothing/hat,/obj/random/junk,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"aeW" = (/turf/unsimulated/wall{icon_state = "riveted"; dir = 8},/area/skipjack_station/base)
+"aeX" = (/obj/machinery/door/airlock/hatch{req_access = list(150)},/turf/simulated/floor/shuttle/white{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"aeY" = (/obj/machinery/door/airlock/hatch{req_access = list(150)},/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"aeZ" = (/turf/unsimulated/wall{icon_state = "riveted_t"},/area/wizard_station)
+"afa" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 1},/area/syndicate_mothership/elite_squad)
+"afb" = (/obj/effect/floor_decal/industrial/warning/red{dir = 5},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"afc" = (/obj/item/clothing/suit/wizrobe/marisa,/obj/item/clothing/shoes/sandal/marisa,/obj/item/clothing/head/wizard/marisa,/obj/item/staff/broom,/obj/structure/closet/cabinet/wizcabinet,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
"afe" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north,/area/space)
"aff" = (/turf/unsimulated/beach/water{density = 1; opacity = 1},/area/beach)
"afg" = (/turf/unsimulated/beach/water,/area/beach)
"afh" = (/obj/machinery/light{dir = 8},/obj/item/device/radio/intercom/syndicate{dir = 4; pixel_x = -22},/obj/effect/floor_decal/corner/red{dir = 9},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
-"afi" = (/obj/effect/floor_decal/corner/green{dir = 9},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_basketball)
-"afj" = (/obj/effect/floor_decal/corner/green{dir = 6},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_basketball)
-"afk" = (/obj/effect/floor_decal/corner/green{dir = 9},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_thunderdomecourt)
-"afl" = (/obj/effect/floor_decal/corner/green{dir = 6},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_thunderdomecourt)
-"afm" = (/obj/effect/floor_decal/corner/green{dir = 10},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_boxingcourt)
-"afn" = (/obj/effect/floor_decal/corner/green/three_quarters{dir = 4},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_boxingcourt)
+"afi" = (/turf/unsimulated/wall{icon_state = "riveted_l"},/area/space)
+"afj" = (/obj/structure/bed/chair,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"afk" = (/obj/structure/table/steel,/obj/item/storage/box/handcuffs,/turf/simulated/floor/shuttle/red,/area/skipjack_station/start)
+"afl" = (/obj/structure/sign/flag/syndie,/turf/unsimulated/wall{icon_state = "riveted_straight"; dir = 8},/area/syndicate_mothership)
+"afm" = (/mob/living/simple_animal/faithful_hound,/obj/effect/floor_decal/industrial/warning/wiz{dir = 5},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/wizard_station)
+"afn" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"afo" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_t"; dir = 1},/area/shuttle/syndicate_elite/mothership)
-"afp" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
+"afp" = (/obj/structure/window_frame/indestructible/grille,/turf/unsimulated/floor{name = "plating"},/area/syndicate_mothership)
"afq" = (/turf/space/transit/south,/area/shuttle/syndicate_elite/transit)
-"afr" = (/obj/structure/flora/grass/brown,/turf/simulated/floor/holofloor/snow,/area/eclipse/civilian/dormitory/holodeck/source_snowfield)
-"afs" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet{dir = 4},/turf/simulated/floor/holofloor/carpet{dir = 8},/area/eclipse/civilian/dormitory/holodeck/source_meetinghall)
+"afr" = (/obj/effect/floor_decal/industrial/warning/red{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"aft" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space,/area/space)
-"afu" = (/obj/effect/floor_decal/corner/green{dir = 10},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_basketball)
-"afv" = (/obj/effect/overlay/palmtree_r,/obj/effect/overlay/coconut,/turf/simulated/floor/holofloor/beach/sand,/area/eclipse/civilian/dormitory/holodeck/source_beach)
+"afv" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 4},/area/alien)
"afw" = (/turf/space,/area/shuttle/escape/transit)
-"afx" = (/obj/structure/window/reinforced/holowindow{dir = 1},/turf/simulated/floor/holofloor/tiled/dark,/area/eclipse/civilian/dormitory/holodeck/source_boxingcourt)
-"afy" = (/obj/machinery/door/window/holowindoor{dir = 1; name = "Green Corner"},/turf/simulated/floor/holofloor/tiled/dark,/area/eclipse/civilian/dormitory/holodeck/source_boxingcourt)
"afz" = (/obj/structure/bed/chair/comfy/black,/obj/effect/landmark/start/antags/commando,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
-"afA" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 10},/turf/simulated/floor/holofloor/carpet,/area/eclipse/civilian/dormitory/holodeck/source_meetinghall)
-"afB" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet,/turf/simulated/floor/holofloor/carpet,/area/eclipse/civilian/dormitory/holodeck/source_meetinghall)
-"afC" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet{dir = 6},/turf/simulated/floor/holofloor/carpet,/area/eclipse/civilian/dormitory/holodeck/source_meetinghall)
-"afD" = (/obj/effect/overlay/palmtree_r,/turf/simulated/floor/holofloor/beach/sand,/area/eclipse/civilian/dormitory/holodeck/source_beach)
-"afE" = (/obj/effect/floor_decal/corner/green/three_quarters,/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_basketball)
-"afF" = (/obj/structure/holohoop{dir = 1},/obj/effect/floor_decal/corner/green{dir = 10},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_basketball)
-"afG" = (/obj/effect/floor_decal/corner/green/three_quarters{dir = 4},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_basketball)
-"afH" = (/obj/structure/table/holotable,/obj/effect/floor_decal/corner/green/three_quarters,/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_thunderdomecourt)
-"afI" = (/obj/structure/table/holotable,/obj/item/clothing/head/helmet/thunderdome,/obj/item/clothing/suit/armor/tdome/green,/obj/item/clothing/under/color/green,/obj/item/holo/esword/green,/obj/effect/floor_decal/corner/green{dir = 10},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_thunderdomecourt)
-"afJ" = (/obj/structure/table/holotable,/obj/machinery/readybutton,/obj/effect/floor_decal/corner/green/three_quarters{dir = 4},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_thunderdomecourt)
-"afK" = (/obj/structure/table/holotable,/obj/item/clothing/gloves/boxing/hologlove{icon_state = "boxinggreen"; item_state = "boxinggreen"},/turf/simulated/floor/holofloor/tiled/dark,/area/eclipse/civilian/dormitory/holodeck/source_boxingcourt)
-"afL" = (/obj/structure/window/reinforced/crescent{dir = 1},/turf/unsimulated/wall,/area/space)
-"afN" = (/obj/item/reagent_containers/food/checker/pawn{randpixel = 0},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_chess)
+"afA" = (/obj/structure/bookcase{name = "Forbidden Knowledge"},/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"afB" = (/turf/unsimulated/wall{icon_state = "riveted_straight"},/area/security/brig/solitary)
+"afE" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/shuttle/red,/area/skipjack_station/start)
+"afF" = (/obj/structure/sign/flag/syndie,/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 1},/area/syndicate_mothership)
+"afG" = (/obj/structure/table/steel,/obj/random/drinkbottle,/turf/simulated/floor/shuttle/red,/area/skipjack_station/start)
+"afH" = (/obj/effect/floor_decal/industrial/warning/red/corner{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"afI" = (/obj/structure/bed/chair/comfy/black,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_mothership)
+"afJ" = (/obj/machinery/light/small{dir = 4},/obj/vehicle/bike/thermal,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"afL" = (/obj/structure/table/woodentable,/obj/machinery/chemical_dispenser/bar_soft/full,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
"afP" = (/obj/structure/table/woodentable{dir = 5},/obj/item/reagent_containers/food/beetsoup,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/holding)
"afS" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_t"; dir = 8},/area/syndicate_mothership/ninja)
"afT" = (/turf/simulated/floor/shuttle/red,/turf/simulated/shuttle/wall/corner/syndi/se{icon_state = "corner_syndiwall_s"},/area/syndicate_mothership/ninja)
@@ -298,47 +223,45 @@
"afW" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "elite_syndicate_ship"; name = "Shuttle Blast Shutters"; opacity = 0},/obj/structure/window/syndi{icon_state = "ws1"},/turf/simulated/floor/plating,/area/shuttle/syndicate_elite/mothership)
"afX" = (/turf/simulated/floor/tiled/dark,/area/shuttle/syndicate_elite/mothership)
"afZ" = (/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/holding)
-"agb" = (/obj/item/reagent_containers/food/checker/pawn{randpixel = 0},/turf/simulated/floor/holofloor/tiled/dark,/area/eclipse/civilian/dormitory/holodeck/source_chess)
+"agb" = (/obj/structure/table/rack,/obj/item/clothing/suit/space/vox/medic,/obj/item/clothing/head/helmet/space/vox/medic,/obj/item/clothing/shoes/magboots/vox,/obj/item/clothing/gloves/vox,/obj/item/clothing/under/vox/vox_robes,/obj/item/clothing/accessory/holochip/vox,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"agd" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 6},/area/shuttle/syndicate_elite/mothership)
-"age" = (/obj/machinery/vending/tool,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
+"age" = (/obj/item/soap/syndie,/obj/machinery/shower{pixel_y = 24},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/syndicate_mothership)
"agf" = (/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/centcom/holding)
-"agg" = (/obj/machinery/button/remote/blast_door{id = "syndicate_elite_mech_room"; name = "Mech Access"; pixel_x = 32; req_access = list(150)},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
+"agg" = (/obj/structure/sign/flag/syndie,/turf/unsimulated/wall,/area/syndicate_mothership/elite_squad)
"agh" = (/obj/effect/floor_decal/industrial/outline/grey,/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled/dark,/area/shuttle/syndicate_elite/mothership)
"agi" = (/obj/structure/table/woodentable{dir = 5},/obj/item/reagent_containers/food/boiledrice,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/holding)
"agj" = (/obj/effect/floor_decal/corner/red{dir = 6},/obj/structure/bed/chair/shuttle/red{dir = 8},/turf/simulated/floor/tiled/dark,/area/shuttle/syndicate_elite/mothership)
"agk" = (/obj/structure/table/woodentable{dir = 5},/obj/item/reagent_containers/vessel/glass/square,/obj/effect/floor_decal/spline/fancy/wood{dir = 9},/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/holding)
-"agl" = (/obj/item/reagent_containers/food/checker/knight{randpixel = 0},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_chess)
"agm" = (/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1331; id_tag = "emerc_shuttle"; pixel_x = 25; req_access = list(150)},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1331; id_tag = "emerc_shuttle_pump"},/turf/simulated/floor/shuttle/red,/area/shuttle/syndicate_elite/mothership)
"agn" = (/obj/structure/table/glass,/obj/item/storage/secure/briefcase,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
"ago" = (/obj/item/toy/chubbyskeleton,/turf/unsimulated/beach/sand{icon_state = "desert3"},/area/centcom/holding)
"agp" = (/obj/machinery/light{dir = 4},/obj/effect/floor_decal/corner/red{dir = 6},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
"agq" = (/turf/space,/turf/simulated/shuttle/wall/corner/syndi/sw,/area/shuttle/syndicate_elite/mothership)
"agr" = (/obj/structure/toilet{dir = 1},/obj/effect/decal/cleanable/vomit,/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/syndicate_mothership/elite_squad)
-"ags" = (/obj/structure/bed,/obj/item/bedsheet/orange,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
+"ags" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_b"},/area/syndicate_station/start)
"agt" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor,/area/syndicate_mothership/elite_squad)
"agu" = (/obj/effect/floor_decal/corner/red/three_quarters{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
"agv" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_straight"; dir = 1},/area/shuttle/syndicate_elite/mothership)
-"agw" = (/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_chess)
+"agw" = (/obj/effect/floor_decal/industrial/warning/wiz{dir = 9},/obj/effect/floor_decal/industrial/warning/wiz{dir = 1},/turf/unsimulated/floor{icon_state = "asteroid"},/area/wizard_station)
"agx" = (/obj/effect/landmark/start/antags/ninja,/turf/simulated/floor/shuttle/red,/area/syndicate_mothership/ninja)
"agz" = (/obj/structure/window/syndi{icon_state = "ws2"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/ninja)
"agA" = (/obj/machinery/door/blast/regular{id = "thunderdomegen"; name = "General Supply"},/obj/machinery/door/blast/regular{dir = 4; id = "thunderdomegen"; name = "General Supply"},/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/tdome)
-"agC" = (/obj/structure/table/rack,/obj/item/clothing/suit/space/vox/stealth,/obj/item/clothing/head/helmet/space/vox/stealth,/obj/item/clothing/shoes/magboots/vox,/obj/item/clothing/gloves/vox,/obj/item/clothing/glasses/hud/plain/thermal/monocle,/obj/item/clothing/under/vox/vox_robes,/obj/item/clothing/accessory/holochip/vox,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"agF" = (/obj/item/stool/padded,/obj/effect/landmark/start/antags/vox,/turf/unsimulated/floor{dir = 8; icon_state = "wood"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"agG" = (/obj/machinery/door/airlock/glass_security{name = "Airlock"; req_access = list(150)},/obj/machinery/door/blast/regular{dir = 4; id = "syndicate_elite_mech_room"; name = "Mech Room Door"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
+"agC" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 4},/area/syndicate_station/start)
+"agF" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 1},/area/syndicate_mothership)
+"agG" = (/obj/structure/sink{dir = 1; pixel_y = 16},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/syndicate_mothership/elite_squad)
"agH" = (/obj/machinery/mech_recharger,/obj/mecha/combat/marauder/mauler,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
"agI" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_d"; dir = 4},/area/shuttle/syndicate_elite/mothership)
"agJ" = (/obj/machinery/door/airlock/hatch{name = "Restroom"; req_access = list(150)},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/syndicate_mothership/elite_squad)
"agK" = (/obj/effect/shuttle_landmark/elite_syndicate/internim,/turf/space/transit/south,/area/shuttle/syndicate_elite/transit)
"agL" = (/obj/effect/step_trigger/teleporter/random/admin,/turf/space,/area/space)
"agO" = (/obj/structure/bed/roller,/obj/effect/floor_decal/industrial/hatch/blue,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding)
-"agP" = (/obj/structure/sign/poster,/turf/unsimulated/wall,/area/skipjack_station/base)
-"agQ" = (/obj/item/reagent_containers/food/checker/pawn/red{randpixel = 0},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_chess)
+"agP" = (/turf/unsimulated/wall{icon_state = "riveted_l"},/area/syndicate_mothership)
"agR" = (/obj/effect/floor_decal/corner/green{dir = 6},/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/tdome)
-"agS" = (/obj/structure/closet/crate/medical,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
+"agS" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 8},/area/security/brig/solitary)
"agT" = (/turf/space,/turf/simulated/shuttle/wall/corner/syndi/se,/area/shuttle/syndicate_elite/mothership)
"agU" = (/obj/effect/floor_decal/corner/red{dir = 6},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
-"agV" = (/obj/structure/table/woodentable,/obj/machinery/chemical_dispenser/bar_alc/full{pixel_y = 2},/turf/unsimulated/floor{icon_state = "lino"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"agW" = (/turf/unsimulated/wall,/area/syndicate_mothership/elite_squad)
+"agV" = (/obj/structure/window_frame/reinforced/hull,/turf/simulated/floor/shuttle/white{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"agW" = (/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
"agY" = (/obj/structure/window/syndi{icon_state = "ws1"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/ninja)
"agZ" = (/obj/effect/landmark/start/antags/commando,/obj/structure/bed/chair/comfy/black{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
"aha" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north,/area/space)
@@ -348,9 +271,9 @@
"ahe" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north,/area/space)
"ahf" = (/turf/space/transit/north,/area/syndicate_station/transit)
"ahg" = (/obj/structure/table/steel_reinforced,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
-"ahh" = (/obj/item/reagent_containers/food/checker/queen{randpixel = 0},/turf/simulated/floor/holofloor/tiled/dark,/area/eclipse/civilian/dormitory/holodeck/source_chess)
+"ahh" = (/obj/structure/table/woodentable,/obj/item/reagent_containers/food/chawanmushi,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
"ahi" = (/obj/effect/shuttle_landmark/syndi/internim,/turf/space/transit/north,/area/syndicate_station/transit)
-"ahj" = (/obj/machinery/washing_machine,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
+"ahj" = (/obj/effect/floor_decal/spline/plain/black{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"ahk" = (/obj/machinery/computer/teleporter,/turf/simulated/floor/plating,/area/syndicate_mothership/ninja)
"ahl" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "elite_syndicate_ship"; name = "Shuttle Blast Shutters"; opacity = 0},/obj/structure/window/syndi,/turf/simulated/floor/plating/airless,/area/shuttle/syndicate_elite/mothership)
"ahm" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced/crescent{dir = 1},/turf/simulated/floor/plating/airless,/area/syndicate_mothership/ninja)
@@ -392,7 +315,7 @@
"ahW" = (/turf/unsimulated/mineral,/area/rescue_base/base)
"ahX" = (/turf/unsimulated/wall,/area/rescue_base/base)
"ahY" = (/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"aia" = (/obj/structure/table/woodentable,/obj/item/flame/lighter/zippo,/turf/unsimulated/floor{icon_state = "lino"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
+"aia" = (/obj/machinery/door/airlock/external{icon_state = "door_locked"; frequency = 1331; locked = 1; id_tag = "emerc_airlock_dock_door"},/turf/simulated/floor,/area/syndicate_mothership/elite_squad)
"aib" = (/turf/unsimulated/wall{desc = "A secure airlock. Doesn't look like you can get through easily."; icon = 'icons/obj/doors/Doorele.dmi'; icon_state = "door_locked"; name = "Facility Access"},/area/rescue_base/base)
"aic" = (/obj/structure/table/steel_reinforced,/obj/item/material/hatchet/tacknife,/turf/unsimulated/floor{icon_state = "dark"},/area/rescue_base/base)
"aid" = (/obj/structure/table/steel_reinforced,/obj/item/storage/firstaid/regular,/turf/unsimulated/floor{icon_state = "dark"},/area/rescue_base/base)
@@ -413,7 +336,7 @@
"ais" = (/obj/structure/closet/emcloset,/obj/machinery/light{dir = 1},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
"ait" = (/obj/machinery/vending/cola,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
"aiu" = (/obj/structure/table/standard,/obj/item/toy/plushie/farwa,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
-"aiv" = (/obj/structure/largecrate/animal/cow,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
+"aiv" = (/turf/unsimulated/wall{icon_state = "riveted"; dir = 1},/area/syndicate_mothership)
"aiw" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "escape_pod_3_recovery"; pixel_x = 25; pixel_y = 30; req_one_access = list(13); tag_door = "escape_pod_3_recovery_hatch"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor2"},/area/centcom/evac)
"aix" = (/obj/item/stool/padded,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
"aiy" = (/obj/machinery/computer/arcade,/obj/machinery/light{dir = 1},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
@@ -422,7 +345,7 @@
"aiB" = (/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/floor/plating,/area/centcom/evac)
"aiC" = (/obj/machinery/vending/engineering,/turf/simulated/floor/plating,/area/centcom/evac)
"aiD" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
-"aiE" = (/obj/item/reagent_containers/food/checker/queen/red{randpixel = 0},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_chess)
+"aiE" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
"aiF" = (/obj/structure/table/steel_reinforced,/obj/item/device/taperecorder,/turf/unsimulated/floor{icon_state = "dark"},/area/rescue_base/base)
"aiG" = (/turf/unsimulated/floor{icon_state = "dark"},/area/rescue_base/base)
"aiH" = (/obj/structure/table/steel_reinforced,/obj/item/bikehorn/rubberducky,/turf/unsimulated/floor{icon_state = "dark"},/area/rescue_base/base)
@@ -452,10 +375,9 @@
"ajf" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"; dir = 10},/area/centcom/evac)
"ajg" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
"ajh" = (/obj/structure/bed/chair,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
-"aji" = (/obj/effect/overlay/palmtree_l,/turf/simulated/floor/holofloor/beach/sand,/area/eclipse/civilian/dormitory/holodeck/source_beach)
+"aji" = (/obj/structure/table/steel,/obj/item/storage/firstaid,/turf/simulated/floor/shuttle/red,/area/skipjack_station/start)
"ajj" = (/obj/structure/table/standard,/obj/item/clipboard,/obj/item/pen,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
"ajk" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space,/area/space)
-"ajl" = (/turf/unsimulated/beach/sand{tag = "icon-beach"; icon_state = "beach"; dir = 9},/area/eclipse/civilian/dormitory/holodeck/source_beach)
"ajm" = (/obj/structure/mopbucket,/obj/item/mop,/obj/effect/floor_decal/corner/blue/diagonal,/obj/structure/sink/kitchen{pixel_y = 21},/turf/unsimulated/floor{icon_state = "dark"},/area/rescue_base/base)
"ajn" = (/obj/structure/reagent_dispensers/watertank,/obj/effect/floor_decal/corner/blue/diagonal,/obj/item/device/radio/intercom/specops{pixel_y = 22},/turf/unsimulated/floor{icon_state = "dark"},/area/rescue_base/base)
"ajo" = (/obj/structure/table/reinforced,/obj/machinery/chemical_dispenser/bar_soft/full,/obj/effect/floor_decal/corner/blue/diagonal,/obj/item/device/radio/intercom/specops{pixel_y = 22},/turf/unsimulated/floor{icon_state = "dark"},/area/rescue_base/base)
@@ -473,7 +395,7 @@
"ajA" = (/turf/space,/area/shuttle/escape_pod5/centcom)
"ajB" = (/obj/structure/table/standard,/obj/machinery/light{dir = 8},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
"ajC" = (/obj/structure/bed/chair{dir = 4},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
-"ajD" = (/obj/structure/closet,/obj/random/contraband,/obj/random/contraband,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
+"ajD" = (/obj/machinery/vending/cola{name = "hacked Robust Softdrinks"; prices = list()},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_mothership)
"ajE" = (/obj/structure/table/standard,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
"ajF" = (/obj/structure/bed/chair{dir = 8},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
"ajG" = (/obj/machinery/vending/snack,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
@@ -548,9 +470,9 @@
"akX" = (/obj/structure/table/reinforced,/obj/item/paper_bin,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac)
"akY" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac)
"akZ" = (/obj/structure/table/reinforced,/obj/item/pen,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac)
-"ala" = (/obj/structure/table/standard,/obj/item/device/flashlight/lamp{pixel_x = 4; pixel_y = 8},/turf/unsimulated/floor{icon_state = "lino"},/area/syndicate_mothership)
+"ala" = (/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/wizard_station)
"alb" = (/obj/structure/table/standard,/obj/effect/landmark/event/nuke/code,/turf/unsimulated/floor{icon_state = "lino"},/area/syndicate_mothership)
-"alc" = (/obj/structure/table/standard,/obj/item/paper_bin{pixel_x = -3; pixel_y = 8},/obj/item/pen{pixel_y = 4},/turf/unsimulated/floor{icon_state = "lino"},/area/syndicate_mothership)
+"alc" = (/turf/unsimulated/wall{icon_state = "riveted"; dir = 1},/area/space)
"ald" = (/obj/item/clothing/shoes/orange,/obj/item/clothing/under/color/orange,/obj/structure/closet{name = "Prisoner's Locker"},/turf/unsimulated/floor{icon_state = "dark"},/area/rescue_base/base)
"ale" = (/obj/machinery/sleeper{dir = 4},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor3"},/area/centcom/evac)
"alf" = (/obj/machinery/door/airlock/hatch{name = "Infirmary"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor3"},/area/centcom/evac)
@@ -558,14 +480,14 @@
"alh" = (/obj/structure/bed/chair{dir = 1},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac)
"ali" = (/obj/structure/shuttle/engine/propulsion/burst/huge,/turf/space,/area/syndicate_station/start)
"alj" = (/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac)
-"alk" = (/obj/effect/wingrille_spawn/reinforced/crescent,/turf/unsimulated/wall/fakeglass{dir = 1},/area/syndicate_mothership)
+"alk" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_b"; dir = 4},/area/syndicate_station/start)
"all" = (/obj/structure/bed,/obj/item/bedsheet/hos,/turf/unsimulated/floor{icon_state = "lino"},/area/syndicate_mothership)
"alm" = (/obj/effect/landmark/start/antags/operatives,/turf/unsimulated/floor{icon_state = "lino"},/area/syndicate_mothership)
"aln" = (/turf/unsimulated/floor{icon_state = "lino"},/area/syndicate_mothership)
"alo" = (/obj/structure/undies_wardrobe,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"alp" = (/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = -30},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor3"},/area/centcom/evac)
"alq" = (/obj/structure/grille,/obj/structure/window/shuttle{icon_state = "window-whiteship"},/turf/simulated/floor/plating,/area/centcom/evac)
-"alr" = (/obj/effect/wingrille_spawn/reinforced/crescent,/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 1},/area/syndicate_mothership)
+"alr" = (/obj/machinery/washing_machine,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"als" = (/obj/machinery/door/airlock/centcom{name = "Ready Room"; opacity = 1; req_access = list(103)},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
"alt" = (/obj/structure/table/rack,/obj/item/storage/box/handcuffs,/obj/item/storage/box/handcuffs,/obj/item/storage/box/teargas,/obj/item/storage/box/teargas,/obj/item/storage/box/flashbangs,/obj/item/storage/box/flashbangs,/obj/item/device/flash,/obj/item/device/flash,/obj/item/melee/baton/loaded,/obj/item/melee/baton/loaded,/obj/item/reagent_containers/spray/pepper,/obj/item/reagent_containers/spray/pepper,/obj/item/gun/energy/stunrevolver,/obj/item/gun/energy/stunrevolver,/obj/item/melee/telebaton,/obj/item/melee/telebaton,/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = 32},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"alu" = (/obj/structure/table/rack,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/glasses/hud/scanners/night,/obj/item/clothing/glasses/hud/scanners/night,/obj/item/clothing/glasses/tacgoggles,/obj/item/clothing/glasses/tacgoggles,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
@@ -591,7 +513,7 @@
"alO" = (/obj/machinery/door/window/northright{dir = 4; name = "Security Desk"; req_access = list(103)},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac)
"alP" = (/obj/machinery/light,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac)
"alQ" = (/obj/structure/table/standard,/obj/item/storage/box/handcuffs,/obj/item/device/flash,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac)
-"alR" = (/obj/effect/wingrille_spawn/reinforced/crescent,/turf/unsimulated/wall/fakeglass,/area/syndicate_mothership)
+"alR" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
"alS" = (/obj/machinery/vending/snack{prices = list()},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"alT" = (/obj/machinery/vending/cola{prices = list()},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"alU" = (/obj/machinery/vending/cigarette{prices = list()},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
@@ -621,7 +543,7 @@
"ams" = (/obj/machinery/chemical_dispenser/full,/obj/item/reagent_containers/vessel/beaker/large,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"amt" = (/obj/structure/table/reinforced,/obj/machinery/light{dir = 8},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
"amu" = (/obj/item/device/radio/off,/obj/structure/table/reinforced,/obj/machinery/light{dir = 4},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
-"amv" = (/obj/effect/wingrille_spawn/reinforced/crescent,/turf/unsimulated/floor{name = "plating"},/area/syndicate_mothership)
+"amv" = (/obj/item/clothing/suit/wizrobe/red,/obj/item/clothing/shoes/sandal,/obj/item/clothing/head/wizard/red,/obj/item/staff,/obj/structure/closet/cabinet/wizcabinet,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
"amw" = (/obj/machinery/door/airlock/centcom{name = "Barracks"; opacity = 1; req_access = list(150)},/turf/unsimulated/floor{icon_state = "lino"},/area/syndicate_mothership)
"amx" = (/obj/structure/table/reinforced,/obj/item/storage/fancy/cigar,/turf/unsimulated/floor{icon_state = "dark"},/area/rescue_base/base)
"amy" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "dark"},/area/rescue_base/base)
@@ -645,12 +567,12 @@
"amQ" = (/obj/item/clipboard,/obj/item/pen,/obj/structure/table/reinforced,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
"amR" = (/obj/item/paper_bin,/obj/structure/table/reinforced,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
"amS" = (/obj/effect/shuttle_landmark/skipjack/internim,/turf/space/transit/north,/area/skipjack_station/transit)
-"amT" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "syndieshutters"; name = "Shuttle Blast Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/syndicate_station/start)
+"amT" = (/obj/structure/bed/chair{dir = 1},/obj/item/clothing/head/pirate,/obj/effect/shuttle_landmark/skipjack/start,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
"amU" = (/turf/space,/turf/simulated/shuttle/wall/corner/syndi/nw,/area/syndicate_station/start)
-"amV" = (/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership)
-"amW" = (/obj/structure/sign/double/map/left{pixel_y = 32},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership)
-"amX" = (/obj/structure/sign/double/map/right{pixel_y = 32},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership)
-"amY" = (/obj/machinery/vending/snack{name = "hacked Getmore Chocolate Corp"; prices = list()},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership)
+"amV" = (/obj/structure/sink{dir = 8; pixel_x = -12; pixel_y = 2},/obj/random/trash,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"amW" = (/obj/item/stool/padded,/obj/effect/landmark/start/antags/vox,/turf/unsimulated/floor{icon_state = "wood"; dir = 8; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"amX" = (/obj/item/robot_parts/robot_suit,/obj/item/robot_parts/r_arm,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"amY" = (/obj/structure/table/woodentable,/obj/item/pizzabox/meat,/turf/unsimulated/floor{icon_state = "lino"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"amZ" = (/obj/structure/table/standard,/obj/machinery/chemical_dispenser/bar_soft/full{pixel_x = 2; pixel_y = 6},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership)
"ana" = (/obj/structure/table/standard,/obj/item/storage/box/glasses/square{pixel_x = 1; pixel_y = 4},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership)
"anb" = (/obj/structure/sink/kitchen{pixel_y = 28},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership)
@@ -674,7 +596,7 @@
"ant" = (/obj/machinery/computer/shuttle_control/multi/syndicate,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"anu" = (/obj/structure/computerframe,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"anv" = (/obj/machinery/button/remote/blast_door{id = "syndieshutters"; name = "remote shutter control"; req_access = list(150)},/obj/structure/table/reinforced,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
-"anw" = (/obj/structure/bed/chair/comfy/black,/turf/unsimulated/floor{icon_state = "cult"; name = "plating"},/area/syndicate_mothership)
+"anw" = (/obj/structure/sink,/turf/unsimulated/wall{icon_state = "riveted_straight"; dir = 4},/area/wizard_station)
"anx" = (/obj/machinery/door/airlock/centcom{name = "Kitchen"; opacity = 1; req_access = list(150)},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership)
"any" = (/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership)
"anz" = (/obj/structure/table/reinforced,/obj/machinery/microwave{pixel_x = -1; pixel_y = 8},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership)
@@ -685,13 +607,13 @@
"anE" = (/obj/machinery/microwave{pixel_x = -1; pixel_y = 2},/obj/structure/table/reinforced,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"anF" = (/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"anG" = (/obj/effect/shuttle_landmark/syndi/start,/obj/structure/bed/chair/comfy/captain{dir = 1},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
-"anH" = (/obj/structure/bed/chair/comfy/black{dir = 4},/turf/unsimulated/floor{icon_state = "cult"; name = "plating"},/area/syndicate_mothership)
-"anI" = (/obj/item/folder{pixel_y = 2},/obj/structure/table/glass,/obj/item/flame/lighter/zippo/syndie,/obj/item/deck/cards,/obj/item/music_tape_box/syndie,/turf/unsimulated/floor{icon_state = "cult"; name = "plating"},/area/syndicate_mothership)
-"anJ" = (/obj/item/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/pen{pixel_y = 4},/obj/structure/table/glass,/obj/item/clothing/glasses/rglasses,/turf/unsimulated/floor{icon_state = "cult"; name = "plating"},/area/syndicate_mothership)
-"anK" = (/obj/structure/bed/chair/comfy/black{dir = 8},/turf/unsimulated/floor{icon_state = "cult"; name = "plating"},/area/syndicate_mothership)
+"anH" = (/obj/effect/decal/cleanable/blood/oil,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"anI" = (/obj/structure/mirror,/turf/unsimulated/wall{icon_state = "riveted_straight"; dir = 8},/area/syndicate_mothership/elite_squad)
+"anJ" = (/mob/living/simple_animal/hostile/retaliate/goat{name = "Experiment 97d"},/obj/effect/floor_decal/industrial/warning/wiz,/turf/unsimulated/floor{name = "grass"; icon_state = "grass0"},/area/wizard_station)
+"anK" = (/obj/effect/floor_decal/industrial/warning/red{dir = 4},/obj/effect/floor_decal/industrial/warning/red{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"anL" = (/obj/structure/table/reinforced,/obj/item/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership)
"anM" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/green,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/green,/obj/effect/floor_decal/industrial/hatch/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
-"anN" = (/obj/structure/closet/crate/bin,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
+"anN" = (/obj/item/wrench,/obj/item/crowbar,/obj/item/gun/energy/crossbow,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
"anO" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/blue,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/blue,/obj/effect/floor_decal/industrial/hatch/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"anP" = (/obj/structure/flora/ausbushes/sunnybush,/turf/unsimulated/floor{icon_state = "asteroid"},/area/rescue_base/base)
"anQ" = (/obj/machinery/computer/arcade,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
@@ -704,8 +626,8 @@
"anX" = (/obj/item/storage/box/donkpockets{pixel_x = 2; pixel_y = 3},/obj/machinery/light{dir = 8},/obj/structure/table/reinforced,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"anY" = (/obj/structure/bed/chair/shuttle/blue{dir = 4},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"anZ" = (/obj/structure/computerframe,/obj/machinery/light{dir = 4},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
-"aoa" = (/obj/structure/bed/chair/comfy/black{dir = 1},/turf/unsimulated/floor{icon_state = "cult"; name = "plating"},/area/syndicate_mothership)
-"aob" = (/obj/machinery/vending/cola{name = "hacked Robust Softdrinks"; prices = list()},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership)
+"aoa" = (/obj/structure/table/woodentable,/obj/item/storage/fancy/cigarettes,/turf/unsimulated/floor{icon_state = "lino"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"aob" = (/obj/structure/mirror/magic{pixel_y = 30},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/wizard_station)
"aoc" = (/obj/structure/closet/secure_closet/freezer/kitchen{req_access = list(150)},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership)
"aod" = (/obj/structure/table/reinforced,/obj/item/tray{pixel_y = 5},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership)
"aoe" = (/obj/structure/table/reinforced,/obj/item/reagent_containers/vessel/bottle/vodka{pixel_x = 3; pixel_y = 12},/obj/item/reagent_containers/vessel/bottle/wine{pixel_x = -1; pixel_y = 8},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership)
@@ -720,7 +642,7 @@
"aon" = (/obj/item/stack/material/glass{amount = 15},/obj/structure/table/reinforced,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"aoo" = (/obj/machinery/light,/obj/item/device/radio/intercom/syndicate{dir = 1; pixel_y = -22},/obj/machinery/recharge_station,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"aop" = (/obj/item/paper_bin{pixel_x = -3; pixel_y = 8},/obj/item/pen{pixel_y = 4},/obj/structure/table/reinforced,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
-"aoq" = (/obj/machinery/vending/cigarette{name = "hacked cigarette machine"; prices = list(); products = list(/obj/item/storage/fancy/cigarettes = 10, /obj/item/storage/box/matches = 10, /obj/item/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2)},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/syndicate_mothership)
+"aoq" = (/obj/structure/table/rack,/obj/item/storage/belt/utility/full,/obj/item/storage/belt/utility/full,/obj/item/device/multitool,/obj/item/device/multitool,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
"aor" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/engie,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/engie,/obj/effect/floor_decal/industrial/hatch/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"aos" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/red,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/red,/obj/effect/floor_decal/industrial/hatch/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"aot" = (/obj/structure/table/reinforced,/obj/item/storage/box/trackimp,/obj/item/storage/box/cdeathalarm_kit,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
@@ -733,12 +655,12 @@
"aoA" = (/obj/machinery/pipedispenser/orderable,/obj/item/device/radio/intercom/specops{pixel_y = 22},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"aoB" = (/obj/machinery/pipedispenser/disposal/orderable,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"aoC" = (/obj/effect/floor_decal/industrial/hatch/yellow,/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/rescue_base/base)
-"aoD" = (/obj/item/inflatable_duck,/turf/simulated/floor/holofloor/beach/sand,/area/eclipse/civilian/dormitory/holodeck/source_beach)
+"aoD" = (/obj/item/clothing/shoes/sandal/marisa{name = "Gentlemans Shoes"; desc = "A set of fancy shoes that are as functional as they are comfortable."},/obj/item/clothing/under/gentlesuit,/obj/item/clothing/suit/wizrobe/gentlecoat,/obj/item/clothing/head/wizard/cap,/obj/item/staff/gentcane,/obj/structure/closet/cabinet/wizcabinet,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
"aoE" = (/obj/machinery/door/window/northright{name = "Flight Deck"; req_access = list(150)},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"aoF" = (/turf/simulated/floor/plating/airless,/area/skipjack_station/start)
"aoH" = (/obj/structure/urinal{pixel_y = 32},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/syndicate_mothership)
-"aoI" = (/obj/machinery/shower{pixel_y = 32},/obj/structure/window/basic{dir = 8},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/syndicate_mothership)
-"aoJ" = (/obj/machinery/shower{pixel_y = 32},/obj/item/soap/syndie,/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/syndicate_mothership)
+"aoI" = (/obj/item/target,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/wizard_station)
+"aoJ" = (/obj/machinery/door/blast/regular{name = "Shuttle Blast Shutters"; icon_state = "pdoor0"; opacity = 0; density = 0; dir = 4; id = "syndieshutters"},/obj/structure/window/syndi{icon_state = "ws6"},/turf/simulated/floor/plating,/area/syndicate_station/start)
"aoK" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black,/obj/effect/floor_decal/industrial/hatch/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"aoL" = (/obj/structure/table/rack,/obj/item/clothing/suit/armor/vest{pixel_x = 2; pixel_y = 2},/obj/item/clothing/suit/armor/vest,/obj/effect/floor_decal/industrial/hatch/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"aoM" = (/obj/structure/bed/chair/office/dark,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
@@ -769,7 +691,7 @@
"apl" = (/obj/structure/bed/chair/shuttle/red{dir = 8},/obj/effect/floor_decal/industrial/warning/red{dir = 8},/turf/simulated/floor,/area/syndicate_station/start)
"apm" = (/obj/structure/closet,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"apn" = (/obj/structure/mirror{dir = 4; pixel_x = -32},/obj/structure/sink{dir = 8; pixel_x = -12; pixel_y = 2},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/syndicate_mothership)
-"apo" = (/obj/machinery/door/airlock/centcom{name = "Suit Storage"; opacity = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"apo" = (/obj/item/remains/human,/obj/effect/floor_decal/industrial/warning/wiz{dir = 6},/turf/unsimulated/floor{name = "plating"; icon_state = "lava"},/area/wizard_station)
"app" = (/obj/structure/table/steel,/turf/unsimulated/floor{icon_state = "dark"},/area/rescue_base/base)
"apq" = (/obj/structure/bed/chair/office/dark{dir = 4},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
"apr" = (/obj/structure/table/rack,/obj/item/storage/box/flashbangs,/obj/item/storage/box/teargas,/obj/item/storage/box/handcuffs,/obj/item/melee/baton/loaded,/obj/item/gun/energy/stunrevolver,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
@@ -785,8 +707,8 @@
"apB" = (/obj/machinery/recharger/wallcharger{pixel_x = -25},/obj/machinery/light{dir = 8},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"apC" = (/obj/structure/closet,/obj/item/reagent_containers/food/liquidfood,/obj/item/reagent_containers/food/liquidfood,/obj/item/reagent_containers/food/liquidfood,/obj/item/reagent_containers/food/liquidfood,/obj/machinery/light{dir = 4},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"apD" = (/obj/structure/table/rack,/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/effect/floor_decal/industrial/hatch/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
-"apE" = (/obj/machinery/autolathe{desc = "Your typical Autolathe. It appears to have much more options than your regular one, however..."; hacked = 1; name = "Unlocked Autolathe"},/obj/effect/floor_decal/industrial/hatch/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
-"apF" = (/obj/structure/table/rack,/obj/item/gun/energy/ionrifle,/obj/item/gun/energy/ionrifle,/obj/machinery/recharger/wallcharger{pixel_x = 5; pixel_y = 32},/obj/effect/floor_decal/industrial/hatch/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"apE" = (/obj/structure/table/woodentable,/obj/item/spacecash/bundle/c1,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"apF" = (/obj/effect/floor_decal/industrial/warning/wiz{dir = 1},/turf/unsimulated/floor{name = "grass"; icon_state = "grass0"},/area/wizard_station)
"apG" = (/obj/structure/table/rack,/obj/item/ammo_magazine/a10mm,/obj/item/ammo_magazine/a10mm,/obj/item/ammo_magazine/a10mm,/obj/item/ammo_magazine/a10mm,/obj/item/ammo_magazine/a10mm,/obj/item/ammo_magazine/a10mm,/obj/item/gun/projectile/automatic/c20r,/obj/item/gun/projectile/automatic/c20r,/obj/item/gun/projectile/automatic/c20r,/obj/effect/floor_decal/industrial/hatch/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"apH" = (/obj/item/modular_computer/console/preset/command,/obj/item/card/id/centcom,/turf/unsimulated/floor{icon_state = "dark"},/area/rescue_base/base)
"apI" = (/obj/structure/closet/secure_closet/hos,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
@@ -824,20 +746,20 @@
"aqo" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 1},/obj/machinery/airlock_sensor{frequency = 1331; id_tag = "merc_shuttle_sensor"; pixel_x = 8; pixel_y = 25},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"aqp" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1331; id_tag = "merc_shuttle_pump"},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1331; id_tag = "merc_shuttle"; pixel_x = -8; pixel_y = 25; req_access = list(150)},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"aqq" = (/obj/machinery/door/airlock/external{frequency = 1331; id_tag = "merc_shuttle_outer"; name = "Ship External Access"; req_access = list(150)},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "smindicate"; name = "Outer Airlock"; opacity = 0},/turf/simulated/floor/plating,/area/syndicate_station/start)
-"aqr" = (/obj/machinery/door/airlock/external{frequency = 1331; id_tag = "merc_base_hatch"; req_access = list(150)},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"aqr" = (/turf/unsimulated/wall{icon_state = "riveted"; dir = 1},/area/wizard_station)
"aqs" = (/obj/structure/window/reinforced/crescent{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"aqt" = (/obj/machinery/door/airlock/vault{name = "Armory"; req_access = list(150)},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
-"aqu" = (/obj/structure/closet/crate/bin,/turf/unsimulated/floor{icon_state = "cult"; name = "plating"},/area/syndicate_mothership)
+"aqu" = (/turf/unsimulated/wall{icon_state = "riveted_t"},/area/security/brig/solitary)
"aqv" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/obj/effect/floor_decal/industrial/hatch/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"aqw" = (/obj/structure/table/woodentable{dir = 5},/obj/item/material/ashtray/bronze,/obj/item/cigbutt/cigarbutt,/obj/item/device/radio/phone{desc = "Should anything ever go wrong..."; frequency = 1345},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/rescue_base/base)
"aqx" = (/obj/structure/bed/chair/comfy/brown{dir = 1},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/rescue_base/base)
"aqy" = (/obj/structure/table/woodentable{dir = 5},/obj/item/storage/fancy/cigar,/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/rescue_base/base)
"aqz" = (/obj/machinery/door/airlock/centcom{name = "Combat Exosuit"; opacity = 1; req_access = list(103)},/obj/machinery/door/blast/regular{id = "heavyrescue"; name = "Combat Exosuit"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
"aqA" = (/obj/mecha/combat/gygax/dark,/obj/machinery/mech_recharger,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
-"aqB" = (/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/syndicate_station/start)
+"aqB" = (/obj/machinery/vending/boozeomat,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"aqC" = (/turf/simulated/floor/shuttle/black,/area/syndicate_station/start)
"aqD" = (/obj/item/cigbutt,/turf/simulated/floor/shuttle/black,/area/syndicate_station/start)
-"aqE" = (/obj/machinery/door/window{dir = 2; name = "Seating"; req_access = list(150)},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"aqE" = (/obj/effect/floor_decal/industrial/warning/wiz{dir = 5},/turf/unsimulated/floor{icon_state = "asteroid"},/area/wizard_station)
"aqF" = (/obj/structure/table/standard,/obj/machinery/computer/pod/old/syndicate{id = "smindicate"},/obj/machinery/door/window{name = "Blast Door Control"; req_access = list(150)},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"aqG" = (/obj/machinery/atmospherics/pipe/manifold4w/visible,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"aqH" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1331; id_tag = "merc_shuttle_pump"},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
@@ -955,7 +877,7 @@
"asQ" = (/turf/unsimulated/wall{desc = "That looks like it doesn't open easily."; icon = 'icons/obj/doors/rapid_pdoor.dmi'; icon_state = "pdoor1"; name = "Shuttle Bay Blast Door"},/area/centcom/suppy)
"asR" = (/obj/item/device/radio/intercom/syndicate{dir = 4; pixel_x = -22},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"asS" = (/obj/item/screwdriver,/obj/effect/spawner/newbomb/timer/syndicate,/obj/structure/table/steel,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
-"asT" = (/obj/structure/table/rack,/obj/item/rig/syndi/empty,/obj/effect/floor_decal/industrial/warning/full,/obj/item/clothing/accessory/holochip/nuke,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"asT" = (/obj/structure/table/standard,/obj/item/paper_bin{pixel_x = -3; pixel_y = 8},/turf/unsimulated/floor{icon_state = "lino"},/area/syndicate_mothership)
"asU" = (/obj/structure/table/steel_reinforced,/turf/simulated/floor/shuttle/black,/area/rescue_base/start)
"asV" = (/obj/structure/bed/chair/shuttle/black{dir = 1},/turf/simulated/floor/shuttle/black,/area/rescue_base/start)
"asW" = (/obj/structure/table/steel_reinforced,/obj/item/device/radio/intercom/specops{dir = 8; pixel_x = 22},/turf/simulated/floor/shuttle/black,/area/rescue_base/start)
@@ -1009,7 +931,7 @@
"atS" = (/obj/machinery/light{dir = 4},/turf/simulated/floor/shuttle/blue,/area/supply/dock)
"atT" = (/obj/machinery/button/remote/blast_door{id = "syndieshutters_infirmary"; name = "remote shutter control"; pixel_x = -25},/obj/structure/mopbucket,/turf/simulated/floor/shuttle/white,/area/syndicate_station/start)
"atU" = (/obj/machinery/light{dir = 4},/obj/item/device/radio/intercom/syndicate{dir = 8; pixel_x = 22},/turf/simulated/floor/shuttle/white,/area/syndicate_station/start)
-"atV" = (/obj/machinery/door/window{dir = 1; name = "Secure Storage"; req_access = list(150)},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"atV" = (/obj/structure/table/rack/dark,/obj/random/projectile,/obj/random/projectile,/obj/random/ammo,/obj/random/ammo,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"atW" = (/obj/structure/table/rack,/obj/item/storage/belt/utility/full,/obj/item/device/multitool,/obj/machinery/light{dir = 8},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"atX" = (/obj/structure/table/rack,/obj/item/storage/belt/utility/full,/obj/item/device/multitool,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"atY" = (/obj/machinery/button/remote/blast_door{id = "syndieshutters_telebay"; name = "remote shutter control"; pixel_y = -25; req_access = list(150)},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
@@ -1093,7 +1015,7 @@
"avy" = (/obj/item/stool{pixel_y = 8},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/living)
"avz" = (/turf/space,/turf/simulated/shuttle/wall/corner/syndi/ne,/area/syndicate_station/start)
"avA" = (/turf/space,/area/syndicate_station/start)
-"avB" = (/obj/structure/flora/ausbushes/ywflowers,/obj/effect/floor_decal/spline/fancy/wood{dir = 8},/turf/simulated/floor/holofloor/grass,/area/eclipse/civilian/dormitory/holodeck/source_picnicarea)
+"avB" = (/obj/structure/flora/ausbushes/grassybush,/obj/effect/floor_decal/industrial/warning/wiz{dir = 10},/turf/unsimulated/floor{name = "grass"; icon_state = "grass0"},/area/wizard_station)
"avC" = (/turf/simulated/shuttle/wall{icon_state = "whiteship_t"; dir = 4},/area/shuttle/escape/centcom)
"avD" = (/turf/space,/turf/simulated/shuttle/wall/corner/syndi/sw,/area/syndicate_station/start)
"avE" = (/obj/structure/closet,/turf/simulated/floor/shuttle/black,/area/rescue_base/start)
@@ -1199,7 +1121,7 @@
"axA" = (/obj/machinery/telecomms/processor/preset_cent,/obj/effect/floor_decal/corner/green{dir = 5},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
"axB" = (/obj/machinery/telecomms/server/presets/centcomm,/obj/effect/floor_decal/corner/green{dir = 5},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
"axC" = (/obj/machinery/computer/account_database{name = "CentComm Accounts database"},/obj/effect/floor_decal/corner/green{dir = 5},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
-"axD" = (/obj/structure/closet/crate,/obj/item/reagent_containers/syringe/drugs,/obj/item/reagent_containers/syringe/drugs,/obj/item/reagent_containers/syringe/drugs,/obj/item/crowbar,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
+"axD" = (/obj/structure/closet,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
"axE" = (/obj/machinery/computer/teleporter,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
"axG" = (/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
"axH" = (/obj/machinery/door/airlock/centcom{name = "Cell"; opacity = 1; req_access = list(103)},/turf/simulated/floor/shuttle/black,/area/rescue_base/start)
@@ -1637,11 +1559,11 @@
"aFY" = (/obj/machinery/ai_status_display{layer = 3.1; pixel_y = 32},/obj/structure/bed/chair/shuttle/blue,/turf/simulated/floor/shuttle/white,/area/shuttle/escape/centcom)
"aFZ" = (/obj/machinery/light{dir = 4},/obj/structure/closet/walllocker/emerglocker/east,/turf/simulated/floor/shuttle/blue,/area/shuttle/escape/centcom)
"aGa" = (/obj/structure/bed/chair{dir = 4},/obj/structure/closet/walllocker/emerglocker/west,/turf/simulated/floor/shuttle/white,/area/shuttle/transport/centcom)
-"aGb" = (/obj/structure/closet/crate/trashcart,/obj/random/drinkbottle,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
+"aGb" = (/turf/unsimulated/wall{icon_state = "riveted"},/area/syndicate_mothership)
"aGc" = (/obj/machinery/light{dir = 4},/obj/structure/bed/chair{dir = 8},/obj/structure/closet/hydrant{dir = 8; pixel_x = 32},/turf/simulated/floor/shuttle/white,/area/shuttle/transport/centcom)
"aGd" = (/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
"aGe" = (/obj/machinery/light/small{dir = 4},/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"aGf" = (/obj/machinery/door/airlock/hatch{req_access = list(150)},/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
+"aGf" = (/turf/unsimulated/wall{icon_state = "riveted_straight"},/area/syndicate_mothership)
"aGg" = (/obj/structure/bed/chair/comfy/brown,/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 9},/turf/unsimulated/floor{icon_state = "carpet"},/area/centcom/holding)
"aGh" = (/obj/structure/bed/chair/comfy/brown,/obj/effect/floor_decal/carpet{dir = 1},/turf/unsimulated/floor{icon_state = "carpet"},/area/centcom/holding)
"aGi" = (/obj/structure/bed/chair/comfy/brown,/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 5},/turf/unsimulated/floor{icon_state = "carpet"},/area/centcom/holding)
@@ -1669,10 +1591,10 @@
"aGF" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access = list(13)},/turf/simulated/floor/shuttle/blue,/area/shuttle/escape/centcom)
"aGG" = (/obj/structure/grille,/obj/structure/window/shuttle{icon_state = "window-whiteship-straight"},/turf/simulated/floor,/area/shuttle/escape/centcom)
"aGH" = (/obj/structure/table/standard,/obj/item/storage/firstaid/fire,/obj/item/storage/firstaid/regular{pixel_x = 2; pixel_y = 3},/obj/item/extinguisher,/obj/item/crowbar,/turf/simulated/floor/shuttle/blue,/area/shuttle/escape/centcom)
-"aGI" = (/obj/structure/reagent_dispensers/beerkeg,/turf/unsimulated/floor{dir = 8; icon_state = "wood"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"aGJ" = (/obj/item/broken_bottle,/obj/effect/decal/cleanable/dirt,/turf/unsimulated/floor{dir = 8; icon_state = "wood"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"aGK" = (/obj/structure/toilet{dir = 4},/obj/effect/landmark/start/antags/vox,/turf/unsimulated/floor{icon_state = "freezerfloor"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"aGL" = (/obj/structure/mirror/raider,/turf/unsimulated/wall,/area/skipjack_station/base)
+"aGI" = (/obj/effect/floor_decal/industrial/warning/red/corner{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"aGJ" = (/obj/effect/floor_decal/sign/armory/ballistic1{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"aGK" = (/obj/structure/table/gamblingtable,/obj/item/deck/cards,/turf/unsimulated/floor{icon_state = "wood"; dir = 8; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"aGL" = (/turf/unsimulated/wall{icon_state = "riveted_straight"; dir = 8},/area/wizard_station)
"aGM" = (/obj/structure/grille,/obj/structure/window/shuttle{icon_state = "11"; dir = 1},/turf/simulated/floor,/area/shuttle/transport/centcom)
"aGN" = (/obj/machinery/door/airlock/external{frequency = 1380; glass = 1380; icon_state = "door_locked"; id_tag = "centcom_shuttle_bay_door"; locked = 1; name = "Transport Airlock"},/turf/unsimulated/floor{name = "plating"},/area/centcom/ferry)
"aGO" = (/obj/structure/bed/chair/comfy/brown{dir = 1},/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 10},/turf/unsimulated/floor{icon_state = "carpet"},/area/centcom/holding)
@@ -1680,7 +1602,7 @@
"aGQ" = (/obj/structure/bed/chair/comfy/brown{dir = 1},/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 6},/turf/unsimulated/floor{icon_state = "carpet"},/area/centcom/holding)
"aGR" = (/obj/structure/bed/chair{dir = 8},/obj/effect/floor_decal/corner/green,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/holding)
"aGS" = (/obj/machinery/status_display{layer = 3.1; pixel_y = 32},/obj/structure/bed/chair/shuttle/blue,/turf/simulated/floor/shuttle/white,/area/shuttle/escape/centcom)
-"aGT" = (/obj/structure/table/standard,/obj/machinery/recharger,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
+"aGT" = (/obj/structure/window/reinforced/tinted{dir = 8},/obj/structure/toilet{dir = 8},/obj/item/paper/crumpled,/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/syndicate_mothership)
"aGU" = (/obj/structure/bed/chair{dir = 4},/obj/item/device/radio/intercom{dir = 4; pixel_x = -22},/turf/simulated/floor/shuttle/white,/area/shuttle/transport/centcom)
"aGV" = (/obj/machinery/light{dir = 4},/obj/structure/bed/chair{dir = 8},/obj/machinery/vending/wallmed1{layer = 3.3; name = "Emergency NanoMed"; pixel_x = 28},/turf/simulated/floor/shuttle/white,/area/shuttle/transport/centcom)
"aGW" = (/obj/structure/table/woodentable{dir = 5},/obj/item/flame/lighter/zippo,/obj/item/storage/fancy/cigarettes,/obj/item/material/ashtray/bronze{pixel_x = -1; pixel_y = 1},/obj/machinery/camera/network/crescent{c_tag = "Crescent Bar East"; dir = 4},/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/holding)
@@ -1714,7 +1636,7 @@
"aHA" = (/turf/unsimulated/beach/sand{icon_state = "desert3"},/area/centcom/holding)
"aHB" = (/obj/effect/floor_decal/spline/fancy/wood{dir = 4},/turf/unsimulated/beach/sand{icon_state = "desert3"},/area/centcom/holding)
"aHC" = (/obj/structure/bed/chair/wood/wings{dir = 4; icon_state = "wooden_chair_wings"},/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/holding)
-"aHE" = (/obj/structure/sink{dir = 1; pixel_y = 16},/obj/effect/decal/cleanable/blood/splatter,/obj/machinery/light/small{dir = 8},/turf/unsimulated/floor{icon_state = "freezerfloor"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
+"aHE" = (/obj/effect/floor_decal/industrial/warning/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"aHF" = (/obj/structure/bed/chair/wood/wings{dir = 8; icon_state = "wooden_chair_wings"},/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/holding)
"aHH" = (/turf/simulated/mineral,/area/skipjack_station/base)
"aHI" = (/obj/machinery/vending/coffee,/obj/effect/floor_decal/corner/green{dir = 9},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/holding)
@@ -1723,11 +1645,11 @@
"aHL" = (/turf/simulated/shuttle/wall{icon_state = "whiteship_t"},/area/shuttle/escape/centcom)
"aHM" = (/obj/structure/closet/medical_wall{dir = 1; pixel_y = -32},/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/ointment,/obj/item/stack/medical/ointment,/obj/item/device/healthanalyzer,/turf/simulated/floor/shuttle/blue,/area/shuttle/escape/centcom)
"aHN" = (/turf/simulated/floor/shuttle/blue,/turf/simulated/shuttle/wall/corner/smoothwhite/ne,/area/shuttle/escape/centcom)
-"aHO" = (/obj/item/reagent_containers/food/checker/pawn/red{randpixel = 0},/turf/simulated/floor/holofloor/tiled/dark,/area/eclipse/civilian/dormitory/holodeck/source_chess)
-"aHP" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
+"aHO" = (/turf/unsimulated/wall{icon_state = "riveted_t"; dir = 1},/area/skipjack_station/base)
+"aHP" = (/obj/effect/floor_decal/sign/armory/energy,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"aHQ" = (/turf/unsimulated/beach/sand{icon_state = "desert1"},/area/centcom/holding)
"aHR" = (/turf/unsimulated/beach/sand{icon_state = "desert2"},/area/centcom/holding)
-"aHS" = (/obj/machinery/shower{dir = 8},/turf/unsimulated/floor{icon_state = "freezerfloor"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
+"aHS" = (/obj/effect/floor_decal/industrial/warning/red{dir = 9},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"aHU" = (/obj/structure/shuttle/engine/heater{dir = 1},/turf/simulated/floor/plating/airless,/area/shuttle/syndicate_elite/mothership)
"aHV" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 1},/turf/simulated/floor/shuttle/red,/area/shuttle/syndicate_elite/mothership)
"aHW" = (/obj/item/stool/padded,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/holding)
@@ -1740,8 +1662,8 @@
"aId" = (/obj/machinery/light{dir = 8},/obj/structure/closet/walllocker/emerglocker/west,/obj/structure/bed/chair/shuttle/blue{dir = 4},/turf/simulated/floor/shuttle/white,/area/shuttle/escape/centcom)
"aIe" = (/obj/machinery/camera/network/crescent{c_tag = "Shuttle Cell"},/obj/structure/bed/chair,/obj/structure/closet/walllocker/emerglocker/east{dir = 8; pixel_x = -32},/turf/simulated/floor/shuttle/red,/area/shuttle/escape/centcom)
"aIf" = (/obj/machinery/light{dir = 4},/obj/structure/closet/hydrant{dir = 8; pixel_x = 32},/obj/structure/bed/chair/shuttle/blue{dir = 8},/turf/simulated/floor/shuttle/white,/area/shuttle/escape/centcom)
-"aIg" = (/turf/unsimulated/wall,/area/skipjack_station/base)
-"aIh" = (/obj/structure/table/rack,/obj/item/clothing/suit/space/vox/carapace,/obj/item/clothing/head/helmet/space/vox/carapace,/obj/item/clothing/shoes/magboots/vox,/obj/item/clothing/gloves/vox,/obj/item/clothing/under/vox/vox_casual,/obj/item/clothing/accessory/holochip/vox,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
+"aIg" = (/obj/effect/floor_decal/industrial/warning/red,/obj/effect/floor_decal/industrial/warning/red{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"aIh" = (/obj/effect/decal/mecha_wreckage/hoverpod,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"aIi" = (/obj/structure/closet/crate/secure/large/reinforced,/turf/simulated/floor/shuttle/white,/area/shuttle/transport/centcom)
"aIj" = (/obj/machinery/sleeper{dir = 8},/turf/simulated/floor/shuttle/white,/area/shuttle/transport/centcom)
"aIk" = (/obj/item/inflatable_duck,/turf/unsimulated/beach/sand{icon_state = "desert2"},/area/centcom/holding)
@@ -1753,16 +1675,15 @@
"aIr" = (/obj/structure/grille,/obj/structure/window/shuttle{icon_state = "6"; dir = 1},/turf/simulated/floor,/area/shuttle/escape/centcom)
"aIs" = (/turf/simulated/floor/shuttle/red,/area/shuttle/escape/centcom)
"aIt" = (/obj/machinery/light{dir = 4},/obj/structure/bed/chair,/turf/simulated/floor/shuttle/red,/area/shuttle/escape/centcom)
-"aIu" = (/obj/item/stool/padded,/obj/effect/landmark/start/antags/vox,/turf/simulated/floor/trim/wood/broken0{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
+"aIu" = (/turf/unsimulated/wall{icon_state = "riveted_t"},/area/syndicate_mothership/elite_squad)
"aIv" = (/obj/structure/table/woodentable{dir = 5},/obj/item/reagent_containers/food/stew,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/holding)
"aIw" = (/obj/structure/closet/crate/critter,/obj/machinery/light{dir = 8},/turf/simulated/floor/shuttle/white,/area/shuttle/transport/centcom)
"aIx" = (/obj/machinery/light{dir = 4},/obj/machinery/sleeper{dir = 8},/turf/simulated/floor/shuttle/white,/area/shuttle/transport/centcom)
"aIy" = (/obj/effect/overlay/palmtree_r,/turf/unsimulated/beach/sand{icon_state = "desert2"},/turf/unsimulated/beach/sand{icon_state = "coconuts"},/area/centcom/holding)
"aIz" = (/turf/unsimulated/beach/sand{icon_state = "desert2"},/turf/unsimulated/beach/sand{icon_state = "coconuts"},/area/centcom/holding)
-"aIA" = (/obj/effect/decal/mecha_wreckage/hoverpod,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
+"aIA" = (/obj/effect/floor_decal/sign/armory/suits{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"aIB" = (/obj/machinery/door/airlock/hatch{name = "Cabin"; req_access = list(150)},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/syndicate_mothership/elite_squad)
-"aIC" = (/turf/simulated/floor/holofloor/tiled/dark,/area/eclipse/civilian/dormitory/holodeck/source_chess)
-"aID" = (/obj/item/reagent_containers/food/checker/rook/red{randpixel = 0},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_chess)
+"aID" = (/obj/structure/window/syndi,/turf/simulated/floor/plating,/area/syndicate_station/start)
"aIE" = (/obj/structure/table/woodentable{dir = 5},/obj/item/clothing/under/suit_jacket,/obj/item/clothing/accessory/wcoat,/obj/item/clothing/head/that{pixel_x = 4; pixel_y = 6},/obj/effect/floor_decal/spline/fancy/wood{dir = 8},/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/holding)
"aIF" = (/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/holding)
"aIG" = (/obj/machinery/atmospherics/unary/cryo_cell,/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/centcom/holding)
@@ -1779,7 +1700,7 @@
"aIS" = (/obj/structure/closet/crate/secure/large,/turf/simulated/floor/shuttle/white,/area/shuttle/transport/centcom)
"aIT" = (/mob/living/simple_animal/crab{name = "Coffee"},/turf/unsimulated/beach/sand{icon_state = "desert2"},/area/centcom/holding)
"aIU" = (/obj/item/beach_ball,/turf/unsimulated/beach/sand{icon_state = "desert3"},/area/centcom/holding)
-"aIV" = (/obj/structure/mirror{pixel_x = -26},/obj/structure/sink{dir = 8; pixel_x = -12},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/syndicate_mothership/elite_squad)
+"aIV" = (/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_mothership)
"aIW" = (/obj/structure/window/syndi{icon_state = "ws3"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/ninja)
"aIX" = (/obj/effect/floor_decal/corner/red,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding)
"aIY" = (/obj/structure/table/woodentable{dir = 5},/obj/item/reagent_containers/food/meatsteak,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/holding)
@@ -1813,7 +1734,7 @@
"aJB" = (/obj/machinery/door/airlock/glass_mining{name = "Shuttle Cargo"},/turf/simulated/floor/shuttle/yellow,/area/shuttle/escape/centcom)
"aJC" = (/obj/machinery/atmospherics/pipe/manifold/visible,/turf/simulated/floor/shuttle/white,/area/shuttle/escape/centcom)
"aJF" = (/obj/structure/bed/chair{dir = 1},/obj/effect/landmark/start/antags/ninja,/turf/simulated/floor/shuttle/red,/area/syndicate_mothership/ninja)
-"aJH" = (/obj/structure/table/rack,/obj/item/clothing/suit/space/vox/pressure,/obj/item/clothing/head/helmet/space/vox/pressure,/obj/item/clothing/shoes/magboots/vox,/obj/item/clothing/gloves/vox,/obj/item/clothing/under/vox/vox_casual,/obj/item/clothing/accessory/holochip/vox,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
+"aJH" = (/obj/effect/floor_decal/industrial/warning/red/corner{dir = 8},/obj/effect/floor_decal/industrial/warning/red/corner{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"aJI" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"},/turf/space,/area/shuttle/transport/centcom)
"aJJ" = (/obj/structure/shuttle/engine/propulsion,/turf/space,/area/shuttle/transport/centcom)
"aJK" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"},/turf/space,/area/shuttle/transport/centcom)
@@ -1838,9 +1759,9 @@
"aKd" = (/obj/structure/closet/toolcloset,/turf/simulated/floor/shuttle/yellow,/area/shuttle/escape/centcom)
"aKe" = (/obj/structure/bed/chair/shuttle/blue{dir = 8},/obj/machinery/light{dir = 4},/turf/simulated/floor/shuttle/white,/area/shuttle/escape/centcom)
"aKf" = (/obj/structure/closet/crate/freezer/rations,/obj/machinery/light{dir = 1},/turf/simulated/floor/shuttle/yellow,/area/shuttle/escape/centcom)
-"aKg" = (/obj/item/reagent_containers/food/checker/knight/red{randpixel = 0},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_chess)
-"aKh" = (/turf/unsimulated/floor{icon_state = "cult"; initial_gas = list("nitrogen"=103.984); name = "plating"},/area/skipjack_station/base)
-"aKi" = (/obj/machinery/light/small{dir = 1},/turf/unsimulated/floor{icon_state = "cult"; initial_gas = list("nitrogen"=103.984); name = "plating"},/area/skipjack_station/base)
+"aKg" = (/turf/unsimulated/wall{icon_state = "riveted_straight"; dir = 8},/area/security/brig/solitary)
+"aKh" = (/obj/structure/table/rack,/obj/item/rig/syndi/empty,/obj/effect/floor_decal/industrial/hatch/red,/obj/effect/floor_decal/industrial/warning/full,/obj/item/clothing/accessory/holochip/nuke,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"aKi" = (/turf/unsimulated/wall{icon_state = "riveted_l"},/area/syndicate_mothership/elite_squad)
"aKj" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/south,/area/space)
"aKk" = (/turf/unsimulated/beach/sand{dir = 6; icon_state = "beach"},/area/centcom/holding)
"aKl" = (/turf/unsimulated/beach/sand{icon_state = "seashallow"},/area/centcom/holding)
@@ -1855,7 +1776,7 @@
"aKu" = (/obj/machinery/door/airlock/glass/museum,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
"aKv" = (/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/syndicate_mothership/elite_squad)
"aKw" = (/obj/structure/table/woodentable{dir = 5},/obj/item/reagent_containers/food/tofukabob,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/holding)
-"aKx" = (/obj/effect/wingrille_spawn/reinforced,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
+"aKx" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/item/tank/nitrogen,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"aKy" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor,/area/syndicate_mothership/elite_squad)
"aKA" = (/obj/effect/step_trigger/teleporter/random,/turf/space,/area/space)
"aKB" = (/obj/structure/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome)
@@ -1875,18 +1796,18 @@
"aKP" = (/obj/structure/closet/emcloset,/turf/simulated/floor/shuttle/yellow,/area/shuttle/escape/centcom)
"aKQ" = (/obj/machinery/recharge_station,/turf/simulated/floor/shuttle/yellow,/area/shuttle/escape/centcom)
"aKR" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_d"; dir = 1},/area/syndicate_mothership/ninja)
-"aKS" = (/obj/structure/bed/chair,/turf/unsimulated/floor{icon_state = "cult"; initial_gas = list("nitrogen"=103.984); name = "plating"},/area/skipjack_station/base)
+"aKS" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 1},/area/security/brig/solitary)
"aKU" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_straight"; dir = 8},/area/shuttle/syndicate_elite/mothership)
-"aKV" = (/obj/effect/wingrille_spawn/reinforced,/turf/unsimulated/floor{icon_state = "cult"; initial_gas = list("nitrogen"=103.984); name = "plating"},/area/skipjack_station/base)
+"aKV" = (/obj/structure/table/steel,/obj/item/storage/fancy/cigarettes,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/shuttle/red,/area/skipjack_station/start)
"aKW" = (/obj/machinery/teleporter_gate,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
"aKX" = (/obj/machinery/door/airlock/medical{name = "Operating Theatre"; req_access = list(45)},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding)
"aKY" = (/turf/space,/turf/simulated/shuttle/wall/corner/smoothwhite/sw,/area/shuttle/escape/centcom)
"aKZ" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"; dir = 10},/area/shuttle/escape/centcom)
"aLa" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/shuttle/escape/centcom)
"aLb" = (/turf/space,/turf/simulated/shuttle/wall/corner/smoothwhite/se,/area/shuttle/escape/centcom)
-"aLc" = (/obj/machinery/computer/station_alert/all,/turf/unsimulated/floor{icon_state = "cult"; initial_gas = list("nitrogen"=103.984); name = "plating"},/area/skipjack_station/base)
-"aLd" = (/obj/machinery/computer/shuttle_control/multi/vox,/turf/unsimulated/floor{icon_state = "cult"; initial_gas = list("nitrogen"=103.984); name = "plating"},/area/skipjack_station/base)
-"aLe" = (/obj/machinery/floodlight,/turf/unsimulated/floor{icon_state = "cult"; initial_gas = list("nitrogen"=103.984); name = "plating"},/area/skipjack_station/base)
+"aLc" = (/mob/living/simple_animal/hostile/creature{name = "Experiment 35b"},/obj/effect/floor_decal/industrial/warning/wiz,/turf/unsimulated/floor{name = "plating"; icon_state = "lava"},/area/wizard_station)
+"aLd" = (/obj/effect/floor_decal/industrial/warning/wiz,/turf/unsimulated/floor{icon_state = "asteroid"},/area/wizard_station)
+"aLe" = (/obj/machinery/light/small{dir = 4},/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"aLf" = (/obj/effect/floor_decal/corner/red{dir = 9},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome)
"aLg" = (/obj/effect/floor_decal/corner/green{dir = 6},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome)
"aLh" = (/obj/structure/closet/secure_closet/medical2,/obj/effect/floor_decal/corner/paleblue{dir = 9},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding)
@@ -1964,18 +1885,18 @@
"aMK" = (/obj/structure/reagent_dispensers/watertank,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
"aML" = (/obj/structure/reagent_dispensers/fueltank,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
"aMN" = (/obj/structure/bed/chair,/obj/structure/disposalpipe/segment,/obj/effect/landmark/event/tdome/tdomeobserve,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeobserve)
-"aMQ" = (/obj/machinery/computer/station_alert/all,/turf/simulated/floor/shuttle/red,/area/skipjack_station/start)
-"aMR" = (/obj/machinery/computer/shuttle_control/multi/vox,/turf/simulated/floor/shuttle/red,/area/skipjack_station/start)
-"aMS" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor/shuttle/red,/area/skipjack_station/start)
+"aMQ" = (/obj/structure/sign/double/map/right{pixel_y = 32},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_mothership)
+"aMR" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"aMS" = (/obj/structure/bed,/obj/item/bedsheet/orange,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"aMW" = (/obj/item/paper{info = "\[center]\[b]READ INSTRUCTIONS CAREFULLY\[/b]\[/center]\[br]\[br]Hello! Welcome and congratulations on being hired for NanoTrasen's new Television initiative. You are now tasked with the creation and production of NanoTrasen brand television that is to be broadcasted to all of our stations!\[br]\[br] We've outfitted these facilities with all the materials and objects you will need.\[br]On the port side you'll find various venders and machines, namely the Wardrobe Dispenser, which will dispense holoclothing and items for you to use, and a Quickee brand plastic surgery machine (which I would remind you you are contractually obligated to \[b]not\[/b] report to the authorities.) which can change your appearance into anything you want, even other races. Stern and aft you'll find all the materials we could muster up on short notice. Use it to decorate the stage to your liking. Starboard you'll find gases, microwaves, hydroponic trays and the like. Go silly! This is already paid for (as are you) so do what you want and entertain!"; name = "Actor's Guild Instruction Pamphlet"},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
"aMX" = (/obj/structure/table/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/melee/energy/axe,/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/tdome)
"aMY" = (/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/obj/structure/window_frame/indestructible,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome)
"aMZ" = (/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/obj/structure/disposalpipe/segment,/obj/structure/window_frame/indestructible,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome)
"aNa" = (/obj/structure/table/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/melee/energy/axe,/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/tdome)
"aNb" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8},/obj/machinery/meter,/turf/simulated/floor/plating,/area/skipjack_station/start)
-"aNd" = (/obj/machinery/light/small{dir = 8},/obj/machinery/suit_cycler/syndicate{locked = 0},/turf/simulated/floor/shuttle/red,/area/skipjack_station/start)
+"aNd" = (/turf/unsimulated/wall{icon_state = "riveted_15"},/area/security/brig/solitary)
"aNe" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/floor/shuttle/red,/area/skipjack_station/start)
-"aNg" = (/obj/machinery/light/small{dir = 4},/obj/vehicle/bike/thermal,/turf/simulated/floor/shuttle/red,/area/skipjack_station/start)
+"aNg" = (/obj/structure/table/rack,/obj/item/gun/energy/ionrifle,/obj/item/gun/energy/ionrifle,/obj/effect/floor_decal/industrial/hatch/red,/obj/machinery/recharger/wallcharger{pixel_x = 5; pixel_y = -32},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"aNi" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 4},/obj/machinery/meter,/turf/simulated/floor/plating,/area/skipjack_station/start)
"aNj" = (/obj/machinery/vending/tool,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
"aNk" = (/obj/machinery/door/airlock/glass{name = "Stage"},/turf/simulated/floor,/area/acting/backstage)
@@ -1984,9 +1905,9 @@
"aNn" = (/obj/machinery/igniter,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome)
"aNo" = (/turf/unsimulated/floor{icon_state = "dark"},/area/tdome)
"aNp" = (/obj/structure/disposalpipe/segment,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome)
-"aNr" = (/obj/structure/table/rack,/obj/item/rig/industrial,/turf/simulated/floor/shuttle/red,/area/skipjack_station/start)
+"aNr" = (/obj/item/paper{name = "Insert alien artifacts here."; info = "Some stuff is missing..."},/turf/unsimulated/floor{icon_state = "dark"},/area/alien)
"aNs" = (/turf/simulated/floor/shuttle/red,/area/skipjack_station/start)
-"aNt" = (/obj/structure/table/rack,/obj/item/rig/light/hacker,/turf/simulated/floor/shuttle/red,/area/skipjack_station/start)
+"aNt" = (/obj/structure/table/woodentable,/obj/item/book/wiki/nuclear,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
"aNv" = (/obj/machinery/vending/hydroseeds,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
"aNw" = (/turf/simulated/floor/tiled,/area/acting/stage)
"aNx" = (/obj/structure/closet/crate/medical,/obj/item/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/bodybag/cryobag{pixel_x = 5},/obj/item/bodybag/cryobag{pixel_x = 5},/obj/item/storage/firstaid/o2{layer = 2.8; pixel_x = 4; pixel_y = 6},/obj/item/storage/box/masks,/obj/item/storage/box/gloves{pixel_x = 3; pixel_y = 4},/obj/item/storage/firstaid/toxin,/obj/item/storage/firstaid/fire{layer = 2.9; pixel_x = 2; pixel_y = 3},/obj/item/storage/firstaid/adv{pixel_x = -2},/obj/item/reagent_containers/ivbag/blood/AMinus,/obj/item/reagent_containers/ivbag/blood/APlus,/obj/item/reagent_containers/ivbag/blood/BMinus,/obj/item/reagent_containers/ivbag/blood/BPlus,/obj/item/reagent_containers/ivbag/blood/OMinus,/obj/item/reagent_containers/ivbag/blood/OPlus,/obj/machinery/light{dir = 8},/turf/simulated/floor/shuttle/white,/area/shuttle/escape/centcom)
@@ -2002,20 +1923,20 @@
"aNI" = (/obj/structure/table/rack,/obj/item/gun/energy/ionrifle,/obj/item/material/harpoon,/obj/item/clothing/suit/space/void/syndi/prepared,/obj/item/clothing/suit/space/void/engineering/prepared,/obj/item/tank/oxygen,/obj/item/tank/oxygen,/obj/item/rig/light/stealth,/turf/simulated/floor/plating,/area/skipjack_station/start)
"aNJ" = (/obj/machinery/microwave{pixel_x = -1; pixel_y = 8},/obj/structure/table/steel,/turf/simulated/floor/plating,/area/skipjack_station/start)
"aNK" = (/obj/item/seeds/potatoseed,/obj/item/seeds/potatoseed,/obj/item/seeds/ambrosiavulgarisseed,/obj/item/material/minihoe,/obj/item/beartrap,/obj/structure/table/steel,/turf/simulated/floor/plating,/area/skipjack_station/start)
-"aNL" = (/obj/machinery/vending/hydroseeds,/turf/simulated/floor/plating,/area/skipjack_station/start)
-"aNM" = (/obj/structure/table/rack,/obj/item/melee/energy/sword/pirate,/obj/item/clothing/suit/space/pirate,/obj/item/clothing/suit/space/pirate,/obj/item/tank/oxygen,/turf/simulated/floor/shuttle/red,/area/skipjack_station/start)
-"aNN" = (/obj/structure/table/rack,/obj/item/storage/belt/utility/full,/obj/item/storage/belt/utility/full,/obj/item/device/multitool,/obj/item/device/multitool,/obj/item/clothing/shoes/magboots,/turf/simulated/floor/plating,/area/skipjack_station/start)
-"aNO" = (/obj/machinery/washing_machine,/turf/simulated/floor/plating,/area/skipjack_station/start)
-"aNP" = (/obj/structure/table/standard,/obj/item/storage/fancy/cigarettes,/obj/item/flame/lighter/zippo,/obj/item/clothing/gloves/insulated,/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/card/emag,/turf/simulated/floor/plating,/area/skipjack_station/start)
+"aNL" = (/obj/item/target/alien,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/wizard_station)
+"aNM" = (/obj/structure/window_frame/indestructible/hull,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"aNN" = (/turf/unsimulated/wall{icon_state = "riveted_b"; dir = 8},/area/syndicate_mothership)
+"aNO" = (/obj/structure/sign/poster,/turf/unsimulated/wall{icon_state = "riveted"; dir = 1},/area/skipjack_station/base)
+"aNP" = (/turf/unsimulated/wall{icon_state = "riveted_t"; dir = 4},/area/syndicate_mothership)
"aNS" = (/obj/machinery/vending/hydronutrients,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
"aNT" = (/obj/effect/landmark/event/tdome/tdome2,/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/tdome/tdome2)
"aNU" = (/obj/effect/landmark/event/tdome/tdome1,/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/tdome/tdome1)
"aNV" = (/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor/plating,/area/skipjack_station/start)
"aNW" = (/turf/simulated/floor/plating,/area/skipjack_station/start)
-"aNX" = (/obj/structure/reagent_dispensers/watertank,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/skipjack_station/start)
-"aNY" = (/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/shuttle/red,/area/skipjack_station/start)
-"aNZ" = (/obj/machinery/door/airlock/hatch{req_access = list(150)},/turf/simulated/floor/shuttle/red,/area/skipjack_station/start)
-"aOa" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/engie,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/engie,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/skipjack_station/start)
+"aNX" = (/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"aNY" = (/turf/unsimulated/wall{icon_state = "riveted_l"},/area/alien)
+"aNZ" = (/turf/unsimulated/wall{icon_state = "riveted_t"; dir = 8},/area/security/brig/solitary)
+"aOa" = (/obj/item/clothing/head/wizard/violetwizard,/obj/item/clothing/suit/wizrobe/violetwizard,/obj/item/staff/broom,/obj/structure/closet/cabinet/wizcabinet,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
"aOb" = (/turf/space,/turf/simulated/shuttle/wall/corner/syndi/nw,/area/skipjack_station/start)
"aOc" = (/obj/machinery/vending/medical,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
"aOd" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled,/area/acting/stage)
@@ -2026,52 +1947,50 @@
"aOi" = (/obj/machinery/flasher{id = "flash"; name = "Thunderdome Flash"},/turf/unsimulated/floor{icon_state = "bcircuit"},/area/tdome)
"aOj" = (/obj/effect/landmark/event/tdome/tdome1,/obj/machinery/camera/network/thunder{c_tag = "Green Team"; invisibility = 101},/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/tdome/tdome1)
"aOk" = (/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/skipjack_station/start)
-"aOl" = (/obj/item/ammo_magazine/c556,/turf/simulated/floor/plating,/area/skipjack_station/start)
-"aOm" = (/obj/item/robot_parts/l_leg,/turf/simulated/floor/plating,/area/skipjack_station/start)
+"aOl" = (/obj/effect/decal/cleanable/blood,/obj/effect/floor_decal/industrial/warning/wiz{dir = 9},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/wizard_station)
+"aOm" = (/obj/structure/table/woodentable,/obj/item/storage/box/glasses,/obj/machinery/light/small{dir = 1},/turf/unsimulated/floor{icon_state = "lino"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"aOn" = (/obj/machinery/vending/robotics,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
"aOo" = (/obj/machinery/atmospherics/pipe/vent,/turf/unsimulated/floor{icon_state = "bcircuit"},/area/tdome)
"aOp" = (/obj/machinery/camera/network/thunder{c_tag = "Thunderdome Arena"; invisibility = 101},/turf/unsimulated/floor{icon_state = "bcircuit"},/area/tdome)
"aOq" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/floor/plating,/area/skipjack_station/start)
"aOr" = (/obj/machinery/floodlight,/turf/simulated/floor/plating,/area/skipjack_station/start)
-"aOs" = (/obj/structure/table/rack,/obj/item/gun/launcher/crossbow,/obj/item/stack/rods{amount = 10},/obj/machinery/light/small{dir = 8},/obj/item/beartrap,/obj/item/beartrap,/obj/item/beartrap,/obj/item/beartrap,/obj/item/beartrap,/obj/item/beartrap,/turf/simulated/floor/shuttle/red,/area/skipjack_station/start)
-"aOt" = (/obj/structure/table/rack,/obj/item/grenade/empgrenade,/obj/item/grenade/flashbang,/obj/item/grenade/spawnergrenade/manhacks,/turf/simulated/floor/shuttle/red,/area/skipjack_station/start)
-"aOu" = (/obj/structure/table/steel,/obj/machinery/recharger,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/shuttle/red,/area/skipjack_station/start)
-"aOv" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/skipjack_station/start)
-"aOw" = (/obj/item/robot_parts/robot_suit,/obj/item/robot_parts/r_leg,/obj/item/robot_parts/r_arm,/turf/simulated/floor/plating,/area/skipjack_station/start)
+"aOs" = (/obj/machinery/door/blast/regular{name = "Shuttle Blast Shutters"; icon_state = "pdoor0"; opacity = 0; density = 0; dir = 4; id = "syndieshutters"},/obj/structure/window/syndi{icon_state = "ws4"},/turf/simulated/floor/plating,/area/syndicate_station/start)
+"aOt" = (/obj/structure/flora/pottedplant/ugly,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"aOu" = (/obj/structure/table/standard,/obj/machinery/microwave,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"aOv" = (/obj/structure/bed/chair,/turf/simulated/floor/shuttle/red,/area/skipjack_station/start)
+"aOw" = (/obj/structure/bed/chair/comfy/black{dir = 1},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_mothership)
"aOx" = (/obj/machinery/vending/engivend,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
"aOy" = (/obj/machinery/camera/network/thunder{anchored = 0; c_tag = "Television"; name = "Movable Camera"},/turf/simulated/floor/tiled,/area/acting/stage)
"aOz" = (/obj/machinery/portable_atmospherics/hydroponics,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
"aOA" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 5},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome)
"aOB" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome)
"aOC" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 9},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome)
-"aOD" = (/obj/machinery/door/airlock/hatch{req_access = list(150)},/turf/simulated/floor/plating,/area/skipjack_station/start)
-"aOE" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/shuttle/red,/area/skipjack_station/start)
+"aOD" = (/turf/unsimulated/wall{icon_state = "riveted_d"; dir = 8},/area/syndicate_mothership)
+"aOE" = (/turf/unsimulated/wall{icon_state = "riveted_t"; dir = 4},/area/wizard_station)
"aOF" = (/turf/space,/turf/simulated/shuttle/wall/corner/syndi/ne,/area/skipjack_station/start)
-"aOG" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/shuttle/red,/area/skipjack_station/start)
+"aOG" = (/obj/machinery/door/window{name = "Seating"; dir = 2; req_access = list(150)},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"aOH" = (/obj/machinery/door/airlock/hatch{frequency = 1380; icon_state = "door_locked"; id_tag = "vox_northwest_lock"; locked = 1; name = "Ship External Access"; req_one_access = 150},/obj/machinery/shield_diffuser,/turf/simulated/floor/plating,/area/skipjack_station/start)
-"aOI" = (/obj/item/wrench,/obj/item/mop,/turf/simulated/floor/plating,/area/skipjack_station/start)
-"aOJ" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/item/crowbar,/turf/simulated/floor/plating,/area/skipjack_station/start)
+"aOI" = (/obj/effect/floor_decal/industrial/warning/red/corner,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"aOJ" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 4},/area/security/brig/solitary)
"aOK" = (/obj/machinery/vending/dinnerware,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
"aOL" = (/obj/machinery/atmospherics/pipe/simple/visible,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome)
"aOM" = (/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating,/area/skipjack_station/start)
"aON" = (/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/floor/plating,/area/skipjack_station/start)
-"aOO" = (/turf/simulated/floor/shuttle/black,/area/skipjack_station/start)
-"aOP" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/shuttle/black,/area/skipjack_station/start)
-"aOQ" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/shuttle/red,/area/skipjack_station/start)
-"aOR" = (/obj/item/deck/cards,/obj/structure/table/steel,/turf/simulated/floor/shuttle/red,/area/skipjack_station/start)
+"aOO" = (/obj/structure/table/steel,/obj/item/flame/lighter/zippo,/turf/simulated/floor/shuttle/red,/area/skipjack_station/start)
+"aOP" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 4},/area/wizard_station)
+"aOQ" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/button/remote/blast_door{id = "skipjackshutters"; name = "remote shutter control"; pixel_x = 32; pixel_y = 32; req_access = list(150)},/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"aOR" = (/obj/structure/bookcase{name = "Forbidden Knowledge"},/obj/effect/decal/cleanable/cobweb,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
"aOS" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/shuttle/red,/area/skipjack_station/start)
-"aOT" = (/obj/machinery/bodyscanner{dir = 8},/turf/simulated/floor/shuttle/white,/area/skipjack_station/start)
-"aOU" = (/obj/machinery/light/small{dir = 1},/obj/machinery/body_scanconsole{dir = 8},/turf/simulated/floor/shuttle/white,/area/skipjack_station/start)
-"aOV" = (/turf/simulated/floor/shuttle/white,/area/skipjack_station/start)
-"aOW" = (/obj/structure/toilet{dir = 4},/turf/simulated/floor/plating,/area/skipjack_station/start)
+"aOT" = (/obj/item/folder{pixel_y = 2},/obj/structure/table/glass,/obj/item/flame/lighter/zippo/syndie,/obj/item/deck/cards,/obj/item/music_tape_box/syndie,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_mothership)
+"aOU" = (/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"aOV" = (/obj/vehicle/bike/electric,/obj/effect/floor_decal/industrial/hatch/red,/obj/effect/floor_decal/industrial/warning/full,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"aOW" = (/obj/structure/bed/chair/comfy/black{dir = 4},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_mothership)
"aOX" = (/obj/machinery/door/airlock/hatch{frequency = 1380; id_tag = "skipjack_shuttle_outer"; name = "Ship External Access"; req_one_access = 150},/obj/machinery/shield_diffuser,/turf/simulated/floor/plating,/area/skipjack_station/start)
-"aOY" = (/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating,/area/skipjack_station/start)
"aOZ" = (/obj/machinery/vending/cola{name = "hacked Robust Softdrinks"; prices = list()},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
"aPa" = (/obj/machinery/door/airlock/command{name = "Thunderdome Administration"; req_access = list(102)},/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/tdome)
"aPb" = (/obj/machinery/door/blast/regular{id = "thunderdomehea"; name = "Heavy Supply"},/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/tdome)
"aPc" = (/obj/structure/bed/roller,/obj/item/device/radio/intercom{dir = 8; pixel_x = 22},/turf/simulated/floor/shuttle/white,/area/shuttle/escape/centcom)
"aPd" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/shuttle/engine/heater,/turf/simulated/floor/plating/airless,/area/skipjack_station/start)
-"aPe" = (/obj/structure/sink{dir = 4; pixel_x = 11},/turf/simulated/floor/shuttle/white,/area/skipjack_station/start)
"aPf" = (/obj/structure/bed/chair/shuttle/blue,/turf/simulated/floor/shuttle/yellow,/area/shuttle/escape/centcom)
"aPg" = (/obj/machinery/vending/cigarette{name = "hacked cigarette machine"; prices = list(); products = list(/obj/item/storage/fancy/cigarettes=10,/obj/item/storage/box/matches=10,/obj/item/flame/lighter/zippo=4,/obj/item/clothing/mask/smokable/cigarette/cigar/havana=2)},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
"aPh" = (/obj/machinery/chemical_dispenser/bar_alc/full,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
@@ -2082,10 +2001,10 @@
"aPm" = (/obj/structure/table/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet/swat,/obj/item/gun/energy/laser,/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/tdome)
"aPn" = (/obj/effect/floor_decal/corner/green,/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/tdome)
"aPo" = (/obj/structure/shuttle/engine/propulsion,/turf/simulated/floor/plating/airless,/area/skipjack_station/start)
-"aPp" = (/obj/structure/table/standard,/turf/simulated/floor/shuttle/black,/area/skipjack_station/start)
-"aPq" = (/obj/structure/table/standard,/obj/item/deck/cards,/turf/simulated/floor/shuttle/black,/area/skipjack_station/start)
+"aPp" = (/obj/structure/lattice,/obj/structure/window_frame/broken,/turf/space,/area/space)
+"aPq" = (/obj/item/material/knife/ritual,/obj/effect/floor_decal/industrial/warning/wiz{dir = 6},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/wizard_station)
"aPr" = (/obj/machinery/light/small,/turf/simulated/floor/shuttle/red,/area/skipjack_station/start)
-"aPs" = (/obj/structure/table/standard,/obj/item/circular_saw{pixel_y = 8},/obj/item/hemostat,/obj/item/scalpel,/obj/item/stack/medical/advanced/bruise_pack,/turf/simulated/floor/shuttle/white,/area/skipjack_station/start)
+"aPs" = (/turf/space,/turf/simulated/shuttle/wall/corner/syndi/ne{icon_state = "corner_syndiwall_s"},/area/syndicate_station/start)
"aPt" = (/obj/machinery/vending/containers,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
"aPu" = (/obj/machinery/light,/turf/simulated/floor/tiled,/area/acting/stage)
"aPv" = (/obj/machinery/chemical_dispenser/full,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
@@ -2094,24 +2013,24 @@
"aPy" = (/obj/item/extinguisher,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin)
"aPz" = (/obj/machinery/atmospherics/valve,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin)
"aPA" = (/obj/structure/bed/chair{dir = 1},/obj/structure/disposalpipe/segment,/obj/effect/landmark/event/tdome/tdomeadmin,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin)
-"aPB" = (/obj/machinery/optable,/turf/simulated/floor/shuttle/white,/area/skipjack_station/start)
-"aPC" = (/obj/structure/table/standard,/obj/item/cautery,/obj/item/retractor,/obj/item/reagent_containers/vessel/bottle/chemical/stoxin,/obj/item/reagent_containers/vessel/bottle/chemical/stoxin,/obj/item/reagent_containers/syringe,/turf/simulated/floor/shuttle/white,/area/skipjack_station/start)
+"aPB" = (/obj/structure/closet/coffin,/obj/item/device/radio/intercom/syndicate{dir = 8; pixel_x = 22},/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"aPC" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 8},/area/syndicate_station/start)
"aPD" = (/obj/machinery/pipedispenser,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
"aPE" = (/obj/machinery/chemical_dispenser/bar_soft/full,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
"aPF" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/sleeping_agent{pixel_x = 1},/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin)
"aPG" = (/obj/item/wrench,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin)
"aPH" = (/obj/structure/disposalpipe/trunk{dir = 1},/obj/machinery/disposal,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin)
-"aPI" = (/obj/structure/sink{dir = 4; pixel_x = 11},/turf/simulated/floor/shuttle/black,/area/skipjack_station/start)
-"aPJ" = (/obj/structure/bed,/obj/item/bedsheet/rainbow,/turf/simulated/floor/shuttle/red,/area/skipjack_station/start)
-"aPK" = (/obj/structure/bed,/obj/item/bedsheet/hos,/turf/simulated/floor/shuttle/red,/area/skipjack_station/start)
-"aPL" = (/obj/structure/table/standard,/obj/item/bonesetter,/obj/item/bonegel,/obj/item/FixOVein,/obj/item/reagent_containers/syringe/antiviral,/obj/item/reagent_containers/syringe/antiviral,/turf/simulated/floor/shuttle/white,/area/skipjack_station/start)
+"aPI" = (/obj/structure/window_frame/indestructible/hull,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
+"aPJ" = (/obj/machinery/computer/station_alert/all,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"aPK" = (/obj/structure/table/rack,/obj/item/clothing/suit/space/vox/carapace,/obj/item/clothing/head/helmet/space/vox/carapace,/obj/item/clothing/shoes/magboots/vox,/obj/item/clothing/gloves/vox,/obj/item/clothing/under/vox/vox_robes,/obj/item/clothing/under/vox/vox_casual,/obj/item/clothing/accessory/holochip/vox,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"aPL" = (/obj/structure/table/rack,/obj/item/clothing/suit/space/vox/carapace,/obj/item/clothing/head/helmet/space/vox/carapace,/obj/item/clothing/shoes/magboots/vox,/obj/item/clothing/gloves/vox,/obj/item/clothing/under/vox/vox_casual,/obj/item/clothing/accessory/holochip/vox,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"aPM" = (/obj/machinery/acting/changer,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
"aPO" = (/obj/structure/bed/chair,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin)
-"aPP" = (/obj/structure/toilet{dir = 4},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/shuttle/black,/area/skipjack_station/start)
-"aPQ" = (/obj/structure/bed,/obj/item/bedsheet/orange,/turf/simulated/floor/shuttle/red,/area/skipjack_station/start)
-"aPR" = (/obj/structure/bed,/obj/item/bedsheet/green,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/shuttle/red,/area/skipjack_station/start)
-"aPS" = (/obj/structure/table/standard,/obj/item/storage/firstaid/fire{pixel_x = 1},/obj/item/storage/firstaid/o2{pixel_x = 3; pixel_y = 3},/turf/simulated/floor/shuttle/white,/area/skipjack_station/start)
-"aPT" = (/obj/structure/table/standard,/obj/item/storage/firstaid/adv{pixel_x = 1},/obj/item/storage/firstaid/toxin{pixel_x = 3; pixel_y = 3},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/shuttle/white,/area/skipjack_station/start)
+"aPP" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 1},/area/alien)
+"aPQ" = (/obj/effect/decal/cleanable/dirt,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"aPR" = (/mob/living/simple_animal/crab{name = "Experiment 68a"},/obj/effect/floor_decal/industrial/warning/wiz{dir = 1},/turf/unsimulated/floor{icon_state = "asteroid"},/area/wizard_station)
+"aPS" = (/obj/effect/floor_decal/industrial/warning/wiz{dir = 5},/turf/unsimulated/floor{name = "plating"; icon_state = "lava"},/area/wizard_station)
+"aPT" = (/obj/structure/closet/crate,/obj/item/reagent_containers/syringe/drugs,/obj/item/reagent_containers/syringe/drugs,/obj/item/reagent_containers/syringe/drugs,/obj/item/crowbar,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"aPU" = (/obj/machinery/vending/props,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
"aPV" = (/obj/machinery/newscaster{pixel_y = -27},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
"aPW" = (/obj/structure/table/rack,/obj/item/stack/tile/floor{amount = 50},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
@@ -2130,46 +2049,44 @@
"aQj" = (/obj/structure/table/standard,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin)
"aQk" = (/obj/structure/table/standard,/obj/item/storage/toolbox/electrical,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin)
"aQl" = (/obj/structure/table/standard,/obj/item/storage/toolbox/mechanical,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin)
-"aQm" = (/obj/structure/bed,/obj/item/bedsheet/rd,/turf/simulated/floor/shuttle/red,/area/skipjack_station/start)
-"aQn" = (/obj/item/pizzabox/meat,/turf/simulated/floor/shuttle/red,/area/skipjack_station/start)
-"aQo" = (/obj/structure/bed,/obj/item/bedsheet/clown,/turf/simulated/floor/shuttle/red,/area/skipjack_station/start)
-"aQp" = (/turf/unsimulated/wall,/area/wizard_station)
-"aQq" = (/obj/structure/sink,/turf/unsimulated/wall,/area/wizard_station)
-"aQr" = (/obj/structure/bookcase{name = "Forbidden Knowledge"},/obj/effect/decal/cleanable/cobweb,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"aQs" = (/obj/structure/bookcase{name = "Forbidden Knowledge"},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"aQt" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"aQv" = (/obj/structure/table/woodentable,/obj/item/book/wiki/nuclear,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
+"aQm" = (/obj/structure/gas_stand/anesthetic,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/shuttle/white{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"aQn" = (/obj/structure/table/woodentable,/obj/item/storage/box/cups,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"aQo" = (/turf/unsimulated/wall{icon_state = "riveted_c"; dir = 4},/area/syndicate_mothership)
+"aQp" = (/obj/machinery/bodyscanner{dir = 4},/turf/simulated/floor/shuttle/white{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"aQq" = (/turf/unsimulated/wall{icon_state = "riveted_straight"},/area/skipjack_station/base)
+"aQr" = (/obj/effect/floor_decal/industrial/warning/red/corner{dir = 1},/obj/effect/floor_decal/industrial/warning/red/corner{dir = 4},/obj/effect/floor_decal/industrial/warning/red{dir = 8},/obj/effect/floor_decal/industrial/warning/red{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"aQs" = (/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"aQt" = (/obj/item/gun/launcher/grenade,/obj/machinery/light/small{dir = 4; pixel_y = 8},/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"aQv" = (/obj/machinery/door/blast/regular{name = "Shuttle Blast Shutters"; icon_state = "pdoor0"; opacity = 0; density = 0; id = "syndieshutters_infirmary"},/obj/structure/window/syndi{icon_state = "ws2"},/turf/simulated/floor/plating,/area/syndicate_station/start)
"aQw" = (/obj/structure/bed/chair/shuttle/red{dir = 4},/obj/effect/floor_decal/industrial/warning/red{dir = 4},/turf/simulated/floor,/area/syndicate_station/start)
"aQx" = (/obj/structure/table/woodentable,/turf/simulated/floor/trim/carpet,/area/wizard_station)
"aQy" = (/obj/structure/toilet{pixel_y = 8},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/wizard_station)
"aQz" = (/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/wizard_station)
-"aQA" = (/obj/machinery/light,/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/syndicate_mothership/elite_squad)
+"aQA" = (/obj/structure/reagent_dispensers/beerkeg,/turf/unsimulated/floor{icon_state = "wood"; dir = 8; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"aQB" = (/obj/machinery/door/unpowered/simple/wood,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station)
"aQC" = (/turf/simulated/floor/trim/carpet,/area/wizard_station)
"aQD" = (/obj/effect/landmark/start/antags/wizard,/turf/simulated/floor/trim/carpet,/area/wizard_station)
"aQE" = (/obj/machinery/door/unpowered/simple/iron,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station)
"aQF" = (/obj/machinery/shower{dir = 8},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/wizard_station)
-"aQG" = (/obj/structure/bookcase{name = "bookcase (Tactics)"},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"aQH" = (/obj/structure/closet/coffin,/obj/item/device/radio/intercom/syndicate{dir = 8; pixel_x = 22},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"aQI" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green{on = 0; pixel_x = -3; pixel_y = 8},/obj/item/reagent_containers/vessel/flask/barflask,/obj/item/device/radio/intercom/syndicate{dir = 8; pixel_x = 22},/turf/simulated/floor/trim/carpet,/area/wizard_station)
-"aQJ" = (/obj/structure/table/woodentable,/obj/item/storage/bag/cash,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
+"aQG" = (/obj/item/grenade/frag,/obj/item/grenade/frag,/obj/item/grenade/flashbang,/obj/item/grenade/flashbang,/obj/item/grenade/flashbang,/obj/item/grenade/chem_grenade/teargas,/obj/item/grenade/chem_grenade/teargas,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/spawnergrenade/manhacks,/obj/item/grenade/empgrenade,/obj/item/grenade/empgrenade,/obj/structure/closet/crate,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"aQH" = (/obj/item/broken_bottle,/obj/effect/decal/cleanable/dirt,/turf/unsimulated/floor{icon_state = "wood"; dir = 8; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"aQI" = (/obj/random/junk,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"aQJ" = (/obj/machinery/door/blast/regular{name = "Shuttle Blast Shutters"; icon_state = "pdoor0"; opacity = 0; density = 0; id = "syndieshutters_workshop"},/obj/structure/window/syndi{icon_state = "ws2"},/turf/simulated/floor/plating,/area/syndicate_station/start)
"aQK" = (/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
"aQL" = (/obj/structure/bed,/obj/item/bedsheet/rd,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
-"aQM" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/obj/item/clothing/suit/wizrobe/red,/obj/item/clothing/shoes/sandal,/obj/item/clothing/head/wizard/red,/obj/item/staff,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
-"aQN" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/obj/item/clothing/suit/wizrobe/marisa,/obj/item/clothing/shoes/sandal/marisa,/obj/item/clothing/head/wizard/marisa,/obj/item/staff/broom,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
-"aQO" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/obj/item/clothing/suit/wizrobe/magusblue,/obj/item/clothing/head/wizard/magus,/obj/item/staff,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
-"aQP" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
-"aQQ" = (/obj/structure/bookcase,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"aQR" = (/obj/machinery/vending/magivend,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
+"aQM" = (/obj/structure/table/standard,/obj/item/bonesetter,/obj/item/FixOVein,/obj/item/bonegel,/obj/item/reagent_containers/syringe/antiviral/packaged,/obj/item/organfixer/standard,/turf/simulated/floor/shuttle/white{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"aQN" = (/turf/unsimulated/wall{icon_state = "riveted"; dir = 4},/area/skipjack_station/base)
+"aQO" = (/obj/machinery/computer/shuttle_control/multi/vox,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"aQP" = (/turf/unsimulated/wall{icon_state = "riveted"; dir = 4},/area/syndicate_mothership)
"aQS" = (/obj/machinery/door/unpowered/simple/wood,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
"aQT" = (/obj/item/device/radio/intercom/syndicate{dir = 8; pixel_x = 22},/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
-"aQU" = (/obj/structure/table/woodentable,/obj/machinery/chemical_dispenser/bar_soft/full,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
+"aQU" = (/obj/structure/closet,/obj/random/contraband,/obj/random/contraband,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"aQV" = (/obj/structure/table/woodentable,/obj/item/storage/backpack/cultpack,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
"aQW" = (/obj/structure/table/woodentable,/obj/item/clothing/glasses/monocle,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
"aQX" = (/obj/structure/table/woodentable,/obj/item/storage/backpack,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
-"aQY" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/obj/item/clothing/under/psysuit,/obj/item/clothing/suit/wizrobe/psypurple,/obj/item/clothing/head/wizard/amp,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
-"aQZ" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/obj/item/clothing/shoes/sandal/marisa{desc = "A set of fancy shoes that are as functional as they are comfortable."; name = "Gentlemans Shoes"},/obj/item/clothing/under/gentlesuit,/obj/item/clothing/suit/wizrobe/gentlecoat,/obj/item/clothing/head/wizard/cap,/obj/item/staff/gentcane,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
-"aRa" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/obj/item/clothing/suit/wizrobe/magusred,/obj/item/clothing/head/wizard/magus,/obj/item/staff,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
+"aQY" = (/obj/effect/floor_decal/industrial/warning/wiz{dir = 1},/turf/unsimulated/floor{name = "plating"; icon_state = "lava"},/area/wizard_station)
+"aQZ" = (/obj/effect/floor_decal/sign/armory,/obj/effect/floor_decal/industrial/warning/red{dir = 4},/obj/effect/floor_decal/industrial/warning/red{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"aRa" = (/obj/structure/table/woodentable,/obj/structure/table/woodentable,/obj/item/reagent_containers/food/milosoup,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
"aRb" = (/obj/structure/cable/blue{d2 = 4; icon_state = "0-4"},/obj/machinery/power/solar,/turf/simulated/floor/plating/airless,/area/merchant_station)
"aRc" = (/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating/airless,/area/merchant_station)
"aRd" = (/obj/structure/cable/blue{d2 = 8; icon_state = "0-8"},/obj/machinery/power/solar,/turf/simulated/floor/plating/airless,/area/merchant_station)
@@ -2177,13 +2094,13 @@
"aRf" = (/obj/effect/step_trigger/teleporter/random/admin,/turf/space/transit/south,/area/space)
"aRg" = (/turf/space/transit/south,/area/space)
"aRh" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 1; name = "thrower_throwupsidenostop"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/south,/area/space)
-"aRi" = (/obj/structure/bed/chair/wood/wings{dir = 4; icon_state = "wooden_chair_wings"},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"aRj" = (/obj/structure/table/woodentable,/obj/item/dice/d20,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"aRk" = (/obj/structure/table/woodentable,/obj/item/storage/box/cups,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"aRl" = (/obj/structure/bed/chair/wood/wings{dir = 8; icon_state = "wooden_chair_wings"},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"aRm" = (/obj/item/target,/turf/unsimulated/floor{icon_state = "cult"; name = "plating"},/area/wizard_station)
-"aRn" = (/obj/item/target/syndicate,/turf/unsimulated/floor{icon_state = "cult"; name = "plating"},/area/wizard_station)
-"aRo" = (/obj/item/target/alien,/turf/unsimulated/floor{icon_state = "cult"; name = "plating"},/area/wizard_station)
+"aRi" = (/obj/machinery/body_scanconsole{dir = 4},/turf/simulated/floor/shuttle/white{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"aRj" = (/obj/structure/table/steel,/obj/item/paper,/obj/item/pen,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"aRk" = (/obj/structure/table/woodentable,/obj/item/dice/d20,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"aRl" = (/obj/machinery/light/small{dir = 8},/obj/machinery/suit_cycler/syndicate{locked = 0},/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"aRm" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/trim/wood/broken0{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"aRn" = (/obj/structure/table/woodentable,/obj/random/handgun,/turf/unsimulated/floor{icon_state = "lino"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"aRo" = (/obj/machinery/door/window{name = "Secure Storage"; dir = 1; req_access = list(150)},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"aRp" = (/obj/effect/floor_decal/industrial/warning/red{dir = 6},/obj/structure/bed/chair/shuttle/red{dir = 8},/turf/simulated/floor,/area/syndicate_station/start)
"aRq" = (/obj/structure/table/rack,/obj/item/material/knife/ritual,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station)
"aRr" = (/obj/structure/kitchenspike,/obj/structure/table/marble,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station)
@@ -2192,9 +2109,9 @@
"aRu" = (/turf/simulated/shuttle/wall{icon_state = "whiteship_t"},/area/shuttle/merchant/home)
"aRv" = (/turf/simulated/shuttle/wall{icon_state = "whiteship_t"; dir = 1},/area/shuttle/merchant/home)
"aRw" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/south,/area/space)
-"aRx" = (/obj/structure/table/woodentable,/obj/structure/table/woodentable,/obj/item/reagent_containers/food/milosoup,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"aRy" = (/obj/structure/table/woodentable,/obj/item/dice,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"aRz" = (/turf/unsimulated/floor{icon_state = "cult"; name = "plating"},/area/wizard_station)
+"aRx" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_c"; dir = 1},/area/syndicate_station/start)
+"aRy" = (/obj/structure/toilet{dir = 4},/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"aRz" = (/obj/effect/floor_decal/industrial/warning/red{dir = 6},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"aRA" = (/obj/structure/bed/chair/shuttle/black{dir = 4},/turf/simulated/floor/shuttle/red,/area/rescue_base/start)
"aRB" = (/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station)
"aRC" = (/turf/simulated/shuttle/wall{icon_state = "whiteship_t"; dir = 8},/area/shuttle/merchant/home)
@@ -2206,11 +2123,11 @@
"aRI" = (/obj/machinery/cryopod{dir = 4},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled/white,/area/merchant_station)
"aRJ" = (/obj/machinery/light/small{dir = 1},/obj/machinery/computer/cryopod{pixel_y = 32},/obj/item/roller,/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled/white,/area/merchant_station)
"aRK" = (/obj/item/device/radio/intercom{pixel_y = 22},/obj/structure/table/reinforced,/obj/item/storage/firstaid/toxin,/obj/item/storage/firstaid/o2{layer = 2.8; pixel_x = 4; pixel_y = 6},/obj/item/storage/firstaid/fire{layer = 2.9; pixel_x = 2; pixel_y = 3},/obj/item/storage/firstaid/adv{pixel_x = -2},/obj/item/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/bodybag/cryobag{pixel_x = 5},/obj/effect/floor_decal/industrial/outline/blue,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/white,/area/merchant_station)
-"aRL" = (/obj/structure/flora/ausbushes/fullgrass,/turf/simulated/floor/holofloor/grass,/area/merchant_station)
-"aRM" = (/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/holofloor/grass,/area/merchant_station)
-"aRN" = (/obj/structure/table/woodentable,/obj/item/device/megaphone,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"aRO" = (/obj/structure/table/woodentable,/obj/item/storage/box/donut,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"aRP" = (/obj/structure/flora/ausbushes/fullgrass,/obj/machinery/light{dir = 1},/turf/simulated/floor/holofloor/grass,/area/merchant_station)
+"aRL" = (/obj/structure/flora/ausbushes/fullgrass,/turf/simulated/floor/tiled,/area/merchant_station)
+"aRM" = (/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/tiled,/area/merchant_station)
+"aRN" = (/obj/item/book/wiki/robotics_cyborgs,/obj/structure/table/glass,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/wizard_station)
+"aRO" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 8},/area/skipjack_station/base)
+"aRP" = (/obj/structure/flora/ausbushes/fullgrass,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/merchant_station)
"aRQ" = (/obj/item/modular_computer/console/preset/civilian,/turf/simulated/floor/trim/carpet/blue,/area/shuttle/merchant/home)
"aRR" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled/white,/area/merchant_station)
"aRS" = (/turf/simulated/floor/trim/carpet/blue,/area/shuttle/merchant/home)
@@ -2226,11 +2143,11 @@
"aSc" = (/obj/structure/filingcabinet/chestdrawer,/obj/item/device/radio/intercom{dir = 8; pixel_x = 22},/obj/structure/window/reinforced{dir = 1},/obj/effect/floor_decal/corner/blue,/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/merchant_station)
"aSd" = (/obj/structure/bed/chair/comfy/black,/obj/machinery/alarm{pixel_y = 23; req_one_access = list(201)},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/effect/landmark/start/crew/merchant,/turf/simulated/floor/tiled,/area/merchant_station)
"aSe" = (/turf/simulated/wall/r_wall,/area/merchant_station)
-"aSf" = (/obj/structure/table/woodentable,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"aSg" = (/obj/structure/table/woodentable,/obj/item/spacecash/bundle/c1,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"aSh" = (/obj/item/book/wiki/robotics_cyborgs,/obj/structure/table/glass,/turf/unsimulated/floor{icon_state = "cult"; name = "plating"},/area/wizard_station)
-"aSi" = (/obj/item/robot_parts/head,/obj/structure/table/glass,/turf/unsimulated/floor{icon_state = "cult"; name = "plating"},/area/wizard_station)
-"aSj" = (/obj/item/device/radio/intercom/syndicate{dir = 8; pixel_x = 22},/turf/unsimulated/floor{icon_state = "cult"; name = "plating"},/area/wizard_station)
+"aSf" = (/turf/unsimulated/wall{icon_state = "riveted_straight"; dir = 8},/area/syndicate_mothership/elite_squad)
+"aSg" = (/obj/item/stool/padded,/turf/unsimulated/floor{icon_state = "wood"; dir = 8; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"aSh" = (/obj/machinery/vending/magivend,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"aSi" = (/turf/unsimulated/wall{icon_state = "riveted_d"; dir = 4},/area/wizard_station)
+"aSj" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 4},/area/syndicate_mothership/elite_squad)
"aSk" = (/obj/structure/table/woodentable,/obj/machinery/recharger,/turf/simulated/floor/tiled,/area/merchant_station)
"aSl" = (/obj/machinery/computer/shuttle_control/multi/merchant,/turf/simulated/floor/trim/carpet/blue,/area/shuttle/merchant/home)
"aSm" = (/obj/machinery/light{dir = 1},/obj/machinery/computer/shuttle_control/multi/merchant,/turf/simulated/floor/tiled,/area/merchant_station)
@@ -2262,37 +2179,37 @@
"aSM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/merchant_station)
"aSN" = (/obj/structure/window_frame/indestructible/grille,/turf/unsimulated/floor{name = "plating"},/area/wizard_station)
"aSO" = (/obj/effect/floor_decal/industrial/warning/corner,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
-"aSP" = (/turf/unsimulated/floor{icon_state = "cult"; name = "plating"},/area/syndicate_mothership)
-"aSQ" = (/obj/structure/table/woodentable,/obj/item/reagent_containers/food/chawanmushi,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
+"aSP" = (/obj/machinery/door/blast/regular{name = "Shuttle Blast Shutters"; icon_state = "pdoor0"; opacity = 0; density = 0; id = "syndieshutters_infirmary"},/obj/structure/window/syndi{icon_state = "ws1"},/turf/simulated/floor/plating,/area/syndicate_station/start)
+"aSQ" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
"aSR" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/merchant_station)
"aSS" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/merchant_station)
"aST" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9},/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/merchant_station)
-"aSU" = (/obj/structure/flora/ausbushes/ywflowers,/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/holofloor/grass,/area/merchant_station)
-"aSV" = (/obj/structure/flora/ausbushes/ywflowers,/mob/living/simple_animal/tindalos{name = "Eddy"},/turf/simulated/floor/holofloor/grass,/area/merchant_station)
-"aSW" = (/obj/structure/flora/ausbushes/fullgrass,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/holofloor/grass,/area/merchant_station)
-"aSX" = (/obj/structure/flora/ausbushes/ywflowers,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor/grass,/area/merchant_station)
+"aSU" = (/obj/structure/flora/ausbushes/ywflowers,/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled,/area/merchant_station)
+"aSV" = (/obj/structure/flora/ausbushes/ywflowers,/mob/living/simple_animal/tindalos{name = "Eddy"},/turf/simulated/floor/tiled,/area/merchant_station)
+"aSW" = (/obj/structure/flora/ausbushes/fullgrass,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled,/area/merchant_station)
+"aSX" = (/obj/structure/flora/ausbushes/ywflowers,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/merchant_station)
"aSY" = (/obj/structure/table/reinforced,/obj/item/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/pen,/obj/effect/floor_decal/corner/blue/three_quarters,/turf/simulated/floor/tiled,/area/merchant_station)
"aSZ" = (/obj/structure/table/reinforced,/obj/effect/floor_decal/corner/blue{dir = 10},/obj/random/handgun,/turf/simulated/floor/tiled,/area/merchant_station)
"aTa" = (/obj/structure/table/reinforced,/obj/random/loot,/obj/effect/floor_decal/corner/blue{dir = 10},/turf/simulated/floor/tiled,/area/merchant_station)
"aTb" = (/obj/machinery/photocopier,/obj/effect/floor_decal/corner/blue{dir = 8},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/merchant_station)
-"aTc" = (/obj/item/remains/human,/turf/unsimulated/floor{icon_state = "lava"; name = "plating"},/area/wizard_station)
-"aTd" = (/turf/unsimulated/floor{icon_state = "lava"; name = "plating"},/area/wizard_station)
-"aTe" = (/turf/unsimulated/floor{icon_state = "asteroid"},/area/wizard_station)
-"aTf" = (/mob/living/simple_animal/crab{name = "Experiment 68a"},/turf/unsimulated/floor{icon_state = "asteroid"},/area/wizard_station)
-"aTg" = (/turf/unsimulated/floor{icon_state = "grass0"; name = "grass"},/area/wizard_station)
-"aTh" = (/obj/structure/flora/ausbushes/fullgrass,/turf/unsimulated/floor{icon_state = "grass0"; name = "grass"},/area/wizard_station)
-"aTi" = (/obj/effect/decal/cleanable/blood,/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/wizard_station)
-"aTj" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/obj/item/clothing/head/wizard/violetwizard,/obj/item/clothing/suit/wizrobe/violetwizard,/obj/item/staff/broom,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
+"aTc" = (/turf/unsimulated/wall{icon_state = "riveted_straight"; dir = 8},/area/space)
+"aTd" = (/turf/unsimulated/floor{icon_state = "lino"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"aTe" = (/obj/effect/wingrille_spawn/reinforced/crescent,/obj/structure/sign/flag/nt,/turf/unsimulated/floor{name = "plating"},/area/centcom/holding)
+"aTf" = (/obj/effect/floor_decal/industrial/warning/wiz,/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/wizard_station)
+"aTg" = (/obj/machinery/computer/shuttle_control/multi/vox,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"aTh" = (/turf/unsimulated/wall{icon_state = "riveted_c"; dir = 8},/area/wizard_station)
+"aTi" = (/obj/structure/bookcase,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"aTj" = (/obj/structure/table/woodentable,/obj/item/flame/lighter/zippo,/turf/unsimulated/floor{icon_state = "lino"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"aTk" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating/airless,/area/merchant_station)
"aTl" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "merchant_station_interior"; locked = 1; name = "Station Exterior"; req_access = list(201)},/turf/simulated/floor/plating,/area/merchant_station)
"aTm" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor,/turf/simulated/floor/tiled,/area/merchant_station)
"aTn" = (/obj/machinery/door/firedoor,/turf/simulated/floor/tiled,/area/merchant_station)
"aTo" = (/turf/simulated/floor/tiled,/area/merchant_station)
-"aTp" = (/mob/living/simple_animal/hostile/creature{name = "Experiment 35b"},/turf/unsimulated/floor{icon_state = "lava"; name = "plating"},/area/wizard_station)
-"aTq" = (/obj/structure/flora/ausbushes/grassybush,/turf/unsimulated/floor{icon_state = "grass0"; name = "grass"},/area/wizard_station)
-"aTr" = (/mob/living/simple_animal/hostile/retaliate/goat{name = "Experiment 97d"},/turf/unsimulated/floor{icon_state = "grass0"; name = "grass"},/area/wizard_station)
-"aTs" = (/obj/item/caution,/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/wizard_station)
-"aTt" = (/obj/item/material/knife/ritual,/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/wizard_station)
+"aTp" = (/obj/machinery/button/remote/blast_door{name = "Mech Access"; pixel_x = 32; id = "syndicate_elite_mech_room"; req_access = list(150)},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
+"aTq" = (/obj/structure/table/rack,/obj/item/clothing/suit/space/vox/carapace,/obj/item/clothing/head/helmet/space/vox/carapace,/obj/item/clothing/shoes/magboots/vox,/obj/item/clothing/gloves/vox,/obj/item/clothing/under/vox/vox_robes,/obj/item/clothing/accessory/holochip/vox,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"aTr" = (/obj/machinery/door/blast/regular{name = "Shuttle Blast Shutters"; icon_state = "pdoor0"; opacity = 0; density = 0; id = "syndieshutters_workshop"},/obj/structure/window/syndi{icon_state = "ws3"},/turf/simulated/floor/plating,/area/syndicate_station/start)
+"aTs" = (/obj/machinery/shower{dir = 8},/turf/unsimulated/floor{icon_state = "freezerfloor"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"aTt" = (/obj/machinery/vending/snack{name = "hacked Getmore Chocolate Corp"; prices = list()},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_mothership)
"aTu" = (/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating/airless,/area/merchant_station)
"aTv" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating/airless,/area/merchant_station)
"aTw" = (/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/plating/airless,/area/merchant_station)
@@ -2585,7 +2502,7 @@
"aZb" = (/obj/machinery/firealarm{pixel_y = 26},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/trim/wood,/area/merchant_station)
"aZc" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/trim/wood,/area/merchant_station)
"aZd" = (/obj/machinery/computer/arcade,/turf/simulated/floor/trim/wood,/area/merchant_station)
-"aZe" = (/obj/structure/table/woodentable,/obj/structure/window/reinforced{dir = 8},/obj/machinery/chemical_dispenser/bar_coffee,/obj/machinery/light{dir = 1},/turf/simulated/floor/trim/carpet,/area/merchant_station)
+"aZe" = (/obj/structure/table/woodentable,/obj/structure/window/reinforced{dir = 8},/obj/machinery/light{dir = 1},/turf/simulated/floor/trim/carpet,/area/merchant_station)
"aZf" = (/obj/structure/bed/chair/comfy/brown,/turf/simulated/floor/trim/carpet,/area/merchant_station)
"aZg" = (/obj/structure/table/woodentable,/obj/machinery/chemical_dispenser/bar_soft,/turf/simulated/floor/trim/carpet,/area/merchant_station)
"aZh" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable/blue,/turf/simulated/floor/plating,/area/merchant_station)
@@ -2638,7 +2555,6 @@
"bad" = (/obj/machinery/light/small{dir = 4; pixel_y = 8},/obj/machinery/firealarm{dir = 4; pixel_x = 26},/turf/simulated/floor/tiled,/area/merchant_station)
"bae" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/table/woodentable,/obj/random/action_figure,/turf/simulated/floor/trim/carpet,/area/merchant_station)
"baf" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/structure/bed,/obj/structure/curtain/open/bed,/obj/item/bedsheet/blue,/turf/simulated/floor/trim/carpet,/area/merchant_station)
-"bag" = (/obj/structure/holostool,/turf/simulated/floor/trim/wood,/area/merchant_station)
"bah" = (/obj/structure/table/woodentable,/obj/machinery/microwave{pixel_y = 5},/obj/machinery/light{dir = 4},/obj/structure/sign/warning/smoking{pixel_x = 32},/turf/simulated/floor/trim/wood,/area/merchant_station)
"bai" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/freezer,/area/merchant_station)
"baj" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/trim/carpet/blue,/area/merchant_station)
@@ -2648,7 +2564,6 @@
"ban" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/trim/carpet,/area/merchant_station)
"bao" = (/obj/machinery/light/small{dir = 4; pixel_y = 8},/turf/simulated/floor/trim/carpet,/area/merchant_station)
"bap" = (/obj/structure/table/woodentable,/obj/item/material/ashtray,/obj/item/clothing/mask/smokable/cigarette/cigar/havana,/obj/machinery/light{dir = 8},/turf/simulated/floor/trim/wood,/area/merchant_station)
-"baq" = (/obj/structure/holostool,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/trim/wood,/area/merchant_station)
"bar" = (/obj/structure/table/woodentable,/obj/item/storage/box/glasses/pint,/turf/simulated/floor/trim/wood,/area/merchant_station)
"bas" = (/obj/item/modular_computer/console/preset/civilian,/turf/simulated/floor/trim/wood,/area/merchant_station)
"bat" = (/obj/structure/table/woodentable,/turf/simulated/floor/trim/carpet/blue,/area/merchant_station)
@@ -2657,7 +2572,7 @@
"baw" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"; name = "Wardrobe"},/obj/item/clothing/shoes/leather,/obj/item/clothing/under/blazer,/obj/item/clothing/under/lawyer/black,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/trim/carpet,/area/merchant_station)
"bax" = (/obj/structure/table/woodentable,/obj/random/toy,/turf/simulated/floor/trim/carpet,/area/merchant_station)
"bay" = (/obj/structure/table/woodentable,/obj/machinery/newscaster{pixel_x = -28},/obj/structure/reagent_dispensers/beerkeg,/turf/simulated/floor/trim/wood,/area/merchant_station)
-"baz" = (/obj/structure/holostool,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/trim/wood,/area/merchant_station)
+"baz" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/trim/wood,/area/merchant_station)
"baA" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/trim/wood,/area/merchant_station)
"baB" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/trim/wood,/area/merchant_station)
"baC" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/trim/wood,/area/merchant_station)
@@ -2668,23 +2583,23 @@
"baH" = (/obj/random/trash,/turf/simulated/floor/plating,/area/skipjack_station/start)
"baI" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{frequency = 1380; id_tag = "skipjack_shuttle_pump"},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "skipjack_shuttle_sensor"; pixel_x = 8; pixel_y = 25},/turf/simulated/floor/plating,/area/skipjack_station/start)
"baJ" = (/obj/machinery/light/small,/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "vox_west_control"; pixel_x = 25; pixel_y = 8; req_access = list(150); tag_airpump = "vox_west_vent"; tag_chamber_sensor = "vox_west_sensor"; tag_exterior_door = "vox_northwest_lock"; tag_interior_door = "vox_southwest_lock"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1380; id_tag = "vox_west_vent"},/turf/simulated/floor/plating,/area/skipjack_station/start)
-"baK" = (/obj/structure/bed/chair{dir = 1},/obj/item/clothing/head/pirate,/obj/effect/shuttle_landmark/skipjack/start,/turf/simulated/floor/shuttle/red,/area/skipjack_station/start)
-"baL" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/button/remote/blast_door{id = "skipjackshutters"; name = "remote shutter control"; pixel_x = 32; pixel_y = 32; req_access = list(150)},/turf/simulated/floor/shuttle/red,/area/skipjack_station/start)
+"baK" = (/obj/structure/toilet{dir = 4},/obj/effect/landmark/start/antags/vox,/turf/unsimulated/floor{icon_state = "freezerfloor"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"baL" = (/turf/unsimulated/wall{icon_state = "riveted_straight"},/area/wizard_station)
"baM" = (/obj/machinery/light/small,/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "skipjack_shuttle"; pixel_x = -25; pixel_y = 8; req_access = list(150)},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1380; id_tag = "skipjack_shuttle_pump"},/turf/simulated/floor/plating,/area/skipjack_station/start)
"baN" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/machinery/door/airlock/hatch{frequency = 1380; icon_state = "door_locked"; id_tag = "vox_southwest_lock"; locked = 1; name = "Ship External Access"; req_one_access = 150},/turf/simulated/floor/plating,/area/skipjack_station/start)
-"baO" = (/obj/random/trash,/turf/simulated/floor/shuttle/red,/area/skipjack_station/start)
+"baO" = (/obj/structure/table/steel,/obj/structure/table/steel,/obj/item/pizzabox/meat,/turf/simulated/floor/shuttle/red,/area/skipjack_station/start)
"baP" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/machinery/door/airlock/hatch{frequency = 1380; id_tag = "skipjack_shuttle_inner"; name = "Ship External Access"; req_one_access = 150},/turf/simulated/floor/plating,/area/skipjack_station/start)
"baQ" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "vox_west_control"; name = "interior access button"; pixel_x = -25; pixel_y = 25; req_access = list(150)},/turf/simulated/floor/plating,/area/skipjack_station/start)
-"baR" = (/obj/structure/table/rack,/obj/item/gun/energy/sniperrifle,/obj/item/clothing/suit/space/void/mining/prepared,/obj/item/clothing/suit/space/void/atmos/prepared,/obj/item/tank/oxygen,/obj/item/tank/oxygen,/turf/simulated/floor/plating,/area/skipjack_station/start)
-"baS" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "skipjack_shuttle"; name = "interior access button"; pixel_x = 25; pixel_y = 25; req_access = list(150)},/turf/simulated/floor/plating,/area/skipjack_station/start)
-"baT" = (/obj/item/robot_parts/head,/obj/random/trash,/turf/simulated/floor/plating,/area/skipjack_station/start)
-"baU" = (/obj/structure/table/steel,/obj/random/projectile,/turf/simulated/floor/shuttle/red,/area/skipjack_station/start)
-"baV" = (/obj/structure/sink{dir = 8; pixel_x = -12; pixel_y = 2},/obj/random/trash,/turf/simulated/floor/plating,/area/skipjack_station/start)
-"baW" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor/plating,/area/skipjack_station/start)
+"baR" = (/turf/unsimulated/floor{icon_state = "wood"; dir = 8; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"baS" = (/obj/structure/window_frame/indestructible/hull,/obj/structure/sign/flag/syndie,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
+"baT" = (/obj/structure/sink{dir = 1; pixel_y = 16},/obj/effect/decal/cleanable/blood/splatter,/obj/machinery/light/small{dir = 8},/turf/unsimulated/floor{icon_state = "freezerfloor"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"baU" = (/obj/structure/bed/chair/comfy/black{dir = 8},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_mothership)
+"baV" = (/obj/structure/table/rack,/obj/item/clothing/suit/space/vox,/obj/item/clothing/head/helmet/space/vox,/obj/item/clothing/shoes/magboots/vox,/obj/item/clothing/gloves/vox,/obj/item/clothing/under/vox/vox_robes,/obj/item/clothing/accessory/holochip/vox,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"baW" = (/obj/item/beartrap,/obj/item/beartrap,/obj/item/beartrap,/obj/item/beartrap,/obj/item/beartrap,/obj/item/storage/belt/vox,/obj/item/storage/belt/vox,/obj/item/storage/belt/vox,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
"baX" = (/turf/space,/turf/simulated/shuttle/wall/corner/syndi/sw,/area/skipjack_station/start)
-"baY" = (/obj/structure/table/steel,/obj/random/junk,/turf/simulated/floor/shuttle/red,/area/skipjack_station/start)
+"baY" = (/obj/structure/table/standard,/obj/machinery/recharger,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"baZ" = (/turf/space,/turf/simulated/shuttle/wall/corner/syndi/se,/area/skipjack_station/start)
-"bba" = (/obj/structure/gas_stand/anesthetic,/turf/simulated/floor/shuttle/white,/area/skipjack_station/start)
+"bba" = (/obj/structure/table/standard,/obj/item/retractor,/obj/item/circular_saw{pixel_y = 8},/obj/item/cautery,/obj/item/scalpel,/obj/item/hemostat,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/shuttle/white{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
"bbb" = (/obj/structure/closet/crate/freezer/rations,/turf/simulated/floor/shuttle/yellow,/area/shuttle/escape/centcom)
"bbc" = (/obj/structure/closet/crate/hydroponics/prespawned,/obj/machinery/light{dir = 1},/turf/simulated/floor/shuttle/yellow,/area/shuttle/escape/centcom)
"bbd" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/shuttle/white,/area/shuttle/escape/centcom)
@@ -2705,7 +2620,7 @@
"bbs" = (/obj/machinery/cryopod{dir = 4},/turf/simulated/floor/tiled/white,/area/acting/backstage)
"bbt" = (/obj/machinery/sleeper{dir = 1},/obj/machinery/light{dir = 4},/turf/simulated/floor/shuttle/white,/area/shuttle/escape/centcom)
"bbu" = (/obj/structure/table/steel,/obj/item/flame/lighter/zippo,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
-"bbv" = (/obj/machinery/recharge_station,/turf/unsimulated/floor{icon_state = "lino"},/area/syndicate_mothership)
+"bbv" = (/obj/machinery/light/small{dir = 1},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"bbw" = (/obj/machinery/recharge_station,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/living)
"bbx" = (/turf/simulated/floor/tiled/white,/area/acting/backstage)
"bby" = (/obj/machinery/cryopod,/turf/simulated/floor/tiled/white,/area/acting/backstage)
@@ -2715,29 +2630,28 @@
"bbC" = (/obj/machinery/door/airlock/glass{name = "Arrivals Bar"},/turf/simulated/floor/tiled/white,/area/acting/backstage)
"bbD" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/acting/stage)
"bbE" = (/obj/effect/floor_decal/corner/green{dir = 9},/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled,/area/shuttle/merchant/home)
-"bjo" = (/obj/machinery/door/airlock/external{frequency = 1331; icon_state = "door_locked"; id_tag = "emerc_airlock_dock_door"; locked = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
-"btL" = (/obj/structure/table/rack,/obj/item/clothing/suit/space/vox/medic,/obj/item/clothing/head/helmet/space/vox/medic,/obj/item/clothing/shoes/magboots/vox,/obj/item/clothing/gloves/vox,/obj/item/clothing/under/vox/vox_robes,/obj/item/clothing/accessory/holochip/vox,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"bwb" = (/obj/structure/table/woodentable,/obj/item/reagent_containers/vessel/bottle/small/beer,/turf/unsimulated/floor{icon_state = "lino"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
+"bjo" = (/obj/machinery/door/airlock/centcom{name = "Suit Storage"; opacity = 1},/obj/effect/floor_decal/industrial/warning/red{dir = 4},/obj/effect/floor_decal/industrial/warning/red{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"btL" = (/obj/structure/table/woodentable,/obj/random/cash,/turf/unsimulated/floor{icon_state = "lino"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"bwb" = (/turf/unsimulated/wall{icon_state = "riveted"},/area/wizard_station)
"byR" = (/turf/simulated/shuttle/wall/syndi{dir = 4; icon_state = "syndiwall"},/area/shuttle/administration/centcom)
-"bAc" = (/obj/item/reagent_containers/food/checker/king/red{randpixel = 0},/turf/simulated/floor/holofloor/tiled/dark,/area/eclipse/civilian/dormitory/holodeck/source_chess)
+"bAc" = (/obj/effect/floor_decal/industrial/warning/wiz{dir = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/wizard_station)
"bCa" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 6},/area/syndicate_station/start)
-"bEA" = (/obj/item/reagent_containers/food/checker/bishop{randpixel = 0},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_chess)
"bHa" = (/obj/machinery/light{dir = 4},/obj/structure/closet/emcloset,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
"bOS" = (/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; locked = 1; req_access = list(150)},/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/syndicate_mothership/elite_squad)
"bXC" = (/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "merchantshuttle"; name = "Merchant Window Shutters"; opacity = 0},/obj/structure/window/shuttle{icon_state = "window-whiteship-straight"; dir = 4},/turf/simulated/floor/plating,/area/shuttle/merchant/home)
"cgV" = (/obj/machinery/door/blast/regular{dir = 4; id = "thunderdome"; name = "Thunderdome Blast Door"},/obj/machinery/door/blast/regular{dir = 4; id = "thunderdome"; name = "Thunderdome Blast Door"},/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/tdome)
"cmb" = (/obj/effect/floor_decal/corner/red{dir = 9},/obj/structure/bed/chair/shuttle/red{dir = 4},/turf/simulated/floor/tiled/dark,/area/shuttle/syndicate_elite/mothership)
"cAb" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_t"; dir = 1},/area/syndicate_station/start)
-"cBd" = (/obj/structure/table/rack/dark,/obj/item/gun/energy/sniperrifle,/obj/item/gun/energy/ionrifle,/obj/item/gun/energy/kinetic_accelerator,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
+"cBd" = (/obj/structure/table/woodentable,/obj/machinery/chemical_dispenser/bar_alc/full{pixel_y = 2},/turf/unsimulated/floor{icon_state = "lino"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"cCp" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"; dir = 8},/area/shuttle/transport/centcom)
"cHK" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_t"; dir = 1},/area/shuttle/deathsquad/centcom)
"cKP" = (/turf/simulated/shuttle/wall{icon_state = "whiteship_straight"; dir = 4},/area/shuttle/merchant/home)
"cMm" = (/obj/machinery/door/blast/regular{id = "thunderdome"; name = "Thunderdome Blast Door"},/obj/machinery/door/blast/regular{dir = 8; id = "thunderdome"; name = "Thunderdome Blast Door"},/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/tdome)
-"cOZ" = (/obj/item/reagent_containers/food/checker/bishop{randpixel = 0},/turf/simulated/floor/holofloor/tiled/dark,/area/eclipse/civilian/dormitory/holodeck/source_chess)
-"dak" = (/obj/structure/table/rack/dark,/obj/item/gun/launcher/alien/spikethrower,/obj/item/gun/launcher/alien/spikethrower,/obj/item/gun/launcher/alien/slugsling,/obj/item/gun/launcher/alien/slugsling,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"dgO" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/trim/wood/broken0{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"dug" = (/obj/structure/bed,/obj/item/bedsheet/purple,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"dvI" = (/obj/item/reagent_containers/food/checker/bishop/red{randpixel = 0},/turf/simulated/floor/holofloor/tiled/dark,/area/eclipse/civilian/dormitory/holodeck/source_chess)
+"cOZ" = (/mob/living/silicon/decoy{name = "GLaDOS"; icon_state = "ai-malf"},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership/elite_squad)
+"dak" = (/obj/machinery/shower{pixel_y = 24},/obj/structure/window/basic{dir = 8},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/syndicate_mothership)
+"dgO" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 4},/area/syndicate_mothership)
+"dug" = (/obj/structure/sign/flag/syndie,/turf/unsimulated/wall,/area/syndicate_mothership)
+"dvI" = (/obj/structure/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 8},/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
"dzj" = (/obj/structure/closet/athletic_mixed,/obj/effect/floor_decal/spline/fancy/wood{dir = 4},/turf/unsimulated/beach/sand{icon_state = "desert1"},/area/centcom/holding)
"dzt" = (/turf/simulated/floor/shuttle/red,/turf/simulated/shuttle/wall/corner/syndi/sw{icon_state = "corner_syndiwall_s"},/area/syndicate_mothership/ninja)
"dCo" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1331; id_tag = "emerc_base"; name = "docking port controller"; pixel_y = -25; req_one_access = 150; tag_door = "emerc_airlock_dock_door"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
@@ -2752,17 +2666,17 @@
"eta" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 10},/area/syndicate_station/start)
"ewx" = (/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "merchantshuttle"; name = "Merchant Window Shutters"; opacity = 0},/obj/structure/window/shuttle{icon_state = "11"; dir = 1},/turf/simulated/floor/plating,/area/shuttle/merchant/home)
"eyM" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1331; id_tag = "emerc_shuttle_pump"},/turf/simulated/floor/shuttle/red,/area/shuttle/syndicate_elite/mothership)
-"eCO" = (/obj/structure/flora/ausbushes/sparsegrass,/obj/effect/floor_decal/spline/fancy/wood{dir = 1},/turf/simulated/floor/holofloor/grass,/area/eclipse/civilian/dormitory/holodeck/source_picnicarea)
-"eJr" = (/obj/machinery/shower{pixel_y = 32},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/syndicate_mothership/elite_squad)
-"eLU" = (/obj/vehicle/bike/electric,/obj/effect/floor_decal/industrial/warning/full,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"eCO" = (/obj/effect/floor_decal/industrial/warning/red/cee{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"eJr" = (/turf/unsimulated/wall{icon_state = "riveted"; dir = 8},/area/syndicate_mothership)
+"eLU" = (/obj/structure/table/rack/dark,/obj/item/gun/launcher/alien/spikethrower,/obj/item/gun/launcher/alien/spikethrower,/obj/item/gun/launcher/alien/slugsling,/obj/item/gun/launcher/alien/slugsling,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"eMj" = (/obj/effect/floor_decal/corner/red{dir = 9},/obj/machinery/light/small{dir = 8},/obj/item/device/radio/intercom/syndicate{dir = 4; pixel_x = -22},/obj/structure/bed/chair/shuttle/red{dir = 4},/turf/simulated/floor/tiled/dark,/area/shuttle/syndicate_elite/mothership)
-"eMo" = (/obj/effect/decal/cleanable/cobweb,/obj/structure/closet,/obj/random/clothing/hat,/obj/random/junk,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
+"eMo" = (/obj/structure/table/rack,/obj/item/clothing/glasses/hud/plain/thermal/monocle,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
"eNt" = (/turf/simulated/shuttle/wall/syndi{dir = 6; icon_state = "syndiwall"},/area/shuttle/administration/centcom)
"eYA" = (/turf/simulated/shuttle/wall/syndi{dir = 4; icon_state = "syndiwall_t"},/area/shuttle/administration/centcom)
"fdA" = (/obj/structure/toilet{dir = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/syndicate_mothership/elite_squad)
"fjR" = (/obj/structure/table/glass,/obj/item/clothing/accessory/holochip/elitesyndicate,/obj/item/clothing/accessory/holochip/elitesyndicate,/obj/item/clothing/accessory/holochip/elitesyndicate,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
-"fom" = (/obj/item/clothing/glasses/sunglasses,/turf/simulated/floor/holofloor/beach/sand,/area/eclipse/civilian/dormitory/holodeck/source_beach)
-"fIW" = (/obj/structure/table/rack,/obj/item/clothing/suit/space/vox/carapace,/obj/item/clothing/head/helmet/space/vox/carapace,/obj/item/clothing/shoes/magboots/vox,/obj/item/clothing/gloves/vox,/obj/item/clothing/under/vox/vox_robes,/obj/item/clothing/accessory/holochip/vox,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
+"fom" = (/obj/structure/sign/flag/syndie,/turf/unsimulated/wall{icon_state = "riveted_straight"},/area/syndicate_mothership)
+"fIW" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_d"; dir = 1},/area/syndicate_station/start)
"fPQ" = (/obj/structure/table/glass,/obj/item/storage/box/donut,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
"fWQ" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 5},/area/syndicate_station/start)
"fXh" = (/turf/simulated/shuttle/wall{icon_state = "whiteship_straight"; dir = 4},/area/centcom/evac)
@@ -2771,39 +2685,38 @@
"gnd" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_t"; dir = 8},/area/syndicate_station/start)
"gqK" = (/obj/effect/floor_decal/corner/red/three_quarters,/turf/simulated/floor/tiled/dark,/area/syndicate_mothership/elite_squad)
"gBB" = (/turf/space,/turf/simulated/shuttle/wall/corner/syndi/se,/area/syndicate_mothership/ninja)
-"gCF" = (/obj/item/reagent_containers/food/checker/rook/red{randpixel = 0},/turf/simulated/floor/holofloor/tiled/dark,/area/eclipse/civilian/dormitory/holodeck/source_chess)
-"gEF" = (/obj/item/reagent_containers/food/checker/king{randpixel = 0},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_chess)
-"gSj" = (/obj/structure/mirror{pixel_y = -30},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/wizard_station)
+"gEF" = (/turf/space,/turf/simulated/shuttle/wall/corner/syndi/nw{icon_state = "corner_syndiwall_s"},/area/syndicate_station/start)
+"gSj" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/item/wrench,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
"hkK" = (/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "merchantshuttle"; name = "Merchant Window Shutters"; opacity = 0},/obj/structure/window/shuttle{icon_state = "11"; dir = 8},/turf/simulated/floor/plating,/area/shuttle/merchant/home)
"hlI" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_d"},/area/shuttle/syndicate_elite/mothership)
"huB" = (/obj/machinery/button/remote/blast_door{id = "elite_syndicate_ship"; name = "remote shutter control"; req_access = list(150)},/obj/structure/table/reinforced,/obj/effect/floor_decal/corner/red/three_quarters,/turf/simulated/floor/tiled/dark,/area/shuttle/syndicate_elite/mothership)
-"huR" = (/obj/effect/decal/cleanable/dirt,/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/holofloor/grass,/area/eclipse/civilian/dormitory/holodeck/source_picnicarea)
+"huR" = (/obj/structure/table/woodentable,/obj/item/dice,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
"hxg" = (/obj/machinery/door/airlock/external{frequency = 1331; icon_state = "door_locked"; id_tag = "emerc_shuttle_outer"; locked = 1; name = "Ship External Access"; req_access = list(150)},/obj/machinery/shield_diffuser,/turf/simulated/floor/shuttle/red,/area/shuttle/syndicate_elite/mothership)
"hQN" = (/turf/simulated/shuttle/wall/syndi{dir = 8; icon_state = "syndiwall_v"},/area/shuttle/administration/centcom)
"hRn" = (/turf/unsimulated/floor{name = "plating"},/turf/simulated/shuttle/wall/corner/syndi/sw,/area/shuttle/administration/centcom)
-"hSx" = (/obj/structure/flora/ausbushes/brflowers,/obj/effect/floor_decal/spline/fancy/wood,/turf/simulated/floor/holofloor/grass,/area/eclipse/civilian/dormitory/holodeck/source_picnicarea)
+"hSx" = (/obj/machinery/door/blast/regular{name = "Shuttle Blast Shutters"; icon_state = "pdoor0"; opacity = 0; density = 0; id = "syndieshutters_infirmary"},/obj/structure/window/syndi{icon_state = "ws3"},/turf/simulated/floor/plating,/area/syndicate_station/start)
"ifK" = (/turf/space,/turf/simulated/shuttle/wall/corner/syndi/ne,/area/shuttle/syndicate_elite/mothership)
-"igf" = (/obj/structure/bed/chair,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
+"igf" = (/obj/structure/closet/crate,/obj/item/implanter/freedom,/obj/item/implantcase/freedom,/obj/item/implanter/explosive,/obj/item/implantcase/explosive,/obj/item/card/emag,/obj/item/melee/energy/sword/pirate,/obj/item/melee/energy/sword/pirate,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
"inR" = (/obj/machinery/light,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor2"},/area/centcom/evac)
-"iDQ" = (/obj/structure/table/woodentable,/obj/random/handgun,/turf/unsimulated/floor{icon_state = "lino"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
+"iDQ" = (/obj/structure/sign/double/maltesefalcon/left,/turf/unsimulated/wall{icon_state = "riveted_straight"; dir = 8},/area/space)
"iOf" = (/turf/simulated/shuttle/wall/syndi{dir = 4; icon_state = "syndiwall_v"},/area/shuttle/administration/centcom)
"iOH" = (/turf/simulated/shuttle/wall/syndi{dir = 9; icon_state = "syndiwall"},/area/shuttle/deathsquad/centcom)
"iSs" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_d"; dir = 8},/area/shuttle/syndicate_elite/mothership)
-"iSS" = (/obj/structure/table/gamblingtable,/obj/item/deck/cards,/turf/unsimulated/floor{dir = 8; icon_state = "wood"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
+"iSS" = (/turf/unsimulated/wall{icon_state = "riveted_t"; dir = 8},/area/syndicate_mothership)
"iTM" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_t"; dir = 4},/area/rescue_base/start)
"iZj" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_d"; dir = 1},/area/shuttle/syndicate_elite/mothership)
"jjf" = (/obj/machinery/door/airlock/hatch{req_access = list(150)},/turf/unsimulated/floor{icon_state = "dark"},/area/skipjack_station/base)
"jpY" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"; dir = 5},/area/shuttle/merchant/home)
-"jyG" = (/obj/random/junk,/turf/unsimulated/floor{icon_state = "cult"; initial_gas = list("nitrogen"=103.984); name = "plating"},/area/skipjack_station/base)
-"jHh" = (/obj/effect/decal/cleanable/dirt,/turf/unsimulated/floor{dir = 8; icon_state = "wood"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"jKx" = (/obj/structure/table/rack/dark,/obj/item/gun/launcher/crossbow,/obj/item/stack/rods{amount = 10},/obj/item/gun/launcher/crossbow,/obj/item/stack/rods{amount = 10},/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"jNc" = (/obj/structure/window/basic{dir = 4},/obj/structure/urinal{pixel_y = 32},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/syndicate_mothership/elite_squad)
+"jyG" = (/obj/machinery/vending/tool,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"jHh" = (/obj/structure/closet/crate/trashcart,/obj/random/drinkbottle,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"jKx" = (/obj/machinery/light/small{dir = 4; pixel_y = 8},/turf/simulated/floor/shuttle/red,/area/skipjack_station/start)
+"jNc" = (/obj/machinery/door/airlock/hatch{req_access = list(150)},/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"jSR" = (/obj/machinery/computer/shuttle_control/multi/elite_syndicate,/obj/effect/floor_decal/corner/red/full,/turf/simulated/floor/tiled/dark,/area/shuttle/syndicate_elite/mothership)
-"kiy" = (/obj/machinery/door/airlock/external{frequency = 1331; icon_state = "door_locked"; id_tag = "emerc_airlock_dock_door"; locked = 1},/turf/simulated/floor,/area/syndicate_mothership/elite_squad)
+"kiy" = (/obj/structure/bookcase{name = "bookcase (Tactics)"},/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
"koT" = (/obj/effect/floor_decal/corner/red{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
-"kpx" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor/desert,/area/eclipse/civilian/dormitory/holodeck/source_picnicarea)
-"kpY" = (/obj/effect/overlay/palmtree_r,/turf/unsimulated/beach/sand{dir = 1; icon_state = "beach"},/area/eclipse/civilian/dormitory/holodeck/source_beach)
-"kzT" = (/obj/machinery/light/small{dir = 8},/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
+"kpx" = (/turf/simulated/floor/trim/wood/broken0{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"kpY" = (/obj/effect/floor_decal/industrial/warning/wiz,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"kzT" = (/turf/unsimulated/floor{name = "plating"; icon_state = "cult"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"kCn" = (/turf/simulated/shuttle/wall/syndi{dir = 8; icon_state = "syndiwall_b"},/area/shuttle/administration/centcom)
"kEf" = (/obj/structure/window/syndi,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/ninja)
"kIn" = (/obj/effect/floor_decal/corner/red{dir = 10},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
@@ -2813,10 +2726,10 @@
"kNc" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"kNw" = (/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "merchantshuttle"; name = "Merchant Window Shutters"; opacity = 0},/obj/structure/window/shuttle{icon_state = "window-whiteship-straight"},/turf/simulated/floor/plating,/area/shuttle/merchant/home)
"kQO" = (/turf/unsimulated/floor{name = "plating"},/turf/simulated/shuttle/wall/corner/syndi/nw{icon_state = "corner_syndiwall_s"},/area/shuttle/administration/centcom)
-"lca" = (/obj/structure/table/woodentable,/obj/item/pizzabox/meat,/turf/unsimulated/floor{icon_state = "lino"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"liZ" = (/obj/item/reagent_containers/food/checker/rook{randpixel = 0},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_chess)
+"lca" = (/obj/effect/floor_decal/industrial/warning/red{dir = 10},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"liZ" = (/obj/item/clothing/under/psysuit,/obj/item/clothing/suit/wizrobe/psypurple,/obj/item/clothing/head/wizard/amp,/obj/structure/closet/cabinet/wizcabinet,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
"lkz" = (/obj/structure/shuttle/engine/propulsion{dir = 1; icon_state = "propulsion_l"},/turf/simulated/floor/plating/airless,/area/shuttle/syndicate_elite/mothership)
-"lnJ" = (/obj/structure/table/rack,/obj/item/clothing/suit/space/vox/carapace,/obj/item/clothing/head/helmet/space/vox/carapace,/obj/item/clothing/shoes/magboots/vox,/obj/item/clothing/gloves/vox,/obj/item/clothing/under/vox/vox_robes,/obj/item/clothing/under/vox/vox_casual,/obj/item/clothing/accessory/holochip/vox,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
+"lnJ" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_d"; dir = 4},/area/syndicate_station/start)
"lnY" = (/obj/structure/closet/crate,/obj/effect/floor_decal/industrial/outline/grey,/obj/random/loot,/obj/random/loot,/obj/random/contraband,/turf/simulated/floor/tiled/dark,/area/merchant_station)
"lpg" = (/turf/simulated/shuttle/wall/syndi{dir = 4; icon_state = "syndiwall_straight"},/area/shuttle/deathsquad/centcom)
"lzm" = (/turf/simulated/shuttle/wall/syndi{dir = 1; icon_state = "syndiwall_d"},/area/shuttle/administration/centcom)
@@ -2824,15 +2737,15 @@
"lHB" = (/obj/structure/window/reinforced/crescent{dir = 4},/obj/structure/lattice,/turf/space,/area/space)
"lNG" = (/turf/simulated/shuttle/wall/syndi{dir = 1; icon_state = "syndiwall_straight"},/area/shuttle/administration/centcom)
"mgK" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"},/area/shuttle/escape/centcom)
-"mlU" = (/obj/structure/table/woodentable,/obj/item/storage/fancy/cigarettes,/turf/unsimulated/floor{icon_state = "lino"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
+"mlU" = (/obj/machinery/light/small{dir = 8},/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"muR" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_t"; dir = 1},/area/rescue_base/start)
"mxg" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_t"; dir = 4},/area/syndicate_mothership/ninja)
-"mIB" = (/obj/effect/decal/cleanable/dirt,/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/holofloor/grass,/area/eclipse/civilian/dormitory/holodeck/source_picnicarea)
+"mIB" = (/obj/structure/table/woodentable,/obj/item/storage/box/donut,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
"mYC" = (/obj/effect/floor_decal/corner/paleblue{dir = 6},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding)
"naX" = (/obj/effect/floor_decal/industrial/arrows/yellow,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding)
"nsG" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_b"; dir = 8},/area/shuttle/syndicate_elite/mothership)
"ntK" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"},/area/centcom/evac)
-"nyH" = (/obj/effect/overlay/palmtree_l,/obj/effect/overlay/coconut,/turf/simulated/floor/holofloor/beach/sand,/area/eclipse/civilian/dormitory/holodeck/source_beach)
+"nyH" = (/obj/effect/floor_decal/industrial/warning/red/cee{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"nDr" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_t"},/area/syndicate_station/start)
"nEV" = (/turf/simulated/floor/shuttle/red,/turf/simulated/shuttle/wall/corner/syndi/nw{icon_state = "corner_syndiwall_s"},/area/shuttle/administration/centcom)
"nKS" = (/turf/simulated/shuttle/wall/syndi{dir = 8; icon_state = "syndiwall_t"},/area/shuttle/administration/centcom)
@@ -2840,37 +2753,36 @@
"oed" = (/obj/machinery/door/airlock/external{frequency = 1331; icon_state = "door_locked"; id_tag = "emerc_shuttle_inner"; locked = 1; name = "Ship External Access"; req_access = list(150)},/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor/shuttle/red,/area/shuttle/syndicate_elite/mothership)
"oJy" = (/obj/structure/table/woodentable{dir = 5},/obj/item/reagent_containers/food/slice/carrotcake/filled,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/holding)
"oMX" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"; name = "Clothing Storage"},/obj/item/clothing/glasses/sunglasses,/turf/unsimulated/beach/sand{icon_state = "desert1"},/area/centcom/holding)
-"oSC" = (/obj/item/beach_ball,/turf/simulated/floor/holofloor/beach/sand,/area/eclipse/civilian/dormitory/holodeck/source_beach)
+"oSC" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_b"; dir = 8},/area/syndicate_station/start)
"oXY" = (/obj/machinery/light{dir = 8},/obj/effect/floor_decal/corner/red{dir = 9},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
"pbP" = (/turf/simulated/shuttle/wall/syndi{dir = 4; icon_state = "syndiwall_d"},/area/shuttle/administration/centcom)
"pju" = (/turf/space,/turf/simulated/shuttle/wall/corner/syndi/sw,/area/syndicate_mothership/ninja)
"pmr" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_b"; dir = 1},/area/syndicate_mothership/ninja)
-"poB" = (/obj/structure/flora/ausbushes/fullgrass,/obj/effect/floor_decal/spline/fancy/wood{dir = 1},/turf/simulated/floor/holofloor/grass,/area/eclipse/civilian/dormitory/holodeck/source_picnicarea)
+"poB" = (/obj/machinery/door/airlock/hatch{req_access = list(150)},/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
"pBp" = (/obj/effect/floor_decal/spline/plain/grey{dir = 8},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding)
"qcx" = (/obj/structure/table/woodentable{dir = 5},/obj/item/reagent_containers/food/amanita_pie,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/holding)
-"qge" = (/obj/effect/decal/cleanable/blood/oil,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
+"qge" = (/obj/structure/table/woodentable,/obj/item/reagent_containers/vessel/bottle/small/beer,/turf/unsimulated/floor{icon_state = "lino"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"qqx" = (/turf/space,/turf/simulated/shuttle/wall/corner/syndi/nw,/area/shuttle/syndicate_elite/mothership)
"qrE" = (/turf/unsimulated/floor{name = "plating"},/turf/simulated/shuttle/wall/corner/syndi/ne,/area/shuttle/administration/centcom)
"qsa" = (/obj/effect/floor_decal/industrial/arrows/blue{dir = 4},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding)
-"qwn" = (/obj/structure/sign/double/maltesefalcon/right,/turf/unsimulated/wall,/area/space)
+"qwn" = (/obj/structure/flora/pottedplant/autumn,/turf/simulated/floor/shuttle/red,/area/skipjack_station/start)
"qwv" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"; dir = 8},/area/centcom/evac)
"qCb" = (/obj/structure/table/steel_reinforced,/obj/item/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/pen,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
-"qES" = (/obj/structure/table/steel,/obj/item/device/flashlight/lamp/brown,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
+"qES" = (/obj/structure/window_frame/indestructible/hull,/turf/unsimulated/floor{name = "plating"},/area/syndicate_mothership)
"qLi" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"; dir = 10},/area/shuttle/transport/centcom)
"qOb" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_t"; dir = 4},/area/syndicate_station/start)
"qSm" = (/obj/structure/grille,/obj/structure/window/shuttle{icon_state = "6"; dir = 4},/turf/simulated/floor,/area/shuttle/escape/centcom)
-"qTx" = (/obj/structure/table/rack/dark,/obj/random/projectile,/obj/random/projectile,/obj/random/ammo,/obj/random/ammo,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"rcz" = (/obj/structure/flora/ausbushes/ywflowers,/obj/effect/floor_decal/spline/fancy/wood,/turf/simulated/floor/holofloor/grass,/area/eclipse/civilian/dormitory/holodeck/source_picnicarea)
-"rjR" = (/obj/item/reagent_containers/food/checker/bishop/red{randpixel = 0},/turf/simulated/floor/holofloor/tiled,/area/eclipse/civilian/dormitory/holodeck/source_chess)
-"roJ" = (/obj/structure/table/standard,/obj/item/storage/firstaid/surgery,/obj/item/storage/firstaid/combat,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
+"qTx" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 8},/area/space)
+"rcz" = (/obj/random/junk,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"roJ" = (/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
"rrU" = (/turf/space,/turf/simulated/shuttle/wall/corner/syndi/nw{icon_state = "corner_syndiwall_s"},/area/syndicate_mothership/ninja)
"rAK" = (/obj/machinery/door/blast/regular{dir = 4; id = "thunderdomegen"; name = "General Supply"},/obj/machinery/door/blast/regular{dir = 4; id = "thunderdomegen"; name = "General Supply"},/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/tdome)
"rDn" = (/obj/structure/bed/chair/shuttle/black{dir = 4},/turf/simulated/floor/shuttle/black,/area/rescue_base/start)
"rFY" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 9},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1331; master_tag = "emerc_shuttle"; name = "interior access button"; pixel_x = 25; pixel_y = 25; req_access = list(150)},/turf/simulated/floor/tiled/dark,/area/shuttle/syndicate_elite/mothership)
"rOP" = (/obj/structure/window/reinforced/crescent{dir = 8},/obj/structure/lattice,/turf/space,/area/space)
"rQy" = (/turf/simulated/shuttle/wall/syndi{dir = 1; icon_state = "syndiwall_t"},/area/shuttle/administration/centcom)
-"sal" = (/obj/structure/table/woodentable,/obj/machinery/chemical_dispenser/bar_soft/full,/turf/unsimulated/floor{icon_state = "lino"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"saU" = (/obj/structure/flora/ausbushes/brflowers,/obj/effect/floor_decal/spline/fancy/wood{dir = 9},/obj/effect/floor_decal/spline/fancy/wood,/turf/simulated/floor/holofloor/grass,/area/eclipse/civilian/dormitory/holodeck/source_picnicarea)
+"sal" = (/obj/item/clothing/suit/wizrobe/magusred,/obj/item/clothing/head/wizard/magus,/obj/item/staff,/obj/structure/closet/cabinet/wizcabinet,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
+"saU" = (/turf/unsimulated/wall{icon_state = "riveted_15"},/area/syndicate_mothership)
"sgp" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 10},/area/shuttle/syndicate_elite/mothership)
"shB" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 9},/area/syndicate_station/start)
"sAe" = (/obj/structure/table/standard,/obj/item/device/radio/off,/obj/item/device/radio/off,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
@@ -2880,311 +2792,307 @@
"tfE" = (/obj/structure/table/reinforced,/obj/machinery/recharger,/obj/effect/floor_decal/corner/red/three_quarters{dir = 4},/turf/simulated/floor/tiled/dark,/area/shuttle/syndicate_elite/mothership)
"tha" = (/turf/simulated/floor/shuttle/red,/turf/simulated/shuttle/wall/corner/syndi/se{icon_state = "corner_syndiwall_s"},/area/shuttle/administration/centcom)
"thC" = (/obj/effect/floor_decal/corner/red{dir = 9},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
-"tiw" = (/obj/structure/table/woodentable,/obj/random/cash,/turf/unsimulated/floor{icon_state = "lino"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
+"tiw" = (/turf/unsimulated/wall{icon_state = "riveted"},/area/skipjack_station/base)
"ttI" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"; dir = 4},/area/shuttle/escape/centcom)
"txP" = (/obj/machinery/teleporter_gate,/turf/simulated/floor/plating,/area/syndicate_mothership/ninja)
"tyr" = (/obj/effect/floor_decal/corner/green/three_quarters{dir = 4},/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/tdome)
"tLb" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 9},/turf/simulated/floor/tiled/dark,/area/shuttle/syndicate_elite/mothership)
"tPO" = (/obj/structure/window/syndi{icon_state = "ws1"},/turf/simulated/floor/plating,/area/shuttle/administration/centcom)
-"tRB" = (/obj/item/stool/padded,/turf/unsimulated/floor{dir = 8; icon_state = "wood"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
+"tRB" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 8},/area/syndicate_mothership)
"tSl" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_t"; dir = 8},/area/shuttle/deathsquad/centcom)
-"tUr" = (/obj/effect/decal/cleanable/dirt,/obj/effect/floor_decal/spline/fancy/wood{dir = 8},/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/holofloor/grass,/area/eclipse/civilian/dormitory/holodeck/source_picnicarea)
"tZQ" = (/obj/structure/table/woodentable{dir = 5},/obj/item/reagent_containers/food/soylenviridians,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/holding)
"udL" = (/obj/structure/bed/chair,/obj/effect/shuttle_landmark/elite_syndicate/start,/obj/effect/floor_decal/corner/red{dir = 10},/turf/simulated/floor/tiled/dark,/area/shuttle/syndicate_elite/mothership)
-"uge" = (/obj/machinery/door/airlock/hatch{req_access = list(150)},/turf/unsimulated/floor{icon_state = "freezerfloor"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"ugy" = (/obj/item/reagent_containers/food/checker/knight{randpixel = 0},/turf/simulated/floor/holofloor/tiled/dark,/area/eclipse/civilian/dormitory/holodeck/source_chess)
+"uge" = (/obj/structure/table/steel,/obj/machinery/recharger,/turf/simulated/floor/shuttle/red,/area/skipjack_station/start)
+"ugy" = (/turf/unsimulated/wall{icon_state = "riveted_t"; dir = 1},/area/syndicate_mothership/elite_squad)
"unt" = (/obj/structure/table/steel_reinforced,/obj/machinery/recharger,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
-"uog" = (/obj/structure/flora/ausbushes/brflowers,/obj/effect/floor_decal/spline/fancy/wood/corner,/turf/simulated/floor/holofloor/grass,/area/eclipse/civilian/dormitory/holodeck/source_picnicarea)
+"uog" = (/turf/unsimulated/wall{icon_state = "riveted_t"; dir = 4},/area/security/brig/solitary)
"urT" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 10},/area/rescue_base/start)
"uEO" = (/obj/structure/table/woodentable{dir = 5},/obj/item/reagent_containers/food/spesslaw,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/holding)
-"uMI" = (/turf/simulated/floor/trim/wood/broken0{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"uPo" = (/obj/item/reagent_containers/food/checker/rook{randpixel = 0},/turf/simulated/floor/holofloor/tiled/dark,/area/eclipse/civilian/dormitory/holodeck/source_chess)
+"uMI" = (/obj/effect/floor_decal/sign/armory/ballistic2{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"vbM" = (/obj/effect/floor_decal/corner/red/three_quarters{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
"vdZ" = (/turf/simulated/shuttle/wall{icon_state = "whiteship15"},/area/shuttle/merchant/home)
"vef" = (/obj/machinery/hologram/holopad,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/holding)
-"vjn" = (/obj/structure/sign/double/maltesefalcon/left,/turf/unsimulated/wall,/area/space)
+"vjn" = (/obj/item/remains/human,/obj/effect/floor_decal/industrial/warning/wiz{dir = 9},/turf/unsimulated/floor{name = "plating"; icon_state = "lava"},/area/wizard_station)
"vBm" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_straight"; dir = 8},/area/rescue_base/start)
"vCm" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_straight"; dir = 1},/area/syndicate_station/start)
"vDl" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_b"; dir = 8},/area/syndicate_mothership/ninja)
-"vJX" = (/obj/structure/table/rack,/obj/item/clothing/suit/space/vox,/obj/item/clothing/head/helmet/space/vox,/obj/item/clothing/shoes/magboots/vox,/obj/item/clothing/gloves/vox,/obj/item/clothing/under/vox/vox_robes,/obj/item/clothing/accessory/holochip/vox,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
"vSO" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_b"},/area/shuttle/administration/centcom)
"vUX" = (/obj/structure/bed/chair/shuttle/red{dir = 4},/obj/effect/floor_decal/industrial/warning/red{dir = 9},/turf/simulated/floor,/area/syndicate_station/start)
-"vVl" = (/mob/living/simple_animal/faithful_hound,/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/wizard_station)
+"vVl" = (/obj/structure/table/rack,/obj/item/clothing/suit/space/vox/pressure,/obj/item/clothing/head/helmet/space/vox/pressure,/obj/item/clothing/shoes/magboots/vox,/obj/item/clothing/gloves/vox,/obj/item/clothing/under/vox/vox_casual,/obj/item/clothing/accessory/holochip/vox,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"vZZ" = (/obj/machinery/light{dir = 1},/obj/structure/table/reinforced,/turf/simulated/floor/shuttle/red,/area/shuttle/administration/centcom)
"wlw" = (/turf/unsimulated/floor{name = "plating"},/turf/simulated/shuttle/wall/corner/syndi/se,/area/shuttle/administration/centcom)
"wtM" = (/obj/machinery/computer/shuttle_control/multi/elite_syndicate,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
-"wGr" = (/obj/structure/closet/crate/bin,/turf/unsimulated/floor{dir = 8; icon_state = "wood"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
+"wGr" = (/obj/structure/bed/chair,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"wGu" = (/obj/item/stool/padded,/obj/machinery/light{dir = 4},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
-"wLo" = (/obj/item/reagent_containers/food/checker/knight/red{randpixel = 0},/turf/simulated/floor/holofloor/tiled/dark,/area/eclipse/civilian/dormitory/holodeck/source_chess)
"wRY" = (/obj/machinery/airlock_sensor{frequency = 1331; id_tag = "emerc_shuttle_sensor"; pixel_y = 25},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1331; id_tag = "emerc_shuttle_pump"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/shuttle/red,/area/shuttle/syndicate_elite/mothership)
"wSq" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_d"},/area/shuttle/administration/centcom)
"xlV" = (/turf/simulated/shuttle/wall/syndi{dir = 4; icon_state = "syndiwall_b"},/area/shuttle/administration/centcom)
"xov" = (/obj/effect/floor_decal/corner/brown{dir = 6},/obj/machinery/suit_storage_unit/standard_unit{req_access = list(201)},/turf/simulated/floor/tiled/dark,/area/shuttle/merchant/home)
"xpf" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"; dir = 9},/area/shuttle/merchant/home)
-"xpT" = (/obj/machinery/vending/boozeomat,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
+"xpT" = (/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
"xsi" = (/obj/effect/floor_decal/corner/red/three_quarters{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
"xsI" = (/obj/effect/shuttle_landmark/administration/centcom,/obj/structure/window/syndi{icon_state = "ws3"},/turf/simulated/floor/plating,/area/shuttle/administration/centcom)
"xAz" = (/turf/simulated/shuttle/wall/syndi{dir = 5; icon_state = "syndiwall"},/area/shuttle/deathsquad/centcom)
-"xGy" = (/obj/structure/table/woodentable,/obj/item/storage/box/glasses,/obj/machinery/light/small{dir = 1},/turf/unsimulated/floor{icon_state = "lino"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"xKn" = (/obj/structure/flora/pottedplant/ugly,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
+"xGy" = (/obj/structure/mirror/raider,/turf/unsimulated/wall{icon_state = "riveted"; dir = 8},/area/skipjack_station/base)
+"xKn" = (/obj/structure/bed,/obj/item/bedsheet/purple,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"xWH" = (/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "merchantshuttle"; name = "Merchant Window Shutters"; opacity = 0},/obj/structure/window/shuttle{icon_state = "11"},/turf/simulated/floor/plating,/area/shuttle/merchant/home)
"yav" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"; dir = 8},/area/shuttle/escape/centcom)
"ygc" = (/obj/effect/floor_decal/corner/red{dir = 6},/obj/machinery/light/small{dir = 4},/obj/structure/bed/chair/shuttle/red{dir = 8},/turf/simulated/floor/tiled/dark,/area/shuttle/syndicate_elite/mothership)
(1,1,1) = {"
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaacaacaacaacaacaacaacaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaeaafaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaafaafaafaafaafaafaafaafaafaafaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaagaahaahaahaahaahaahaahaahaahaahaagaahaahaahaahaahaahaahaahaahaahaagaahaahaahaahaahaahaahaahaahaahaagaahaahaahaahaahaahaahaahaahaahaagaahaahaahaahaahaahaahaahaahaahaagaahaahaahaahaahaahaahaahaahaahaagaahaahaahaahaahaahaahaahaahaahaag
-aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaacaacaacaacaacaacaacaadaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaadaaeaafaaeaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaeaafaafaafaafaafaafaafaafaafaafaagaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaagaafaafaakaakaakaakaakaakaakaakaakaakaakaakaakaafaafaafaafaafaafaafaafaafaafaafaafabCabCabCabCabCabCabCabCaafaafaalaamaamaamaanaamaamaamaamaamaamaaoaapaaqaapaaqaapaapaaqaapaaqaapaaoaaraasaasaasaasaasaasaasaasaasaaoaavaavaavaavaavaavaavaavaauaataaoaawaawaawaawaawaawaawaawaawaawaaoaaxaaxaaxaaxaaxaaxaaxaaxaaxaaxaaoaaBaaCaaCaaCaaCaaCaaDaaAaazaayaaE
-aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaacaacaacaacaacaacaacaadaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaadaaeaafaaeaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaFaaFaaFaaFaaFaaFaaFaaFaaiaaiaaFaaFaaFaaFaaFaaFaaFaaFaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaeaafaafaafaafaafaafaafaafaafaafaagaajaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaajaagaafaafaakaaHaaIaakaaHaaJaakaaHaaKaakaaHaaIaakaafaafaafaafaafaafaafaafaafaafaafaafabCabRabRabRabCabRabRabCaafaafaalaamaamaamaamaamaamaamaamaaLaamaaoaaMabbuogrczhSxrczhSxaaNaaMabbaaoaaOaaOaaOaaOaaOaaOaaOaaOaaOaaOaaoaaQaaQaaQaaQaaQaaQaaQaaQaaPaataaoaawaaRaawaawaawaawaawaawaaRaawaaoaaxaaxaaxaaxaaxaaxaaxaaxaaxaaxaaoaaSaaTaaTaaTaaTaaTaaUaaAaazaayaaE
-aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaacaacaacaacaacaacaacaadaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaadaaeaafaaeaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaFaaVaaVaaVaaVaaVaaVaaFaaiaaiaaFaaVaaVaaVaaVaaVaaVaaFaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaeaafaafaafaafaafaafaafaafaafaafaagaajaaGaaWaaWaaWaaWaaWaaWaaXaaXaaXaaWaaWaaXaaXaaXaaWaaWaaWaaWaaWaaGaajaagaafaafaakaaYaaKaakaaYaaIaakaaYaaIaakaaYaaIaakaafaafaafaafaafaafaafaafaafaafaafaafabCabRacdabRaceabRabRabCaafaafaalaamaaLaamaamaamaamaamaamaamaamaaoabbaaMaaZaboabaabaacoabcabbaaMaaoaaOaaOaaOaaOaaOaaOaaOaaOaaOaaOaaoaaQaavabeaavaaQabfabgabhabdaataaoaawaawaawaawaawaawaawaawaawaawaaoaaxaaxaaxaaxaaxaaxaaxaaxaaxaaxaaoaaSaaTaaTaaTaaTaaTaaUabiaayaayaaE
-aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaacaacaacaacaacaacaacaadaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaadaaeaafaaeaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaFaaVaaVaaVaaVaaVaaVaaFaaiaaiaaFaaVaaVaaVaaVaaVaaVaaFaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaeaafaafaafaafaafaafaafaafaafaafaagaajaaGabjaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWabkaaGaajaagaafaafaakaakaakaakaakaakaakaakaakaakaakaakaakaafaafaafaafaafaafaafaafaafaafaafaafabCacmacmacmabCabRabRabCaafaafaalaamaamaamaamaamaanaamaamaamaamaaoaaMaaMabracoabDabDacoabpaaMabbaaoabqabqabqabqabqabqabqabqabqabFaaoabsabtabuabvabwabxabyabzabdaataaoaawaawaawaaRaawaawaaRaawaawaawaaoaaxaaxaaxaaxaaxaaxaaxaaxaaxaaxaaoaaSaaTaaTaaTaaTaaTaaUaaAaazaayaaE
-aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaacaacaacaacaacaacaacaadaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaadaaeaafaaeaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaFaaVaaVaaVaaVaaVaaVaaFaaiaaiaaFaaVaaVaaVaaVaaVaaVaaFaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaeaafaafaafaafaafaafaafaafaafaafaagaajaaGaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWabAaaWaaWaaWaaWaaWaaGaajaagaafaafaakaaHaaIaakaaHaaIaakabBaaIaakaaHaaKaakaafaafaafaafaafaafaafacyacyacyacyabCabCabCabCabCabCabRabRabCaafaafaalaamaamaanaamaamaamaanaamaamaamaaoabbabbabracoabDabDacotUrhuRmIBaaoabFabFabGabHabHabHabHabIabFabFaaoabKabLabLabLabMabxabNabOabdaataaoaawaawaawaawaawaawaawaawaawaawaaoaaxaaxaaxaaxaaxaaxaaxaaxaaxaaxaaoaaSaaTaaTaaTaaTaaTaaUaaAaazaayaaE
-aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiabPabPabPabPabPabPabPaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaacaacaacaacaacaacaacaadaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaadaaeaafaaeaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaFaaVaaVaaVaaVaaVaaVaaFaaiaaiaaFaaVaaVaaVaaVaaVaaVaaFaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaeaafaafaafaafaafaafaafaafaafaafaagaajaaGaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWabjaaWaaWaaWaaWaaWaaGaajaagaafaafaakaaYaaIabQaaYaaIaakaaYaaIaakaaYaaIaakaafaafaafaafaafaafaafacyacyacyacyaceabRabRabCabRabRabRabRabCaafaafaalaamaamaamaamaamaamaamaamaamaamaaoabbabbaaZaboabaabaacoavBmIBhuRaaoabFabFabSabTabTabTabTabUabFabFaaoabVabWabXabWabYabxabNabOabdaataaoaawaawaawaawaawaawaawaawaawaawaaoaaxaaxaaxaaxaaxaaxaaxaaxaaxaaxaaoabZaaTaaTaaTaaTaaTacaaaAaazaayaaE
-aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiabPabPacbacbacbacbacbabPabPaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaacaacaacaacaacaacaacaadaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaadaaeaafaaeaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaFaaVaaVaaVaaVaaVaaVaaFaaiaaiaaFaaVaaVaaVaaVaaVaaVaaFaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaeaafaafaafaafaafaafaafaafaafaafaagaajaaGaaWaaWaaWaaWaccabAaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaGaajaagaafaafaakaakaakaakaakaakaakaakaakaakaakaakaakaafaafaafaafaafaafaafacyacyacyacyabCabCabCabCabRabRabRacXabCaafaafaalaamaamaamaamaamaaLaamaamaamaanaaoaaMaaMablabmacoabosaUabEacfacgaaoabFabFabSabTabTabTabTabUabFabFaaoaciacjabXacjackabxabNabOabdaataaoaawaawaawaaRaawaawaaRaawaawaawaaoaaxaaxaaxaaxaaxaaxaaxaaxaaxaaxaaoabZaaTaaTaaTaaTaaTacaaaAaazaayaaE
-aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiabPabPacbacbacbacbacbacbacbabPabPaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaacaacaacaacaacaacaacaadaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaadaaeaafaaeaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaFaaVaaVaaVaaVaaVaaVaaFaaiaaiaaFaaVaaVaaVaaVaaVaaVaaFaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaeaafaafaafaafaafaafaafaafaafaafaagaajaaGaaWaaWaaWaaWaaWaclaclaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaGaajaagaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafabCacmabRabRacXabCaafaafaalaamaamaaLaamaamaamaamaamaamaamaaoabbaaMabbabraboacoacoacokpxacoaaoabFabFabSabTabTabTabTabUabFabFaaoacqabXabXabXacrabJacqacrachaataaoaawaawaawaawaawaawaawaawaawaawaaoaaxaaxaaxaaxaaxaaxaaxaaxaaxaaxaaoabZaaTaaTaaTaaTaaTacaacpaayaayaaE
-aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiabPacbacbacbacbacbacbacbacbacbabPaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaacaacaacaacaacaacaacaadaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaadaaeaafaaeaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaFaaVaaVaaVaaVaaVaaVaaFaaiaaiaaFaaVaaVaaVaaVaaVaaVaaFaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaeaafaafaafaafaafaafaafaafaafaafaagaajaaGaaWaaWaaWaaWaclactacuaclaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaGaajaagaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafabCacmabRabRacXabCaafaafaalaamaamaamaamaamaamaamaamaamaamaaoaaMabbaaMaaZacoacoacoaboacoacoaaoabFabFaczacAacAacAacAacBabFabFaaoaciacjacjacjackacsacCacDabdaataaoaawaaRaawaawaawaawaawaawaaRaawaaoaaxaaxaaxaaxaaxaaxaaxaaxaaxaaxaaoabZaaTaaTaaTaaTaaTacaaaAaazaayaaE
-aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiabPacbacbacbacbacbacbacbacbacbabPaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaacaacaacaacaacaacaacaadaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaadaaeaafaaeaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaFaaVaaVaaVaaVaaVaaVaaFaaFaaFaaFaaVaaVaaVaaVaaVaaVaaFaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaeaafaafaafaafaafaafaafaafaafaafaagaajaaGaaWaaWaaWaaWaclacFacGaclaaWaaWaccaaWacHaaWaaWaaWaaWaaWaaWaaGaajaagaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafabCabCabCabCabCabCaafaafaalaanaamaamaamaaLaamaamaamaamaaLaaoaapaaqaapacnpoBpoBeCOpoBeCOpoBaaoacNabFabFabFabFabFabFabFabFabFaaoacPacQacQacQacRabxaavaavaauaataaoaawaawaawaawaawaawaawaawaawaawaaoaaxaaxaaxaaxaaxaaxaaxaaxaaxaaxaaoacSacTacTacTacTacTacUaaAaazaayaaE
-aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiabPacbacbacbacbacbacbacbacbacbabPaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaacaacaacaacaacaacaacaadaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaadaaeaafaaeaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaFaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaFaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaeaafaafaafaafaafaafaafaafaafaafaagaajaaGaaWaaWaaWaaWaaWaclaclaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaGaajaagaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaagacYacYacYacYacYacYacYacYacYacYaagacYacYacYacYacYacYacYacYacYacYaagacYacYacYacYacYacYacYacYacYacYaagacZacZacZacZacZacZacZacZacZacZaagacZacZacZacZacZacZacZacZacZacZaagacZacZacZacZacZacZacZacZacZacZaagacZacZacZacZacZacZacZacZacZacZaag
-aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiabPacbacbacbacbacbacbacbacbacbabPaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaacaacaacaacaacaacaacaadaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaadaaeaafaaeaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaFaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaFaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaeaafaafaafaafaafaafaafaafaafaafaagaajaaGaaWaaWabAaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWabjaaWaaWaaGaajaagaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaladdaddaddaddaddaddaddaddaddaddaaoadeadeadeadeadeadeadeadeadeadeaaoadfadfadfadfadfadfadfadfadfadgaaoadkadladkadmadnadladnacEadiadhaaoadJadJadJadJadJadJadJadJadJadJaaoadsadtadtadtadtadtaduacOadqadpaaoadvadvadwadwadwadwadwadwadwadwaaE
-aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiabPacbacbacbacbacbacbacbacbacbabPaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaacaacaacaacaacaacaacaadaacaacaacaacaacaacaacaacaacaacadxadxadxadxaacaacaacaacaacaacaacaacaacaadaaeaafaaeaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaFaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaFaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaeaafaafaafaafaafaafaafaafaafaafaagaajaaGaaWaaWaccabAaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWabAaaWaaWaaGaajaagaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaladdaddaddadBaddaddaddaddadBaddaaoadeadCadeadeadeadeadCadeadeadeaaoadfadfadDadEadEadEadFadfadfadfaaoadGadHadGadHadIadHadIacEadiadhaaoadJadJadJadJadJadJadJadJadJadJaaoadKadLadLadLadLadLadMacOadqadpaaoadwadwadwadwadNadNadNadwadwadwaaE
-aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiabPacbadOacbacbacbacbacbacbacbabPaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaacaacaacaacaacaacaacaadaacaacaacaacaacaacaacaacadxadxadxadPadPadxaacaacaacaacaacaacaacaacaacaadaaeaafaaeaaaaaiaaiaaiaaiaaiaaFaaFaaFaaFaaFaaFaaFaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaFaaFaaFaaFaaFaaFaaFaaiaaiaaiaaiaaiaaaaaeaafaafaafaafaafaafaafaafaafaafaagaajaaGaaWaaWaaWaaWaaWaaWaaWadQaaWadQaaWadQaaWadRaaWaaWaaWaaWaaWaaGaajaagaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaladdaddaddaddaddaddaddaddaddaddaaoadeadeadeadeadeadeadeadeadZadeaaoadfadfaeaaeaaeaaeaaeaadfadfadfaaoadGadHadladladladHadIadjadhadhaaoadJadJajlaedaedaedaedaedaedaedaaoadKadLadLadLadLadLadMadradpadpaaoadwadwadwaefaegaegaegadwadwadwaaE
-aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiabPacbacbacbacbacbacbacbacbacbabPaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaacaacaacaacaacaacaacaadaacaacaacaacaacaacaacaacadxadPadPadPadPaehaacaacaacaacaacaacaacaacaacaadaaeaafaaeaaaaaiaaiaaiaaiaaiaaFaaVaaVaaVaaVaaVaaFaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaFaaVaaVaaVaaVaaVaaFaaiaaiaaiaaiaaiaaaaaeaafaafaafaafaafaafaafaafaafaafaagaajaaGaaWaaWaaWaeiaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaGaajaagaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaladdadBaddaddaddaddadBaddaddaddaaoadeadeaekadeadZadeadeadeadeadeaaoaelaelaelaelaelaelaelaelaelaemaaoadGadHadHadHadHadHadIacEadiadhaaoadJadJadooSCaeHaeHaeHaeHaeHaeHaaoadKadLadLadLadLadLadMacOadqadpaaoadwadNaeoaepaeqaeqaeraesadNadwaaE
-aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiabPacbacbacbacbacbacbacbacbacbabPaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaacaacaacaacaacaacaacaadaacaacaacaacaacaacaacaacadxadPaetadPadPaeuaacaacaacaacaacaacaacaacaacaadaaeaafaaeaaaaaiaaiaaiaaiaaiaaFaaVaaVaaVaaVaaVaaFaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaFaaVaaVaaVaaVaaVaaFaaiaaiaaiaaiaaiaaaaaeaafaafaafaafaafaafaafaafaafaafaagaajaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaajaagaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaladdaddaddaddaddaddaddaddaddaddaaoadeadeadeaeyadeadeadeadeaeyadeaaoaelaeAaeBaeBaeBaeBaeBaeCaelaemaaoaeDaeEaeEaeFaeEaeEaeGacEadiadhaaoadJadJadoaeHaeHfomaeHaeHaeHaeHaaoaeIaeJaeJaeJaeJaeJaeKacOadqadpaaoadwadNaeoaeLaeMaeNaeOaesadNadwaaE
-aaaaaiaaiaaiaaiaaiaaiaaiaafaafaftafwafwafwafwafwafwafwafwafwaftaafaafaaiaaiaaiaaiaaiaaiaaiaaaaacaacaacaacaacaacaacaadaacaacaacaacaacaacaacaacadxadPadPadPadPaeuaacaacaacaacaacaacaacaacaacaadaaeaafaaeaaaaaiaaiaaiaaiaaiaaFaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaFaaiaaiaaiaaiaaiaaaaaeaafaafaafaafaafaafaafaafaafaafaagaajaePaeQaeQaeQaeQaeQaeQaeQaeQaeQaeQaeQaeQaeQaeQaeQaeQaeQaeQaeQaePaajaagaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaladdaddaddadBaddaddaddaddaddaddaaoadeadeadeadeadeadeadeadeadeadeaaoaelaeTaeUaeUaeUaeUaeUaeVaelaemaaoaeWaeXaeXaeXaeXaeXaeYacEadiadhaaoadJajlkpYaeHaeHaeHaeHajiaeHaeHaaoaeZafaafaafaafaafaafbacOadqadpaaoadwadNaeoaeLafcafdaeOaesadNadwaaE
-aaaaaiaaiaaiaaiaaiaaiaaiaafaafaftafwafwafwafwafwafwafwafwafwaftaafaafaaiaaiaaiaaiaaiaaiaaiaaaaacaacaacaacaacaacaacaadaacaacaacaacaacaacaacaacadxadxadxadPadPadxaacaacaacaacaacaacaacaacaacaadaaeaafaaeaaaaaiaaiaaiaaiaaiaaFaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaFaaiaaiaaiaaiaaiaaaaaeaafaafaafaafaafaafaafaafaafaafaagaajaffafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgaffaajaagaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaladdaddaddaddaddaddaddaddadBaddaaoadeadeadeadeadCadeaekadeadeadCaaoaelaeTaeUaeUaeUaeUaeUaeVaelaemaaoafiadHadHadHadHadHafjacEadiadhaaoadJadoaeHajiaeHaeHaeHaeHaeHaeHaaoafkadLadLadLadLadLaflacOadqadpaaoadwadNaeoaerafmafmafnaesadNadwaaE
-aaaaaiaaiaaiaaiaaiaaiaaiaafaafaftafwafwafwafwafwafwafwafwafwaftaafaafaaiaaiaaiaaiaaiaaiaaiaaaaacaacaacaacaacaacaacaadaacaacaacaacaacaacaacaacaacaacadxadxadxadxaacaacaacaacaacaacaacaacaacaadaaeaafaaeaaaaaiaaiaaiaaiaaiaaFaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaFaaiaaiaaiaaiaaiaaaaaeaafaafaafaafaafaafaafaafaafaafaagaajaffafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgaffaajaagaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaladdadBaddaddaddaddaddaddaddaddaaoafradeadeadeadeafradeadeadeadeaaoaelaeTaeUaeUaeUaeUaeUafsaelaemaaoafiadHafuafuafuadHafjaebadhadhaaoaednyHaeHaeHaeHaeHaeHafvaeHaeHaaoafkadLadLadLadLadLaflaeeadpadpaaoadwadwadwafxafxafxafyadwadwadwaaE
-aaaaaiaaiaaiaaiaaiaaiaaiaaiabPabPacbacbacbacbacbacbacbacbacbabPabPaaiaaiaaiaaiaaiaaiaaiaaiaaaaacaacaacaacaacaacaacaadaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaadaaeaafaaeaaaaaiaaiaaiaaiaaiaaFaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaFaaiaaiaaiaaiaaiaaaaaeaafaafaafaafaafaafaafaafaafaafaagaajaffafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgaffaajaagaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaladdaddaddaddaddaddadBaddaddaddaaoadeaeyadeaekadeadeaeyadeaekadeaaoaelafAafBafBafBafBafBafCaelaemaaoafiadHafiadHafjadHafjacEadiadhaaoaeHaeHaeHaeHafDaeHaoDaeHaeHaeHaaoafkadLadLadLadLadLaflacOadqadpaaoadwadwadwadNadNadNadwadwadwadwaaE
-aaaaaiaaiaaiaaiaaiaaiaaiafeabPacbacbacbacbacbacbacbacbacbacbacbabPabPaaiaaiaaiaaiaaiaaiaaiaaaaacaacaacaacaacaacaacaadaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaadaaeaafaaeaaaaaiaaiaaiaaiaaiaaFaaVaaVaaVaaVaaVaaFaaFaaFaaFaaVaaVaaVaaVaaVaaVaaFaaFaaFaaFaaVaaVaaVaaVaaVaaFaaiaaiaaiaaiaaiaaaaaeaafaafaafaafaafaafaafaafaafaafaagaajaffafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgaffaajaagaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaladdaddaddaddaddaddaddaddaddaddaaoadeadeadeadeafradeadeadeadeafraaoaelaelaelaelaelaelaelaelaelaemaaoafEafuafEafFafGafuafGacEadiadhaaoaeHaeHaeHaeHaeHaeHaeHaeHaeHaeHaaoafHafIafIafIafIafIafJacOadqadpaaoadwadwadwadwadwadwadwadwafKafKaaE
-aaaaaiaaiaaiaaiaaiaaiaaiafeacbacbacbacbacbacbacbacbacbacbacbacbacbabPaaiaaiaaiaaiaaiaaiaaiaaaaacaacaacaacaacaacaacaadaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaadaaeaafaaeaaaaaiaaiaaiaaiaaiaaFaaVaaVaaVaaVaaVaaFaaiaaiaaFaaVaaVaaVaaVaaVaaVaaFaaiaaiaaFaaVaaVaaVaaVaaVaaFaaiaaiaaiaaiaaiaaaaaeaafaafaafaafaafaafaafaafaafaafaagaajaffafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgaffaajaagaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaagafLafLafLafLafLafLafLafLafLafLaagafLafLafLafLafLafLafLafLafLafLaagafLafLafLafLafLafLafLafLafLafLaagafLafLafLafLafLafLafLafLafLafLaagafLafLafLafLafLafLafLafLafLafLaagafLafLafLafLafLafLafLafLafLafLaagacZacZacZacZacZacZacZacZacZacZaag
-aaaaaiaaiaaiaaiaaiaaiaaiafeacbacbacbacbacbacbacbacbacbacbacbacbacbabPaaiaaiaaiaaiaaiaaiaaiaabaacaacaacaacaacaacaacaadaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaadaaeaafaaeaaaaaiaaiaaiaaiaaiaaFaaVaaVaaVaaVaaVaaFaaiaaiaaFaaFaaFaaFaaFaaFaaFaaFaaiaaiaaFaaVaaVaaVaaVaaVaaFaaiaaiaaiaaiaaiaaaaaeaafaafaafaafaafaafaafaafaafaafaagaajaffafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgaffaajaagaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaalaeSaeSaeSaeSaeSaeSaeSaeSaeSaeSaaE
-aaaaaiaaiaaiaaiaaiaaiaaiafeacbacbacbacbacbacbacbacbacbacbacbacbacbabPaaiaaiaaiaaiaaiaaiaaiaaaaacaacaacaacaacaacaacaadaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaadaaeaafaaeaaaaaiaaiaaiaaiaaiaaFaaVaaVaaVaaVaaVaaFaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaFaaVaaVaaVaaVaaVaaFaaiaaiaaiaaiaaiaaaaaeaafaafaafaafaafaafaafaafaafaafaagaajaffafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgaffaajaagaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaalaeSliZugybEAahhgEFcOZagluPoaeSaaE
-aaaaaiaaiaaiaaiaaiaaiaaiafeacbacbacbacbacbacbacbacbacbacbacbacbacbabPaaiaaiaaiaaiaaiaaiaaiaaaaacaacaacaacaacaacaacaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaeaafaaeaaaaaiaaiaaiaaiaaiaaFaaFaaFaaFaaFaaFaaFaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaFaaFaaFaaFaaFaaFaaFaaiaaiaaiaaiaaiaaaaaeaafaafaafaafaafaafaafaafaafaafaagaajaffafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgaffaajaagaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaalaeSagbafNagbafNagbafNagbafNaeSaaE
-aaaaaiaaiaaiaaiaaiaaiaaiafeacbacbacbacbacbacbacbacbacbacbacbacbacbabPaaiaaiaaiaaiaaiaaiaaiaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaafaafaafaafaaeaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaeaafaafaafaafaafaafaafaafaafaafaagaajaffafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgaffaajaagaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaalaeSagwaICagwaICagwaICagwaICaeSaaE
-aaaaaiaaiaaiaaiaaiaaiaaiafeacbacbacbacbacbacbacbacbacbacbacbacbacbabPaaiaaiaaiaaiaaiaaiaaiaaaaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaafaafaafaafaaeaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaeaafaafaafaafaafaafaafaafaafaafaagaajaffafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgaffaajaagaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaalaeSaICagwaICagwaICagwaICagwaeSaaE
-aaaaaiaaiaaiaaiaaiaaiaaiafeacbacbacbacbacbacbacbacbacbacbacbacbacbabPaaiaaiaaiaaiaaiaaiaaiaaaaaiaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaiaaiaafaafaafaafaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaafaafaafaafaafaafaafaafaafaafaagaajaffafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgaffaajaagaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaalaeSagwaICagwaICagwaICagwaICaeSaaE
-aaaaaiaaiaaiaaiaaiaaiaaiafeacbacbacbacbacbacbacbacbacbacbacbacbacbabPaaiaaiaaiaaiaaiaaiaaiaaaaaiaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaiaaiaafaafaafaafaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaafaafaafaafaafaafaafaafaafaafaagaajaffafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgaffaajaagaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaalaeSaICagwaICagwaICagwaICagwaeSaaE
-aaaaaiaaiaaiaaiaaiaaiaaiafeacbacbacbacbacbacbacbacbacbacbacbacbacbabPaaiaaiaaiaaiaaiaaiaaiaaaaaiaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaiaaiaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaagaajaffafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgaffaajaagaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaalaeSagQaHOagQaHOagQaHOagQaHOaeSaaE
-aaaaaiaaiaaiaaiaaiaaiaaiabPacbacbacbacbacbacbacbacbacbacbacbacbacbabPaaiaaiaaiaaiaaiaaiaaiaaaaaiaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaiaaiaaeagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaagaajaffafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgaffaajaagaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaalaeSgCFaKgdvIaiEbAcrjRwLoaIDaeSaaE
-aaaaaiaaiaaiaaiaaiaaiaaiabPabPacbacbacbacbacbabPacbacbacbacbacbabPabPaaiaaiaaiaaiaaiaaiaaiaaaaaiaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaiaaiaaeagLaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiagLaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaagaajaffaffaffaffaffaffaffaffaffaffaffaffaffaffaffaffaffaffaffaffaffaajaagaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaalaeSaeSaeSaeSaeSaeSaeSaeSaeSaeSaaE
-aaaaaiaaiaaiaaiaaiaaiaaiaaiabPabPacbacbacbabPaaiabPacbacbacbabPabPaaiaaiaaiaaiaaiaaiaaiaaiaaaaaiaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaiaaiaaeagLaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaafaaiagLaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaagaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaagaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaagafLafLafLafLafLafLafLafLafLafLaag
-aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiabPacbacbacbabPaaiabPacbacbacbabPaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaiaaaaaiaaiaaiaaiaaiaaiaaiaaiahaahaahaahaahaahaahaahaahaaaiaaiaaiaaiaaiaaiaaiaaiaaaaaiaaiaaeagLaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaafagLaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiabPabPabPabPabPaaiabPabPabPabPabPaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaiaaaaaiaaiaaiaaiaaiaaiaaiaaFaheahfahfahfahfahfahfahfahaaaFaaiaaiaaiaaiaaiaaiaaiaaaaaiaaiaaeagLaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiagLaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaiaaaaaiaaiaaiaaiaaiaaiaaiaaFahfahfahfahfahfahfahfahfahfaaFaaiaaiaaiaaiaaiaaiaaiaaaaaiaaiaaeagLaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiagLaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaiaaaaaiaaiaaiaaiaaiaaiaaiaaFahfahfahfahfahiahfahfahfahfaaFaaiaaiaaiaaiaaiaaiaaiaaaaaiaaiaaeagLaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiagLaaeaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaafaafaafaafaaiaaaaaiaaiaaiaaiaaiaaiaaiaaFahfahfahfahfahfahfahfahfahfaaFaaiaaiaaiaaiaaiaaiaaiaaaaaiaaiaaeagLaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiagLaaeaadaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaadaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaafaafaafaafaaiaaaaaiaaiaaiaaiaaiaaiaaiaaFahfahfahfahfahfahfahfahfahfaaFaaiaaiaaiaaiaaiaaiaaiaaaaaiaaiaaeagLaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiagLaaeaadaacaacaacaacarBarBarBarBarBarBarBarBarBarBarBarBarBarBaacaacaacaacaacaadaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaafaafaafaafaaiaaaaaiaaiaaiaaiaaiaaiaaiaaFahfahfahfahfahfahfahfahfahfaaFaaiaaiaaiaaiaaiaaiaaiaaaaaiaaiaaeagLaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaFaaFaaFaaiaaiaaiaaFaaFaaFaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiagLaaeaadaacaacaacarBarBavravravravravravravravravravravravraeharBarBaacaacaacaadaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaafaafaafaafaaiaaaaaiaaiaaiaaiaaiaaiaaiaaFahaahfahfahfahfahfahfahfahaaaFaaiaaiaaiaaiaaiaaiaaiaaaaaiaaiaaeagLaaiaaiaaiaaiaaiaaiaaFaaFaaFaaFaaFaaFaaiaaFahnaaFaaFaaFaaFaaFahnaaFaaiaaFaaFaaFaaFaaFaaFaaiaaiaaiaaiaaiaaiaaiagLaaeaadaacaacarBarBavravravravravravravravravravravravravravravraeharBaacaacaadaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaafaafaafaafaaiaaaaaiaaiaaiaaiaaiaaiaaiahaahaahfahfahfahfahfahfahfahaaaFaaiaaiaaiaaiaaiaaiaaiaaaaaiaaiaaeagLaaiaaiaaiaaiaaiaaiaaFahnahnahnahnaaFaaFaaFahnahnahnahnahnahnahnaaFaaFaaFahnahnahnahnaaFaaiaaiaaiaaiaaiaaiaaiagLaaeaadaacarBarBavravravravravravravravravravravravravravravravravraehaacaacaadaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaafaafaafaafaaiaaaaaiaaiaaiaaiahaahaahaahaahfahfahfahfahfahfahfahfahfahaahaaaFahaaaiaaiaaiaaiaaaaaiaaiaaeagLaaiaaiaaiaaiaaiaaiaaFahnahnahnahnaaFaaFahnahnahnahnahnahnahnahnahnaaFaaFahnahnahnahnaaFaaiaaiaaiaaiaaiaaiaaiagLaaeaadaacarBavravravravravravravravravravravravravravravravravravraehaacaacaadaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaafaafaafaafaaiaaaaaiaaiaaiaaiaaFahfahfahfahfahfahfahfahfahfahfahfahfahfahfahfahaaaiaaiaaiaaiaaaaaiaaiaaeagLaaiaaiaaiaaiaaiaaiaaFahnahnahnahnaaFaaFahnahnahnahnamSahnahnahnahnaaFaaFahnahnahnahnaaFaaiaaiaaiaaiaaiaaiaaiagLaaeaadaacarBavravravravravravravravravravravravravravravravravravraehaacaacaadaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagWagWagWagWagWagWagWagWagWagWagWagWagWaafaafaafaafaafaafaafaafaafaafaaf
-aaaaaiaaiahtahtahtahtahtaaiaaiaaiabPaheaheahaabPaaiaaiaaiabPaheaheahaabPaaiaaiaaaaafaafaafaafaaiaaaaaiaaiaaiaaiaaFahfahfahfahfahfahfahfahfahfahfahfahfahfahfahfahaaaiaaiaaiaaiaaaaaiaaiaaeagLaaiaaiaaiaaiaaiaaiaaFahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnaaFaaiaaiaaiaaiaaiaaiaaiagLaaeaadaacarBavravravravravravravravravravravravravravravravravravraehaacaacaadaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagWvbMfPQfjRfjRagnfjRaguagWaIVjNceJragWaafaafaafaafaafaafaafaafaafaafaaf
-aaaaaiaaiahtahuahuahuahtaaiaaiaaiabPahvahvahvabPaaiaaiaaiabPahwahwahwabPaaiaaiaaaaafaafaafaafaaiaaaaaiaaiaaiaaiaaFahfahfahfahfahfahfahfahfahfahfahfahfahfahfahfahaaaiaaiaaiaaiaaaaaiaaiaaeagLaaiaaiaaiaaiaaiaaiaaFahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnaaFaaiaaiaaiaaiaaiaaiaaiagLaaeaadaacarBavravravravravravravravravravravravravravsavsavsavsavsaehaacaacaadaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagWthCadWadWadWadWadWadWagJaKvaQAaKvagWaafaafaafaafaafaafaafaafaafaafaaf
-aaaaaiahtahtahuahxahuahtahtaaiahtabPahvahyahvabPahtaaiahtabPahwahzahwabPahtaaiaaaaafaafaafaafaaiaaaaaiaaiaaiaaiaheahfahfahfahfahfahfahfahfahfahfahfahfahfahfahfahaaaiaaiaaiaaiaaaaaiaaiaaeagLaaiaaiaaiaaiaaiaaiaaFahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnaaFaaiaaiaaiaaiaaiaaiaaiagLaaeaadaacarBavravravravravravravravravravravraVIavravsavsavsavsavsaVJaacaacaadaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagWagWagWagWagWoXYadWafzafzafzadWagpagWaIBagWaIBagWaafaafaafaafaafaafaafaafaafaafaaf
-aaaaaiahtahuahuahuahuahuahAaaiabPahvahvahvahvahvabPaaiabPahwahwahwahwahwabPaaiaaaaafaafaafaafaaiaaaaaiaaiaaiaaiahaahfahfahfahfahfahfahfahfahfahfahfahfahfahfahfahaaaiaaiaaiaaiaaaaaiaaiaaeagLaaiaaiaaiaaiaaiaaiaaFahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnaaFaaiaaiaaiaaiaaiaafaaiagLaaeaadaacarBavravravravravravravravravravravravravravsavsavsavsavsaVJaacaacaadaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagWbOSadVadVadVaNBadWqCbahgahgadyagUagWfdAagWagragWaafaafaafaafaafaafaafaafaafaafaaf
-aaaaaiahtahuahuahuahuahuahAaaiabPahvahvahvahvahvabPaaiabPahwahwahwahwahwabPaaiaaaaafaafaafaafaaiaaaaaiaaiaaiaaiahaahfahfahfahfahfahfahfahfahfahfahfahfahfahfahfahaaaiaaiaaiaaiaaaaafaaiaaeagLaaiaaiaaiaaiaaiaaiaaFahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnaaFaaiaaiaaiaaiaaiaafaaiagLaaeaadaacarBavravravravravravravravravravravravravravravravravravraVJaacaacaadaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagWkKBkInkInkInkoTadWahgaIRuntadyagUagWagWagWagWagWaafaafaafaafaafaafaafaafaafaafaaf
-aaaaaiahtahtahtahtahtahtahtaaiahtabPabPabPabPabPahtaaiahtabPabPabPabPabPahtaaiaaaaafaafaafaafaaiaaaaaiaaiaaiaaFahaahfahfahfahfahfahfahfahfahfahfahfahfahfahfahfahaaaFaaiaaiaaiaaaaaiaaiaaeagLaaiaaiaaiaaiaaiaaFaaFahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnaaFaaFaaiaaiaaiaaiaafaaiagLaaeaadaacarBavravravravravravravravravravravravravravravravravravraVJaacaacaadaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagWagWagWagWagWafhadWagZagZagZadWagpagWagHadWagHagWagWagWagWaafaafaafaafaafaafaafaaf
-aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaafaafaafaafaaiaaaaaiaaiaaiaaFahfahfahfahfahfahfahfahfahfahfahfahfahfahfahfahfahfaaFaaiaaiaaiaaaaaiaaiaaeagLaaiaaiaaiaaiaaiaaFahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnaaFaaiaaiaaiaaiaafaaiagLaaeaadaacarBavravravravravravravravravravravravravravravravravravraVJaacaacaadaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaKAaafagWthCadWadWadWadWadWagUagGadWadWaggagWadbadcagWaafaafaafaafaafaafaafaaf
-aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaafaafaafaafaaiaaaaaiaaiaaiaaFahfahfahfahfahfahfahfahfahfahfahfahfahfahfahfahfahfaaFaaiaaiaaiaaaaaiaaiaaeagLaaiaaiaaiaaiaaiaaFahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnaaFaaiaaiaaiaaiaafaaiagLaaeaadaacarBarBavravravravravravravravravravravravravravravravravraVJaacaacaadaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaKAaafagWgqKwtMdCoadWadWadWxsiagWagHadWagHagWagWagWagWaafaafaafaafaafaafaafaaf
-aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaafaafaafaafaaiaaaaaiaaiaaiaaFahfahfahfahfahfahfahfahfahfahfahfahfahfahfahfahfahfaaFaaiaaiaaiaaaaaiaaiaaeagLaaiaaiaaiaaiaaiaaFaaFahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnaaFaaFaaiaaiaaiaaiaaiaaiagLaaeaadaacaacarBarBavravravravravravravravravravravravravravravraVJarBaacaacaadaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaKAaafagWagWagWagWbjoagWagWagWagWagWagWagWagWaafaafaafaafaafaafaafaafaafaafaaf
-aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaafaafaafaafaaiaaaaaiaaiaaiaaFahfahfahfahfahfahfahfahfahfahfahfahfahfahfahfahfahfaaFaaiaaiaaiaaaaaiaaiaaeagLaaiaaiaaiaaiaaiaaiaaFaaFaaFaaFaaFahnahnahnahnahnahnahnahnahnahnahnahnahnaaFaaFaaFaaFaaFaaiaaiaaiaaiaaiaaiaaiagLaaeaadaacaacaacarBarBavravravravravravravravravravravravraVJarBarBaacaacaacaadaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaKAaafaafaafaafagWaKyagWaafaafaafaafaKAaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaafaafaafaafaaiaaaaaiaaiaaiaaFahfahfahfahfahfahfahfahfahfahfahfahfahfahfahfahfahfaaFaaiaaiaaiaaaaaiaaiaaeagLaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaFahnahnahnahnahnahnahnahnahnahnahnahnahnaaFaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiagLaaeaadaacaacaacaacarBarBarBarBarBarBarBarBarBarBarBarBarBarBaacaacaacaacaacaadaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaKAaafaafaafaafagWagtagWaafaafaafaafaKAaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaafaafaafaafaaiaaaaaiaaiaaiaaFahfahfahfahfahfahfahfahfahfahfahfahfahfahfahfahfahfaaFaaiaaiaaiaaaaaiaaiaaeagLaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaFahnahnahnahnahnahnahnahnahnahnahnahnahnaaFaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiagLaaeaadaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaadaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaKAaafaafaafaafagWkiyagWaafaafaafaafaKAaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaafaafaafaafaaiaaaaaiaaiaaiafeahfahfahfahfahfahfahfahfahfahfahfahfahfahfahfahfahfafeaaiaaiaaiaaaaaiaaiaaeagLaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaFahnahnahnahnahnahnahnahnahnahnahnahnahnaaFaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiagLaaeaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaKAaafqqxlkzafoaKUhxgaKUafolkzifKaafaKAaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagLagLagLagLagLaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaaiaaaaaiaaiaaiahaahfahfahfahfahfahfahfahfahfahfahfahfahfahfahfahfahfahaaaiaaiaaiaaaaaiaaiaaeagLaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaFaaFaaFahnahnahnahnahnahnahnahnahnaaFaaFaaFaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiagLaaeaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaKAaafagvaHUagvaLoaHVwRYagvaHUagvaafaKAaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaafaafaafaafaaiaaaaaiaaiaaiahaahfahfahfahfahfahaahfahfahfahfahfahaahfahfahfahfahfahaaaiaaiaaiaaaaaiaaiaaeagLaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaFaaFahnahnahnahnahnahnahnaaFaaFaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiagLaaeaRfaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaKAaafagqadYadaeyMaexagmiSsiZjagTaafaKAaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaafaafaafaafaaiaaaaaiaaiaaiahaahfahfahfahfahfahaahfahfahfahfahfahaahfahfahfahfahfahaaaiaaiaaiaaaaaiaaiaaeagLaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaFaaFaaFahnahnahnaaFaaFaaFaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiagLaaeaRfaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaKAaafaafnsGkJSaKUoedaKUhlIagIaafaafaKAaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaafaafaafaafaaiaaaaaiaaiaaiahaahfahfahfahfahfahaahaahfahfahfahaahaahfahfahfahfahfahaaaiaaiaaiaaaaaiaaiaaeagLaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaFahnahnahnaaFaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiagLaaeaRfaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaKAaafaafacLafUdUVrFYafXaghacLaafaafaKAaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaafaafaafaafaaiaaaaaiaaiaaiahaahaahfahfahfahaahaahaahfahfahfahaahaahaahfahfahfahaahaaaiaaiaaiaaaaaiaaiaaeagLaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaFaaFaaFaaFaaFaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiagLaaeaRfaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaKAaafaafafWafUtLbafXafXaghafWaafaafaKAaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaafaafaafaafaaiaaaaaiaaiaaiaaiahaahfahfahfahaaaiahaahaahaahaahaaaiahaahfahfahfahaaaiaaiaaiaaiaaaaaiaaiaaeagLaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiagLaaeaRfaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaKAaafaafagqsgpcmbafXagjagdagTaafaafaKAaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaafaafaafaafaaiaaaaafaafaafaafajkajkajkajkajkaafaafaafaafaafaafaafajkajkajkajkajkaafaafaafaafaaaaafaaiaaeagLaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaafaaiagLaaeaRfaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaKAaKAaafaafagveMjafXygcagvaafaafaKAaKAaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaeaaeagLaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiagLaaeaRfaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaKAaafaafagvcmbafXagjagvaafaafaKAaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeagLaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiagLaaeaRfaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaKAaafaafagvhuBudLtfEagvaafaafaKAaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aaeaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaeagLaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiagLaaeaRfaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaKAaafaafagqsgpjSRagdagTaafaafaKAaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aaeaRfaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRfaaeaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaeaaaaaiaaiaaiaaFaaFaaFaaFaaFaaiaaiaaiaaaaaeagLaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaafaaiagLaaeaRfaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaKAaKAaafaafagqahlagTaafaafaKAaKAaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aaeaRfaRgaRgaRgaRgaRgaRgaafaRhaRhaRhaRhaRhaRhaRhaRhaRhaafaRgaRgaRgaRgaRgaRgaRfaaeaaaaaiaaiaaiaaiaaiaaFaaFaaFaaFaaFaaiaaiaaiaaiaaiaaiaaiaaiaaaaaeaaaaaiaaiaaFaaFawwawwawwaaFaaFaaiaaiaaaaaeagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLaaeaRfaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaKAaafaafaafaafaafaafaafaKAaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aaeaRfaRgaRgaRgaRgaRgaRgaRhaRhaRsaRsaRsaRtaRsaRsaRsaRhaRhaRgaRgaRgaRgaRgaRgaRfaaeaaaaaiaaiaaiaaiaaFaaFarVarVarVaaFaaFaaiaaiaaiaaiaaiaaiaaiaaaaaeaaaaaiaaFaaFawwawwawxawwawwaaFaaFaaiaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaRfaRgaRgaRgaRgaRgaRgaRhaKjaRhaRhaRhaRhaRhaRhaRhaKjaRhaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaKAaKAaafaafaafaafaafaKAaKAaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aaeaRfaRgaRgaRgaRgaRgaRgaRhaRsaRsaRsaRsaRsaRsaRsaRsaRsaRhaRgaRgaRgaRgaRgaRgaRfaaeaaaaaiaaiaaiaaiaaFarVarVarVarVarVaaFaaiaaiaaiaaiaaiaaiaaiaaaaaeaaaaaiaaFawwawwawwawwawwawwawwaaFaaiaaaaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaRfaRgaRgaRgaRgaRgaRgaRhafqafqafqafqafqafqafqafqafqaRhaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaKAaKAaKAaKAaKAaKAaKAaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aaeaRfaRgaRgaRgaRgaRgaRgaRhaRsaRsaRsaRsaRsaRsaRsaRsaRsaRhaRgaRgaRgaRgaRgaRgaRfaaeaaaaaiaaiaaiaaiaaFarVarVarVarVarVaaFaaiaaiaaiaaiaaiaaiaaiaaaaaeaaaaaiaaFawwawwawwawwawwawwawwaaFaaiaaaaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaRfaRgaRgaRgaRgaRgaRgaRhafqafqafqafqafqafqafqafqafqaRhaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aaeaRfaRgaRgaRgaRgaRgaRgaRhaRsaRsaRsaRsaRsaRsaRsaRsaRsaRhaRgaRgaRgaRgaRgaRgaRfaaeaaaaaiaaiaaiaaiaaFarVarVarVarVarVaaFaaiaaiaaiaaiaaiaaiaaiaaaaaeaaaaaiaaFawwawwawwawwawwawwawwaaFaaiaaaaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaRfaRgaRgaRgaRgaRgaRgaRhafqafqafqafqafqafqafqafqafqaRhaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aaeaRfaRgaRgaRgaRgaRgaRgaRhaRwaRsaRsaRsaRsaRsaRsaRsaRDaRhaRgaRgaRgaRgaRgaRgaRfaaeaaaaaiaaiaaiaaiaaFarVarVarVarVarVaaFaaiaaiaaiaaiaaiaaiaaiaaaaaeaaaaaiaaFawwawwawwawwawwawwawwaaFaaiaaaaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaRfaRgaRgaRgaRgaRgaRgaRhaKjafqafqafqafqafqafqafqaRhaRhaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahBahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahC
-aaeaRfaRgaRgaRgaRgaRgaRgaRgaRhaRsaRsaRsaRsaRsaRsaRsaRhaRgaRgaRgaRgaRgaRgaRgaRfaaeaaaaaiaaiaaiaaiaaFarVaswarVarVarVaaFaaiaaiaaiaaiaaiaaiaaiaaaaaeaaaaaiaaFawwawwawwawwawwawwawwaaFaaiaaaaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaRfaRgaRgaRgaRgaRgaRgaRgaKjafqafqafqafqafqafqafqaRhaRgaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aaeaRfaRgaRgaRgaRgaRgaRgaRgaRhaRsaRsaRsaRsaRsaRsaRsaRhaRgaRgaRgaRgaRgaRgaRgaRfaaeaaaaaiaaiaaiaaiaaFarVarVarVarVarVaaFaaiaaiaaiaaiaaiaaiaaiaaaaaeaaaaaiaaFawwawwawwawwawwawwawwaaFaaiaaaaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaRfaRgaRgaRgaRgaRgaRgaRgaKjafqafqafqafqafqafqafqaRhaRgaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aaeaRfaRgaRgaRgaRgaRgaRgaRgaRhaRsaRsaRsaRsaRsaRsaRsaRhaRgaRgaRgaRgaRgaRgaRgaRfaaeaaaaaiaaiaaiaaiaaFarVarVarVarVarVaaFaaiaaiaaiaaiaaiaaiaaiaaaaaeaaaaaiaaFawwawwawwawwawwawwawwaaFaaiaaaaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaRfaRgaRgaRgaRgaRgaRgaRgaKjafqafqafqafqafqafqafqaRhaRgaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aaeaRfaRgaRgaRgaRgaRgaRgaRgaRhaRsaRsaRsaRsaRsaRsaRsaRhaRgaRgaRgaRgaRgaRgaRgaRfaaeaaaaaiaaiaaiaaiaaFarVarVarVarVarVaaFaaiaaiaaiaaiaaiaaiaaiaaaaaeaaaaaiaaFawwawwawwawwawwawwawwaaFaaiaaaaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaRfaRgaRgaRgaRgaRgaRgaRgaKjaRhafqafqafqafqafqaRhaRhaRgaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aaeaRfaRgaRgaRgaRgaRgaRgaRgaRhaRsaRsaRsaRsaRsaRsaRsaRhaRgaRgaRgaRgaRgaRgaRgaRfaaeaaaaaiaaiaaiaaFaaFarVarVarVarVarVaaFaaFaaiaaiaaiaaiaaiaaiaaaaaeaaaaaiaaFawwawwawwawwawwawwawwaaFaaiaaaaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaRfaRgaRgaRgaRgaRgaRgaRgaRgaRhafqafqafqafqafqaRhaRgaRgaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaj
-aaeaRfaRgaRgaRgaRgaRgaRgaRgaRhaRsaRsaRsaRsaRsaRsaRsaRhaRgaRgaRgaRgaRgaRgaRgaRfaaeaaaaaiaaiaaiaaFarVarVarVarVarVarVarVaaFaaiaaiaaiaaiaaiaaiaaaaaeaaaaaiaaFaaFawwawwawwawwawwaaFaaFaaiaaaaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaRfaRgaRgaRgaRgaRgaRgaRgaRgaRhafqafqagKafqafqaRhaRgaRgaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaaj
-aaeaRfaRgaRgaRgaRgaRgaRgaRgaRhaRsaRsaRsaRsaRsaRsaRsaRhaRgaRgaRgaRgaRgaRgaRgaRfaaeaaaaaiaaiaaiaaFarVarVarVarVarVarVarVaaFaaiaaiaaiaaiaaiaaiaaaaaeaaaaaiaaiaaFaaFaaFaaFaaFaaFaaFaaiaaiaaaaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaRfaRgaRgaRgaRgaRgaRgaRgaRgaRhafqafqafqafqafqaRhaRgaRgaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaajaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaajaaj
-aaeaRfaRgaRgaRgaRgaRgaRgaRgaRhaRsaRsaRsaRsaRsaRsaRsaRhaRgaRgaRgaRgaRgaRgaRgaRfaaeaaaaaiaaiaaiaaFarVarVarVarVarVarVarVaaFaaiaaiaaiaaiaaiaaiaaaaaeaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaRfaRgaRgaRgaRgaRgaRgaRgaRgaRhaRhafqafqafqaRhaRhaRgaRgaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaafaafaafaafaafaafaafaafaajaajaajaajaajaajaafaafaafaafaafaafaafaajaajaajaafaafaafaafaafaajaajaajaajaajaajaaj
-aaeaRfaRgaRgaRgaRgaRgaRgaRgaRhaRsaRsaRsaRsaRsaRsaRsaRhaRgaRgaRgaRgaRgaRgaRgaRfaaeaaaaaiaaiaaiaaFarVarVarVarVarVarVarVaaFaaiaaiaaiaaiaaiaaiaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaRfaRgaRgaRgaRgaRgaRgaRgaRgaRgaRhaRhaRhaRhaRhaRgaRgaRgaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaafaafaafaafaafaafaafaafaafaajaajaajaajaajaajaafaafaafaajaajaajaajaajaajaajaajaajaafaajaajaajaajaajaajaajaaj
-aaeaRfaRgaRgaRgaRgaRgaRgaRgaRhaRsaRsaRsaRsaRsaRsaRsaRhaRgaRgaRgaRgaRgaRgaRgaRfaaeaaaaaiaaiaaiaaFarVarVarVarVarVarVarVaaFaaiaaiaaiaaiaaiaaiaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaRfaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaajaafaafaafaafaafaafaafaafaafaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaaj
-aaeaRfaRgaRgaRgaRgaRgaRgaRgaRhaRsaRsaRsaRsaRsaRsaRsaRhaRgaRgaRgaRgaRgaRgaRgaRfaaeaaaaaiaaiaaiaaFaaFarVarVarVarVarVaaFaaFaaiaaiaaiaaiaaiaaiaaaaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaRfaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaajaajaajaafaafaafaafaafaafajVaafajWaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaaj
-aaeaRfaRgaRgaRgaRgaRgaRgaRgaRhaRwaRsaRsaRsaRsaRsaRDaRhaRgaRgaRgaRgaRgaRgaRgaRfaaeaaaaaiaaiaaiaaiaaFaaFaaFaaFaaFaaFaaFaaiaaiaaiaaiaaiaaiaaiaaaaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaRfaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaajaajaajaajaafaafaafaafaafaafajVajWaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaaj
-aaeaRfaRgaRgaRgaRgaRgaRgaRgaRhaRhaRsaRsaRsaRsaRsaRhaRhaRgaRgaRgaRgaRgaRgaRgaRfaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaRfaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaajaajaajaajaafaafaafaafaafaafajVaafaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaaj
-aaeaRfaRgaRgaRgaRgaRgaRgaRgaRhaRhaRsaRsaRsaRsaRsaRhaRhaRgaRgaRgaRgaRgaRgaRgaRfaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaRfaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaajaajaajaajaajaafaafaafaafaafaafakFajWaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaaj
-aaeaRfaRgaRgaRgaRgaRgaRgaRgaRhaRsaRsaRsaRsaRsaRsaRsaRhaRgaRgaRgaRgaRgaRgaRgaRfaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaRfaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaajaajaajaajaajaafaafaafaafaafaafakQaafajWaajaajakRakRakRakRakRaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaaj
-aaeaRfaRgaRgaRgaRgaRgaRgaRgaRhaRsaRsaRsaRsaRsaRsaRsaRhaRgaRgaRgaRgaRgaRgaRgaRfaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaRfaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaajaajaajaajaafaafaafaafaafaafaafaafaafaafaafakRakRalaalbalcakRakRaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaaj
-aaeaRfaRgaRgaRgaRgaRgaRgaRgaRhaRwaRwaRwaRwaRDaRDaRDaRhaRgaRgaRgaRgaRgaRgaRgaRfaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaajaajaajaajaafaafaafaafaafaafaafaafaafaafaafalkallalmalnalmallakRaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaaj
-aaeaRfaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRfaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaajaajaajaafaafaafaafaafaafaafaafaafaafaafaafalrallalmalnalmallakRaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaaj
-aaeaRfaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRfaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaajaajaafaafaafaafaafaafaafaafaafaafaafaafaafalRallalmalnalmallakRaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaaj
-aaeaRfaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRfaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaajaajaafaafaafaafaafaafaafaafaajaajaajaafaafaafaafaafaafaafaafaafaafaafaafaafaafakRakRalnalnameakRakRaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaaj
-aaeaRfaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRfaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaajaajaajaajaajaafaafaafaafaafaafaajaajaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafakRbbvalnbbvakRaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaaj
-aaeaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaajaajaajaajaajaajaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafamvamvamvamvakRakRamwakRakRakRakRakRakRakRaajaajaajaajaajaajaajaajaajaajaajaajaajaaj
-aaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaajaajaajaajaajaajaafaafaafaafaafaafaafaafaafaafamUamTamTamTamTamTavzaafaafamvamVamWamXamVamVamVamYakRamZanaanbancakRakRakRakRaajaajaajaajaajaajaajaajaajaajaaj
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaajaajaajaajaajaafaafaafaafaafaafaafaafaafamUshBanransantanuanvfWQavzaafamvaSPanwanwaSPamVamVamVanxanyanyanyanzakRakReLUakRakRaajaajaajaajaajaajaajaajaajaaj
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaajaajaajaajaafaafaafaafaafaafaafaafaafvCmanEanFanFanGanFanFanuvCmaafamvanHanIanJanKamVamVamVakRanyanyanyanLakRanMaoganOakRaajaajaajaajaajaajaajaajaajaaj
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaajaajaafaafaafaafaafaafaafaafaafaafvCmanXanFanFanFanFanYanZvCmaafamvaSPaoaaoaaSPamVamVaobakRaocanyaodaoeakRaofaogaohakRaajaajaajaajaajaajaajaajaajaaj
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafvCmaonanFanFaooanFanFaopvCmaafamvaquaSPaSPaSPamVamVaoqakRakRakRakRakRakRaoraogaosakRaajaajaajaajaajaajaajaajaajaaj
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafavDetaaoEanqanqanqanqcAbaFRaafamvamvamvamvakRaogaogaogakRaoHaoHaoIaoJakRaoKaogaoLakRaajaajaajaajaajaajaajaajaajaaj
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafvCmaoPaRpaoRaoSaoTvCmaafaafaafaafaafaafamvaogaogaogaoUaoVaoVaoWaoWakRaoKaogaoLakRaajaajaajaajaajaajaajaajaajaaj
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafvCmapkaplaQwanFapmvCmaafaafaafaafaafaafamvaogaogaogakRapnaoVakRakRakRamvapoamvakRakRakRakRaajaajaajaajaajaajaaj
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafamUqObapBaplaQwanFapCgndavzaafaafakQakFakFakRaogaogaogakRakRakRakRapDapEaogaogaogapFapGapGakRakRaajaajaajaajaajaaj
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafamUanqanqnDrqObapMaoQvUXanFapNgndnDranqanqavzapOapOakRapPaogaogaSOakRapQapRaogaogaogaogaogaogaogaogapSakRaajaajaajaajaajaaj
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafvCmaqiaqjaqkvCmanFaqlanFaqmbCashBaqnaqoaqpaqqaqraqsaqraogaogaoggalaqtaogaogaogaogaogaogaogaogaogaogaqvakRaajaajaajaajaajaaj
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaajaajaafaafaafaafaqBaqCaqDaqCgndcAbanqaqEanqqObaqFaqnaqGaqHaqqaqraqIaqraogaogaogkNcakRaqJaqKaogaogaogaogaogaogaogaogaqLakRaajaajaajaajaajaaj
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaqTaqTaqTaqTaqTaqTaqTaqTaqTaqTaqTaqTaqTaqTaqTaqTaqTaqTaqTaqTaqTaqTaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaajaajaajaafaafaafaafgndanqaqBaqUfWQqObaqVanFaqWgndanqaqBaqXaqBvCmaqYaqYakRamvamvamvakRakRakRakRaqZaraaogaogaogarbarbarcakRakRaajaajaajaajaajaaj
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafardareareareareareareareareareareareareareareareareareareareareaqTaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaajaajaajaajaafaafaafaafvCmarfanFanFargvCmanFanFanFvCmarhariarjarkvCmajWaafajWaafaafaafaafaajaajakRakRakRamvarlamvakRakRakRakRaajaajaajaajaajaajaaj
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafardarearearearearmarnarnarnrQyarnarnarnarnarnaFfaroareareareareaqTaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaajaajaajaajaafaafaafaafvCmarpanFanFanFarqanFanFanFarranFanFanFarsvCmakFakFakFakFaafaafaafaafaajaajaajakRartaogartakRaajaajaajaajaajaajaajaajaajaaj
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafardarearearearmarxaryarzarzlNGarAarAvZZarCarCkCnvSOaFfaroareareaqTaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaajaajaajaajaajaafaafaafaafvCmarDanFanFanFarEanFanFanFarFanFanFanFarGvCmaafaafaafaafaafaafaafaafaafaajaajakRartaogartakRaajaajaajaajaajaajaajaajaajaaj
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafardarearekQOxlVarLaryarMarNlNGaryaryaryaryarylNGarOdSxvSOqrEarearParParParParPaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaajaajaajaajaafaafaafaafamUnDranqanqanqanqetaanFanFanFbCaanqanqanqanqnDravzaafaafaafaafaafajVaafajWaajaajakRartaogartakRaajaajaajaajaajaajaajaajaajaaj
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafardarearmiOfthaarWaryarXarYlNGarZaryaryaryaryasaaryaryasblNGarearPascasdasearParParParParPasfasfasfasfarParPaafaafaafaafaafaafaafaafasgasgasgasgasgasgasgasgasgaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaajaajaajaajaafaafaafaafvCmashasiasjaskaslvCmasmanFasnvCmasoaspaspasqasrvCmaafaafaafaafaafajVajWaajaajaajakRartaogartakRaajaajaajaajaajaajaajaajaajaaj
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafardareaszasAasBaryaryarzarzlNGaryaryaryasCasClNGaryasDasElNGarearPasFasdasdasGasHasIasJasKasLasJawRasNasOarParParParParParParParParParPasPasPasPasPasPasPasPasQaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaajaajaajaafaafaafaafaafaqBasiasiasiasiasivCmanFanFanFvCmasRanFanFanFasSaqBaafaafaafaafaafakQaafaajaajaajakRakRasTakRakRaajaajaajaajaajaajaajaajaajaaj
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafardareataasAatbaryaryaryaryasaaryasbbyRarnrQysCcarnarnarnwlwatdarParParParParPasHawRasJateatfasJawRawRawRatgathathathathathathathathatgasPatiatjatjatjatkasPasQaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaajaajaafaafaafaafaafaafaqBatlatmasiasiasiatnanFanFanFatoanFanFanFatpatqaqBaafaafaafaafaafajVajWajWaajaajaajakRakRakRaajaajaajaajaajaajaajaajaajaajaaj
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafardarehRnpbPatwatxatyatzatAlNGaryaryaryatBatCareareareareareareatDathathathatgawRawRawRawRawRawRawRawRawRatgathathathathathathathathatgasPatEatQatFatSatEasPasQaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaqBasiasiasiasiasiatGanFanFanFatHanFanFanFanFatIaqBaafaafaafaafaafajVaafaafajWaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaaj
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafardarearenKSarnarnarnarnarneYAarZaryatParyxsIareareareareareareatDathathathatgawRawRawRawRawRawRawRasHasHarParParParParParParParParPasgasPaupauqatFatFatEasPasQaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafvCmatTasiasiasiatUbCaaqBatVaqBetaatWatXatYanFatZvCmaafaafaafaafaafaafaafaafaafaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaaj
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafardarearmxlVaudaueaufaudaudlNGaryaryaryasytPOarearearearearearearParParParParPawRawRasJateasLasJawRauhauiarPaujaukaukaularPaumaunauoasgasPauNatFatFatFatEasPasQaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafvCmaurausautauuauvvCmauwanFauxvCmauybCaanqauzanqqObaafaafaafaafaafaafaafajVaafajWaajaajaajaajaajaajaajaajaajaajaajaajaajaajaaj
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafardareaszasAauHauIauIauIauIasaaryasbeNtarnsCcarnarnarnarnqrEarearPascasdasearPawRawRasJateauJasJawRasHasHarPauKauKauKauKarPauLaunauMasgasPatEatFatRavkatEasPasQaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafvCmauOasiauPbCaanqqObanFauQauRgndanqqObauSavpauTvCmaafaafaafaafaafaafaafajVajWajWaajaajaajaajaajaajaajaajaajaajaajaajaajaajaaj
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafardareataasAauZavaauIauIauIlNGaryarylNGavbavcavdaveavfavglNGarearPasFasdasdasGawRawRawRawRawRawRawRawRawRarPauKavhaviaviarParPavjarPasgasPauNatFatFatFatEasPasQaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafvCmavlavmavnvCmaafgndavoavoavoqObaafvCmavqanFbbuvCmaafaafaafaafaafaafaafajVaafajWaafaajaajaajaajaajaajaajaajaajaajaajaajaajaaj
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafardarehRnhQNedRavuauIauIavvlNGarZaryasaaryaryaryaryaryasblNGarearParParParParParParPavwarParParPawRawRawRavxauKavyavyauKauKauKauKaviasgasPavXauqatFatFatEasPasQaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafgndavoavoavoqObaafavDavAavAavAaFRaafgndavoavoavoqObaafaafaafaafaafaafaafajVajWajWajWajWajWaajaajaajaajaajaajaajaajaajaajaajaaj
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafardareareatvpbPavNdHrauIavOnKSavPavPeYAarZaryavQavRnEVlzmwlwarearPaviauKavSarPavTavUavUajtavVarPawRawRawRawRauKauKauKauKavWauKauKaviasgasPatEatQatFatSatEasPasQaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaajaajaafaafaafavDavAavAavAaFRaafaafavAavAavAaafaafavDavAavAavAaFRaafaafaafaafaafaafaafajVaafajWaafajWaafaafaajaajaajaajaajaajaajaajaajaajaaj
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafardarearearehRnawgawhawiawjlNGawkawllNGawmawnnEVlzmwSqatcarearearPawoauKauKauKavUavUavUavUawparPawRawRawRavxawqauKauKauKawrauKauKawsasgasPawuawEawEawEawvasPasQaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaafaafaafavAavAavAaafaafaafaliavAavAaafaafaafavAavAavAaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaajaajaajaajaajaajaajaaj
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafardarearearearehRnaHraHraHrsCcawtawtsCcarnarnwSqatcarearearearearParPavxavxarParParPavxavxavxarPbbwawRawRarPavxavxavxavxavxavxavxarPasgasPasPawUawUawUasPasPasQaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaafaafaafaliavAavAaafaafaafaafaafaafaafaafaafaliavAavAaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaajaajaajaajaajaajaajaaj
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafardarearearearearearearearearearearearearearearearearearearearearPawAawAawAawAawAawAawAawAawAarParPawBarParPawAawAawAawAawAawAawAarPasgasPasPasPasPasPasPasPasQaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaajaajaajaajaajaajaajaaj
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawPawPawPawPawPawPawPawAawAawAawQawQawQawQawQawQarPawRawSawRarPawQawQawQawQawQawQawQawQasgasPasPasPasPasPasPasPasQaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaajaajaajaajaajaajaajaaj
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafawOaxgawOaxhaxiaxjaxkaxlaxmawOaxnaxoaxpaxqaxraxraxsaxsaxtaxtawPaxuaxvaxvaxvaxvaxwaxxaxxaxxaxxaxyaxzaxAaxBaxCarPawRawSawRarPaxEaKWaxGaxGaxGawQaafaafasgasPasPasPasPasPasPasPasQaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaajaajaajaajaajaajaaj
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafawOawOawOawOawOawOawOaxOawOaxpaxpaxpaxpaxpaxpawOaxPaxoaxpaxpaxpaxpaxpaxpaxpaxpawPaxQaxvaxRaxvaxSaxTaxUaxUaxUaxVaxWaxGaxGaxGaxGarPawRawSawRarPaxGaxGaxGaxGaxGawQaafaafasgasgasgasgasgasgasgasgasgaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaajaajaajaajaajaaj
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafayhawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOayiayjaxraykaylaymaxpaxpaxpaxpaxpaxpaxpaynawOawOawOaxpaxpaxpaxpaxpaxpaxpaxpawPayoaypayqaxvaxvaxwaxxaxxaxxaxxaxWaxGaxGaxGaxGarPayrawBaysarPaxGaxGaxGaxGaxGawQaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaajaajaajaajaaj
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafayAayBayBayBayBayBayBayBayBayBayBayBayBayBayCayBayBayBayBayBayCayDayBaxraxrayEawOayFaxpaxpaxpaxpaxpaxpaxpawOayGaxpaxpaxpayHayHayIayJayKayKawPayLayMayNaxvaxvawPayOayOayOawOayPayQayRaySayTawQayUayUayUawQaxGaxGaxGaxGaxGawQawQawQawQaytaytaytaytaytaytaytaytaytaytayuaytaytaytaytaytaytaytaytaytaytaytaytaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaajaajaajaaj
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafayhawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOaymawOawOawOaxpaxpaxpaxpaxpaxpaxpaxpawOazmaxpaxpaxpaznawOawOawOawOawOawPawPawPawPawPawPawPazoazoazoawOazpazqaxxaxxaxxawQaxGazraxGawQaxxaxxaxxazqazsawQayvayVayWaytayXayYayZazaazbazcazdaytazeazeazeazeazeaytazfazgaztazaazuazvazwaytaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaajaajaaj
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafayhawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOayiazHaxraxrazIawOazJazKazLazMazNazOaxpaxpawOazPaxpaxpaxpazQawOazRazSazSazRazTazUazVazWazoazoazoazoazoazXawOaxGaxGazYazZazZazZazZazZazZazZazZazZaAaaxGaxGawQayvayVayWaytazaazaazaazxazaazaazaaytazeazyazzaAbaAcaytazaazaazaaAdazaazaazaaytaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaajaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaajaaj
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafayAayBayBayBayBayBayBayBayBayBayBayBayBayBaAjayBayBayBayBayBaAjaAkayBaxraxraAlawOazTazTazTazTazTawOaxpaxpawOaAmaxpaxpaxpaAnawOaxpazoazoazoazTazoazoazoazoazoazoazoazoaAoawOaxGazraApaxxaxxaxxaxxaxxaxxaxxaxxaxxaxWazraxGawQaxxaAeaxxaytazaazaazaazaazaazaazaaytaAfaAgaAcaAcazeaytazaazaazaazaazaazaazaaytaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaAAaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaajaajaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaajaaj
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafayhawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOayiaABaxraxraACazTaADaAEaAFaAGaAHazTaxpaxpazTaxpaxpaxpaxpaAIazTaxpazoazoaylaAJazoazoazoazVazVawOawOawOawOawOaxGaxGaApaxxaAKaxGaALaAMaANaxGaAKaxxaxWaxGaxGawQaAhaAiaAqaytaztaAraAsazaaAsaAtaAuaytaAcaAcazeazeazeaytaAvaAwaAsazaaAxaAyaAzaytaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaajaajaajaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaaj
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafayAayBayBayBayBayBayBayBayBayBayBayBayBayBaATayBayBayBayBayBaATaAUayBaxraxraAVazTaAWaxpaxpaxpaAXazTaxpaxpazTaxpaxpaAYaAZazNazTaBaazoazoazoawOazTazTaBbazTazTawOazoazoazoaBcaxGaxGaBdaxxaxGaBeaBfaBgaBhaBiaBjaxxaBkaxGaxGaBlaxWaxGaApaytaytaytaAOaAPaAOaytaytaytaytaytaAPaytaytaytaytaytaAQaAPaAQaytaytaytaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaajaajaajaajaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaaj
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafayhawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOayiaBsaxraxraBtawOaBuaxpaxpaxpaxpawOaBvaBvawOaBwaBwawOawOawOawOaBaazoazoaylaBxaByaByaByaByaByaBzaByaByaByaBzaxGaxGaBAaBBaxGaxGaBCayUaBDaxGaxGaBBaBEaxGaxGaBFaxWaxGaxGaARaASaBnaBoazaaAsaASaBGaBoaBHaBIazaaAsaASaBXaBoaAsaBHazaaASaBGaBoaytaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaajaajaajaajaajaajaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaj
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafayAayBayBayBayBayBayBayBayBayBayBayBayBayBaBJayBayBayBayBayBaBJaBKaBLaxraxraylaBMaxpaxpaxpaxpaxpaBMaxpaxpaBNaxpaxpaBOaBPaBQaBQaxpazoazoaBRawOazTazTaBbazTazTawOazoazoazoaBSaxGaxGaBTaxxaBUaBeaBVaxGaBVaBiaxGaxxaBWaxGaxGaBFaxWaxGaApaAPazaazaazaazaazaazaazaazaazaazaazaazaazaazaazaazaazaazaazaazaazaaytaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaajaajaajaajaajaajaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafayhawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOaxraxraylaBMaxpaxpaxpaxpaxpaBMaxpaxpaCaaxpaxpazoaCbaCbaCbazoazoazoaCcazTaCdaCeazoaCfaCgawOawOawOawOawOaxGaxGaApaxxaChaxGaBmaxGaBmaCiaCjaxxaxWaxGaxGazqaxWaxGaApaARaASaBGaBoazaaAsaASaBnaBZaBHaAsazaaBHaASaBGaBoaBHaAsazaaCkaClaBoaytaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaajaajaajaajaajaajaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafawOaxraxraCpawOazTazTazTazTazTawOaCqaCqawOaCraxpazoaCsaCtaCuazoazoazoaCvaCwaCeazoazoazoazoaAJazoaAYaCxawOaxGaxGaApawQawQaCyaxGaxGaCzaChawQawQaxWaxGaxGawQaxWaxGaApaytaytaytaCmaAPaCmaytaytaytaytaytaCnaytaytaytaytaytaCoaAPaCoaytaytaytaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaajaajaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafawOawOawOawOawOaCIaCJaCKaCLaCMaxpaxpaxpazTaCNaxpazoaCtaCOaCPazoazoazoazoaAJazoazoazoaCQaCRazTazoazoaCSawOaxGazraApawQawQaxxaxxaxxaxxaxxawQawQaxWazraxGawQaxWaxGaApaytaCAaCBaAsazaaAsaCCaCDaytaCEaCFaCEaCGaCHaytaCTaztaCUazaaCVaCDaCWaytaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafawOaxpaxpaxpaxpaxpaxpaxpaxpazTaCYaxpazoaCZaCZaCZazoazoazoazoaAJazoazoazoaCQaCRazTaDaaDbaDcawOaxGaxGaDdaDeaDeaDeaDeaDeaDeaDeaDeaDeaDfaxGaxGawQaxWaxGaApaytazaazaazaazaazaazaazaaytaCHaCEaCHaCEaCHaytazaazaazaazaazaazaazaaytaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafawOaxpaxpaxpaxpaxpaxpaxpaxpawOaDiaxpaxpaxpawDaxpaxpazoazoaDiaCwazoazoazoaCQaCRawOawOawOawOawOawQazqaDkaBlawQaxGaxGazraxGaxGawQawQawQawQawQawQaxWaxGaApaytazaazaazaaCXazaazaazaaytaDgaytaDgaytaDgaytazaazaazaazaazaazaazaaytaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafawOaDoaDoaDpaxraDqaDraDsazNawOaDtaDuayOawOawOawVawOayOaDuaDtazTaDwazoazoaCQaCRawOaDxaDyaDzaDxaDAaDBaDCaDDaDEaDFazqaDGaBlawQawQaafaafaafaafawQaDhaxGaDlaytaDmaDnaDSazaaEaaEbaEIaytaFiaytaIMaytaINaytaIPaJgaDnazaazuaKaaKsaytaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaDHahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCaAAahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahC
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafawOawOawOawOawOawOawOawOawOawOawOawOawOawOawCaDjawFawOawOawOawOaDLazoazoaCQaCRawOaDxaDMaDMaDxaDAaDBaDCaDDaDEaDNaDOaDPaDQaDRaDEaafaafaafaafawQawQaKuawQaytaytaytaytaytaytaytaytaytaytaytaytaytaytaytaytaytaytaytaytaytaytaytaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahDahDahDaafaafahEahEahEaafaafahFahFahFaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaDTaDUaDUaDUawCiOHaDvxAzawFaDUaDUawOaDXazoazoaCQaCRawOaDxaDzaDzaDxaDAaDBaDCaDDaDEaDYaDCaDCaDCaDZaDEaafaafaafaafaafaVHaDCbbiaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahDahGahDaafaafahEahHahEaafaafahFahIahFaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaDTaDUaDUawCiOHaDIaDJaDKxAzawFaDUawOawOaEfaEfawOawOawOaEgaDxaDxaDxaEhaDBaDCaDDaDEaEiaEjaEiaEkaEiaDEaafaafaafaafaafaVHaDCbbiaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahDahDahDahDahDahEahEahEahEahEahFahFahFahFahFaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaDTaDUaDUawTaDVaDJaDJaDJaDWawTaDUazTazoazoazoazoazoaBcaDxaEnaDxaEnaDAaDBaDCaEoaEhaDCaDCaEpaDCaEqaDEaafaafaafaafaafaVHaDCbbiaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahJahKahLahMahNahDahDahDahDahDahEahEahEahEahEahFahFahFahFahFahJahKahLahMahNaafaafaafaafaafaafaafaafaafaafaafaafaDTaEraEraEraEraEraEraEraEraEraDTaDUaDUawTaEcaDJaEdaEeaDWawTaDUazTazoazoazoazoazoaEfaDxaEnaDxaEnaDAaDBaDCaEoaEhaDCaDCaEvaEwaExaDEaafaafaafaafaafaVHaDCbbiaafaafaafaEyaEzaEAaEBaECaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahOahPahPahPahQfXhqwvahSahRfXhfXhqwvahTahRfXhfXhqwvahUahRfXhahVahPahPahPahOaafaafaafaafaafaafaafaafaafaafaafaafaDTaDUaDUaDUaDUaDUaDUaDUaDUaDUaDTaDUaDUawTaDVaDJaElawTaEmawTaDUazTazoazoazoazoazoawOaDxaEnaDxaEnaDAaEFaEGaEHaDEaEiaDCaEJaEKaEiaDEaafaafaafaafaafaVHaDCbbiaafaafaEyaELaEMaENaEOaEPaECaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahOaihaiiaijaikailaimainailaioaipaiqairaisaitaiusAeaiwaixaiyaizaiAaiBaiCahOaafaafaafaafaafaafaafaafaafaafaafaafaDTaDUaDUaDUaDUaDUaDUaDUaDUaDUaDTaDUaDUawTaDVaDJaEsawTaDJawTaDUaDTaDTaDTaDTaDTaDTaDTaDTaDTaDTaDTaDTaDTaDTaDEaDEaERaDCaDCaESaDZaDEaDEaDEaDEaDEaDEaDEbbkaDEaafaEyaELaEUaEWaEXaFyaEYaEPaECaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahOaiIaiIaiJaiKaiLaiLaiMaiLaiLaiLaiLaiMaiLaiLaiLaiLaiMaiLaiLaiNaiJaiIaiIahOaafaafaafaafaafaafaafaafaafaafaafaafaDTaDUaDUaDUaEZaFaaFbaDUaDUaDUaDTaDUaDUtSllpglpglpgsTEaEtawTaDUaDUaDUaDUaFdaDUaFeatOaFgaFhaFhaFhaFhaFhaDTbblaEiaFjaDCaDCaFkaDZaEibbjbbmbblaEiaDCaDCaDCaEiaafaGvaFmaFmaFmaFnaFmaFmaFmaGvaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaiUaiAaiIaiVaiMaiMaiMinRaiMaiMaiMaiMaiMaiMaiMaiMaiMinRaiMaiMaiMaiVaiIaijaiWaafaafaafaafaafaafaafaafaafaafaafaafaDTaDUaDUaEZaFpatLaFraFbaDUaDUaDTaDUaDUawTaEuaEDaEEaDJaEQawTaDUaDUaDUaDUaDTaDUaDUaDUaFwaFhaFhaFhaFhaFhaDTbblaEiaFjaDCaDCaDCaDZaEibbmbblbblaEiaDCaDCaDCaEiaafaHgaFmaFCaFzaFAaFBaFWaFmaHgaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaiUfXhfXhfXhfXhfXhajfajgaiLaiMaiLajhajhaiLaiMajGajHfXhfXhfXhfXhfXhaiWaafaafaafaafaafaafaafaafaafaafaafaafaafaDTaDUaDUaFDaFEaFFaFGaFDaDUaDUaDTaDUaDUawTaFcaDJaDJaDJaEtawTaDUaDUaDUaDUaDTaDUaDUaDUaFgaFhaFhaFhaFhaFhaDTbbmaEiaFjaDCaDCaDCaFIaEibbjbbjbbmaEiaDCaDCaDCaEiaafaETaFJttIaFKaFKaFKyavaFJaETaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafajAajAahOajBaixaiMajCajjajEajFaiMbHaahOaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaDTaDUaDUaFLcCpaFNaFMaFOaDUaDUaDTaDUaDUaFscHKaFtaFtaFtcHKaFuaDUaDUaDUaDUaDTaDUaDUaDUaDTaDTaDTaDTaFSaFTaDTbbjaEiaFjaDCaDCaDCaFUaEiaEiaEiaEibbnbbkaEiaEiaEiaEisFXaFVaFXaFYaGtaGSaFXaFZaETaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafajAajAajAajAaiJajUaiLaiMajCajEajEajFaiMailahOaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaDTaDUaDUaFDaGaaGyaGcaFDaDUaDUaDTaDUaDUaDUaFsaFvaFHaFPaFuaDUaDUaDUaDUaDUaDTaDUaDUaDUaDTaGgaGhaGiaGjaGjaDEaEiaEiaGkaDCaDCaDCaDCaGlaDCaDCaGmaDCaDCaGnaGoaGpaGoaGFaGraFmaFmaFnaFmaFmaFmaGvaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagvjnqwnaagaagaagaagaagaagaagaagaagaag
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafajAakeajAajAakfakgaiMaiMaiLakhakhaiLaiMaiLakiaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaDTaDUaDUaGxaFQaGyaGzaGAaDUaDUaDTaDTaDTaDTaDTaDTaDTaDTaDTaDTaDTaDTaDTaDTaDTaDUaDUaDUaDTaGBaGCaGDaGjaGjaGEaDCaGlaDCaDCaDCaDCaDCaGlaDCaDCaDCaDCaDCaGnaGoaGpaGoaGqaFmaFmaFWaGsaHeaFmaGHaGGaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaagaajaajaajaajaajaajaajaajaajaIgagsahYqESahYdugaIgahjahYaivahYagSaIgagexpTigfaIgagFiSSaIuafpadzadzxGyagVsalaIgaajaaj
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafajAajAajAajAntKailakyaiMaiMaiMaiMaiMaiMakEahOaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaDTaDUaDUaGxaGyaGyaGzaGMaDUaDUaGNaDUaDUaDUaDUaDUaDUaDUaDUaDUaDUaDUaDUaDUaDUaDUaDUaDUaDTaGOaGPaGQaGjaGjaGEaDCaGlaDCaDCaDCaDCaGRaEiaEiaEiaDCaDCaDCaGnaEiaEiaEimgKavYaFmaFWaGGaHeaFmaFWaHgaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaagaajaHHaHHaHHaHHaHHaHHaHHaHHaIgagsahYacwahYdugaIgajDahYaxDahYroJaIgadAahYahYaIgdgOafpjHhafpmlUadzadzadzadzaIgaajaaj
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafajAajAahQfXhfXhfXhajfakDaiLaiLaiMwGuahOaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaDTaDUaDUaFDaGUaGyaGVaFDaDUaDUaDTaDTaDTaDTaDTaDTaDTaDTaDTaDTaDTaDTaDTaDTaDTaDTaDTaDTaDTaGWaGXaGXaGjaGjaDEaEiaEiaGYaDCaGZaDCaFIaEibblaHaaDCaHbaHcaHdaDEaafaafaGvaHsaFmaFWaHtaHeaFmaKeaETaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaagaajaHHbtLaJHaHHvJXaIAaHHaHHaIgagsahYxKnahYdugaIgeMoahYaGbahYaGTagPahYaewahYjjfafpafpafpafpaiabwblcatiwiDQaIgaajaaj
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahOakMakNakOakPaiMaiLaiLaiMaiLakiaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaDTaDUaDUaFLcCpaFNaFMaFOaDUaDUaDTaHiaHjoMXaHjaHkdzjafZafZafZafZaHlaGjaGjaGjaGjaGjaGjaGjaGjaGjaGjaHmaGjaDEbbmaEiaHnaDCaDCaDCaFUaEiaEiaEiaDCaGnaHoaHpaHqaafaafaGGaHeaFmaFmaJeaFmaFmaFWaGvaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaagaHHaHHaGdaGdaGdaGdaGdaGdaGdaGfahYahYahYahYahYaGfahYadAahYahYahYaGfahYahYahYjjfafpuMIuMIafpagFtRBagFtRBagFaIgaajaaj
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafakiakVakVakVakWaiMakXakYakZakYahOaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaDTaDUaDUaFDaHxaGyaHyaFDaDUaDUaDTaHRaHQaHAaHQaHAaHBaHCqcxahbaHFafZaHCoJyaIvaHFaGjaGjaGjaGjaGjaGjaGjaGjaDEbblaEiaHIaDCaDCaDCaDCaGlaDCaDCaDCaHJaDPaHKaDEaafaafaGGaHeaFmaFWaGsaHeaFmaFWaGGaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaagaHHaIhaGdaGdjKxdakaGdaGdaGdaIgahYahYahYahYahYaIgahYahYahYahYahYaIgahYahYaGeaIgaGIaGJuMIafpafpafpafpafpwGraIgaajaaj
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahOaleakVakValfaiMalgalhaljalhahOaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaDTaDUaEZaFpaGyaGyaGyaFraFbaDUaDTaHAaHRaHQaHAaHQaHzaHCagiafPaHFafZaHCahstZQaHFaGjaGjaHWaHWaHWaHWaHWaHWaDEbbjaEiaHXaHYaDCaDCaDCaGlaDCaDCaDCaDCaDCaGnaDEaafaafaHgaHeaFmaFWaGGaHeaFmaHuaHgaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaagaHHagCaGdaGdqTxcBdaGdaGdaHHaIgaIgaIgaIgaIgaIgaIgaIgaIgaIgaIgaIgaIgahYqgeahYaIgaIgaGLugeaIgaIgaIgaIgaIgaIgaIgaajaaj
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahOalpakVakValqaiMakYaljaljaljahOaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaDTaDUaFDaIiaGyaGyaGyaIjaFDaDUaDTaHRaIkaHQaHQaHRaHzafZafZafZafZvefafZafZafZafZaGjaGjagkaImaImaImaImaImaDEaDEaDEaDEaInaIoaIoaDEaDEaDEaDEaFlaEhaEhaFlaDEaafaEyavCaIdaFmaFWaHtaHeaFmaIfaHvaECaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaagaHHaHHfIWaGdaGdaGdaGdaGdaHHaHHaHHaHHaHHaHHaHHaHHaHHaHHaHHaHHaHHaIgahYahYahYaHHaIgaHEaHPaHSaIgaajaajaajaajaajaajaaj
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahOalealMakValNaiMalOalPaljalQahOaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaDTaDUaFDaIwaGyaGyaGyaIxaFDaDUaDTaHQaHRaHAaHRaIyaHzaHCaeRaKwaHFafZaHCaJjahoaHFaGjaGjaIEaIFaIFaIFaIFaIFaDEaIGaIGaIGaIHaIIaIIaIJagOagOaDEaFoaDCaDCaHfaDEaEyaHLaHLaHNaFmaFmaFnaHMaFmaGuaHvaHLaECaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaagaajaHHlnJaGdaGdaGdaGdaGdaGdaGdaGdaGdaGdaHHaHHaHHaHHaHHaHHaHHaHHaIgahYahYahYaHHaIgaGKaHPaHSaIgaajaajaajaajaajaajaaf
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaiUambambfXhamcamdahRfXhambambaiWaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaDTaDUaFDaISaGyaGyaGyaIjaFDaDUaDTaITaHRaHAaIUaHQaHzaHCuEOfYoaHFafZaHCaNFaIYaHFaGjaGjahdaIFaIFaIFaIFaIFaDEaIZaJaaJaaJbaIIaIIaIIagOagOaDEaFoaDCaDCaIcaDEaETaIeaItaETaHeaFmaFWaILaIbqSmaELaHZaETaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaagaajaHHaHHaHHadSadSadSaHHaHHaHHaHHaHHaGdaGdaGdaHHaHHaHHaHHaHHaHHaIgaewahYadAaHHaIgaIgaIgaIgaIgaajaajaajaajaajaajaaf
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaiUahVamkajFaiMamlaiLahQaiWaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaDTaDUaJlqLiaJnaJnaJnaJmaJoaDUaDTaJpaHRaHQaHQaHAacvafZafZafZafZafZaGjaGjaGjaGjaGjaGjahdaIFaJqaJraJsaJtaDEagfaJuaJupBpaIXaJwaIIaIIaJxaDEaFoaDCaDCaGnaDEsFXaJcaIsaIraHeaFmaFWaGvaHZaIqaJfaIpaFxaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaagaajaajaajaHHaHHaHHaHHaHHaajaajaajaHHaHHaHHaGdaGdaGdaGdaHHaHHaHHaIgahYahYahYaHHaajaajaajaajaajaajaajaajaajaajaajaaf
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahOamtaiLajhaiLamuahOaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaDTaDUaDUaJlaJIaJJaJKaJoaDUaDUaDTaHQaJLaJMaHAaJNaJOaJPaJQaJQaJQaJRaJRaJRaJSaJSaJTaJSaJSaJRaJRaJRaDEaDEaDEaJUaJVaJVaJvaJWaJXaJwqsaaJYaDEaFoaDCaDCaGnaGoaJyaIsaIOaMdaFmaFmaFWaHgaHZbbobbobbpaETaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaagaajaajaajaajaajaajaajaajaajaajaajaajaajaHHaHHaHHaHHaGdaHHaHHaHHaIgaJiahYahYaHHaajaajaajaajaajaajaajaajaajaajaajaaf
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahOamNamOamPamQamRahOaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaDTaDUaDUaDUaDUaDUaDUaDUaDUaDUaDTaIzagoaHQaJNaKkaKlaKlaKlaKlaKlaJRaKmaKnaJSaKnaKnaKnaJSaKnaKmaJRaDEaDEaDEaDEaDEaDElAPaKpaKqaKrqsaaJYaDEaFoaDCaDCaGnaDEmgKaKbaJhmgKbbqaFmaKeaETaKMaJAaJCbbraETaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaagaajaajaajaajaajaajaajaajaajaajaajaajaajaHHaIgaIgaIgaGfaIgaIgaIgaIgaIgaGfaIgaIgaIgaIgaIgaIgaIgaIgaIgaIgaajaajaafaaf
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaiUannanoanoanoanpaiWaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaDTaDUaDUaDUaDUaDUaDUaDUaDUaDUaDTaHQaHQaJNaKkaKlaKlaKlaKlaKlaKlaJRaKnaKBaKCaKnaKnaKnaKCaKDaKnaJRaKEaKFaKGaKHaKIaDEaIIaKoaKraKJaIIaIIaKKaEiaEiaEiaEiaDEaHvaFKaFKaHLaIaaJBttIavCaKOaJdaJzaPcaETaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaagaajaajaajaajaajaajaajaajaajaajaajaajaajaIgahYahYahYahYahYahYaIgaKhaKhaKhaKiaKhaIgahYahYahYahYahYahYaIgaajaafaafaaf
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaDTaDTaDTaDTaDTaDTaDTaDTaDTaDTaDTaHRaJNaKkaKlaKlaKlaKlaKlaKlaKlaJRaJSaKnaJSaKnaKnaKnaJSaKnaJSaJRacJaIIaIIaIImYCaKXaIIaIIaIIaIIaIIaIKaKKbbjbblbbmbblaDEaETaKfbbbaKdaPfaKcbbcaETbbdaHZaJZaJZaFxaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaagaajaajaajaajaajaajaajaajaajaajaafaafaajaIgkzTahYahYahYahYahYaIgaKhjyGaKhaKhaKhaIgadAahYahYaewahYaGeaIgaajaafaafaaf
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaDEaJNaKkaKlaKlaKlaKlaKlaKlaKlaKlaJRaLfaKnaKnaKnaKnaKnaKnaKnaLgaJRaLhagfaLiagfaLjaDEnaXaIIaIIaIIaIIaLkaKKbbmbbmbbjbblaDEaETbbeaKcbbfaKcaKcaKtaETaNxaHZaHZbbhaETaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaagaajaajaajaajaajaajaajaajaajaajaafaafaajaIgahYahYahYahYahYahYaGfaKhaKhaKSaKhaKhaGfahYahYahYahYahYadAaIgaajaafaafaaf
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaMeaMeaMeaMeaMeaMeaMeaafaDEaDEaDEaDEaDEaDEaDEaDEaDEaDEaDEaDEaJRaLpaLqaLqaLqaKnaLraLraLraLsaJRaLtagfaLuaLnaLvaDEaLwaLxaIIaLyaLzaLAaDEaDEaDEaDEaDEaDEaETaKQaKQaKPaKPaKcaKNaETaULaHZaKLbbtaETaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaagaajaajaajaajaajaajaajaajaajaajajVaafaafaIgahYahYaIgaKxaKxaKxaIgaKhaLcaLdaLeaKhaIgaKxaKxaKxaIgaLmahYaIgaafaafaafaaf
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaMebbgbbsbbxbbybbzaMeaafaJRaKnaKnaKnaKnaKnaKnaKnaKnaKnaKnaKnaJRaJRaLEaJRaJRaKnaJRaJRaLEaJRaJRaJRaJRaJRaJRaJRaDEaDEaDEaDEaDEaDEaDEaDEaafaafaafaafaafaKYaKZaLaaLaaLaaILaFKavCaLaaLaaLaaILaLbaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaagaajaajaajaajaajaajaajaajaajajWajVaafaafaIgahYahYaIgaafaafaafaIgaIgaKVaKVaKVaIgaIgaafaafaafaIgadAahYaIgaafaafaafaaf
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaMebbAbbsbbxbbybbBaMeaafaJRaKnaJRaJRaJRaJRaLHaJRaJRaJRacMacMacMacMacMacMaJRacMaJRacMacMacMacMacMacMacMacMaJRaafaafaafaafaafaafaafaafaafaafaafaafaafaafaKYaLlaLlaLlaLbaafaKYaLlaLlaLlaLbaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaagaajaajaajaajaajaajaajaajaafaafaafaafaafaLBaLCaLCaLDaafaafaafaafaafaafaafaafaafaafaafaafaafaLBaLCaLCaLDaafaafaafaaf
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaMebbgbbsbbxbbybbzaMeaafaJRaKnaJRaLLaLMaLMaLMaLMaLNaJRaJRaJRaJRaJRaJRaJRaJRaLOaJRaJRaJRaJRaJRaJRaJRaJRacMaJRaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaLlaLlaLlaafaafaafaLlaLlaLlaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaagaajaajaajaajaajaajaajaajaajaafaafaafaafaLBaLFaLGaLDaafaafaafaafaafaafaafaafaafaafaafaafaafaLBaLFaLGaLDaafaafaafaaf
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMebbCaMeaMeaMeaafaJRaKnaJRaLLaLMaLMaLMaLMaLNaJRaLRaLSaLTaLSaLUaLVaLVaLVaLVaLVaLUaLVaLUaLVaLWaJRacMaJRaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafabnaLlaLlaafaafaafabnaLlaLlaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaagaajaajaajaajaajaajaajaajaafaafaafaafaafaLBaLIaLGaLDaafaafaafaafaafaafaafaafaafaafaafaafaafaLBaLFaLGaLDaafaafaafaaf
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaMeaMqaMqaMraMsaMtaMuaMvaMtaMwaMxaMyaMzaMAaMBaMCaMDaMEaMFaMGaMHaMIaMJaMKaMLaPXaPXaMeaafaafaJRaKnaJRaLXaLMaLMaLMaLMaLYaJRaLVaLZaLZaLZaLZaLZaLVaLVaLVaLZaLZaLZaLZaMaaMbaJRacMaJRaJRaJRaJRaJRaJRaJRaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaagaajaajaajaajaajaajaajaajaafaafaafaafaaflHBaLCaLCrOPaafaafaafaObaafaafaafaafaafaOFaafaafaaflHBaLCaLCrOPaafaafaafaaf
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaMeaMqaMWaPXaPXaPXaPXaPXaPXaPXaPXaPXaPXaPXaPXaPXaPXaPXaPXaPXaPXaPXaPXaPXaPXaPXaPXaMeaafaafaJRaKnaJRaLXaMfaMgaMgaLMaLMaMhaLVaLVaLVaMiaLVaLVaLVaLVaLVaLVaLVaMiaLVaMjaLVaJRacMacMacMacMacMacMacMaJRaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaagaajaajaajaajaajaafaafaafaafaafaafaafaafaObaMkaOHaOFaafaafaafaMkaMnaMnaMnaMnaMnaMkaafaafaafaObaOXaMkaOFaafaafaafaaf
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaMeaNjaPXaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaNkaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaPXaNlaMeaafaJRaJRaKnaJRaJRaJRaJRaJRaJRaJRaJRaLVaLZaLZaLZaLZaLZaLVaLVaLVaLZaLZaLZaLZaMNaLVaJRaJRaJRaJRaJRaJRaJRacMaJRaJRaJRaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaagaajaajaajaajaajaafaafaafaafaafaafaafaafaMkaTMaNWaMkaafaafaObaMkaMkaMQaMRaMSaMkaMkaOFaafaafaMkbaHbaIaMkaafaafaafaaf
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaMeaNvaPXaMeaNwaNwbbDaNwaNwaNwbbDaNwaNwaNwaNwaNwbbDaNwaNwaNwaNwbbDaNwaNwaMeaPXaNyaMeaafaJRaLfaKnaJRaJRaMXaMXaMXaMXaMXaJRaMYaMYaMYaMYaMYaMYaMYaMYaMYaMYaMYaMYaMYaMZaMYaJRaNaaNaaNaaNaaNaaJRacMacMagRaJRaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaagaajaajaajaajaajaafaafaafaafaafaafaafaafaMkaNbbaJaMkaafaafaMkaMkaNdaNebaKbaLaNgaMkaMkaafaafaMkbaMaNiaMkaafaafaafaaf
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaMeaNSaPXaMeaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaMeaPXaNyaMeaafaJRaLfaJRaJRaJRaNmaNmaNmaNmaNmaJRaNnaNoaNoaNoaNoaNoaNoaNoaNoaNoaNoaNoaNoaNpaNnaJRaNmaNmaNmaNmaNmaJRaJRaJRagRaJRaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaagaajaajaajaajaajaafaafaafaafaafaafaafaafaMkbaNaMkaMkaMkaMkaMkaNraNsbaOaNsaNsaNsaNtaMkaMkaMkaMkaMkbaPaMkaafaafaafaaf
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaMeaOcaPXaMeaOdaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaOeaMeaPXaOfaMeaafaJRaLfaJRaNzkIYaNTaNTaNTaNTaNTaxXaNDaNoaNoaNoaNoaNoaNoaNoaNoaNoaNoaNoaNoaNpaNEcgVaNUaNUaNUaNUaNUrAKaNGaJRagRaJRaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaagaajaajaajaajaajaafaafaafaafaafaafaafaafaMkbaQaNIaNJaNKaNLaMkaNMaNsaNsaNsaNsaNsaNMaMkaNNaNOaNPbaRbaSaMkaafaafaafaaf
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaMeaOnaPXaMeaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaMeaPXaPXaMeaafaJRaLfaJRaNzaNAaNTaNTaNTaNTaNTcMmaNDaNoaNoaNoaNoaNoaNoaNoaNoaNoaNoaNoaNoaNpaNEaNCaNUaNUaNUaNUaNUagAaNGaJRagRaJRaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaagaajaajaafaafaafaafaafaafaafaafaafaafaafaMkaNVaNWbaHaNWaNXaMkaNYaNYaNYaNZaNYaNYaNYaMkaOaaNWaNWbaTaNVaMkaafaafaafaaf
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaMeaOxaPXaNkaNwaNwaNwaNwaNwaNwaNwaNwaNwaOyaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNkaPXaOzaMeaafaJRaLfaJRaNzkIYaNTaNTaOgaNTaNTcMmaNDaNoaNoaNoaNoaNoaOhaOiaOhaNoaNoaNoaNoaNpaNEaNCaNUaNUaOjaNUaNUagAaNGaJRagRaJRaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaagaajaajaafaafaafaafaafaafaafaafaafaafaafaOkaNVaNWaNWaNWaOlaNZaNsaNsaNsaNsaNsaNsaNsaNZaNWaNWaOmaNWaNVaOkaafaafaafaaf
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaMeaOKaPXaMeaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaMeaPXaOzaMeaafaJRaLfaJRaNzkIYaNTaNTaNTaNTaNTcMmaNDaNoaNoaNoaNoaNoaOoaOpaOoaNoaNoaNoaNoaNpaNEaNCaNUaNUaNUaNUaNUagAaNGaJRagRaJRaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaagaajaajaajaafaafaafaafaafaafaafaafaafaafaOkaOqaNWaOrbaHaNWaMkaOsaOtaNsaNsbaOaNsaOuaMkaNWaOvaNWaOwaNVaOkaafaafaafaaf
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaMeaOZaPXaMeaOdaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaOeaMeaPXaOzaMeaafaJRaLfaJRaNzkIYaNTaNTaNTaNTaNTcMmaNDaNoaNoaNoaNoaNoaOAaOBaOCaNoaNoaNoaNoaNpaNEaNCaNUaNUaNUaNUaNUagAaNGaJRagRaJRaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaagaajaajaajaafaafaafaafaafaafaafaafaafaafaOkaOqaNWaNWaMkaODaMkaMkaMkaOEbaUaOGaMkaMkaMkaODaMkbaVaOIaOJaOkaafaafaafaaf
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaMeaPgaPXaMeaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaMeaPXaPhaMeaafaJRaLfaJRacMkIYaNTaNTaNTaNTaNTcMmaNDaNoaNoaNoaNoaNoaNoaOLaNoaNoaNoaNoaNoaNpaNEaNCaNUaNUaNUaNUaNUagAacMaJRagRaJRaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaagaajaajaajaafaafaafaafaafaafaafaafaafaObaMkaOMaONaONaMkaOOaOPaOOaOkaOQaORaOSaOkaOTaOUaOVaMkaOWbaWaOYaMkaOFaafaafaaf
-agLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaMeaPtaPXaMeaNwaNwaPuaNwaNwaNwaPuaNwaNwaNwaNwaNwaPuaNwaNwaNwaNwaPuaNwaNwaMeaPXaPvaMeaafaJRaLfaJRaPaaJRaPbaPbaPbaPbaPbaJRaNnaNoaNoaNoaNoaNoaNoaOLaNoaNoaNoaNoaNoaNpaNnaJRaPbaPbaPbaPbaPbaJRaPaaJRagRaJRaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaagaajaajaajaafaafaafaafaajaajaafaafaafbaXaMkaPdaPdaMkaMkaOOaOOaOOaOkaOQbaYaOSaOkaOVaOVaPeaMkaMkaPdaPdaMkbaZaafaafaaf
-aagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaMeaPDaPXaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaNkaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaPXaPEaMeaafaJRaLpaPiacMaJRaPjaPjaPjaPjaPjaJRaMYaMYaMYaMYaMYaMYaPkaPlaPkaMYaMYaMYaMYaMZaMYaJRaPmaPmaPmaPmaPmaJRacMaPntyraJRaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaagaajaajaajaafaafaafaafaajaajaafaafaafaafbaXaPoaPobaZaMkaPpaPqaOOaOkaPraNsaPraOkaOVaOVaPsaMkbaXaPoaPobaZaafaafaafaaf
-aagahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahXaibaibahXaicaidaieaifaigahXahWahWahWahWahWahWahWaagagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaMeaPMaPXaPXaPXaPXaPXaPXaPXaPXaPXaPXaPXaPXaPXaPXaPXaPXaPXaPXaPXaPXaPXaPXaPXaPXaPXaMeaafaJRaJRaJRacMaJRaJRaJRaJRaJRaJRaJRaPwaPxaPxaPxaPxaPxaPyaPzaPwaPxaPxaPxaPxaPAaPwaJRaJRaJRaJRaJRaJRaJRacMaJRaJRaJRaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaagaajaajaajaafaafaafaafaajaajaafaafaafaafaafaafaafaafaMkaOOaOOaOOaMkaMkaNZaMkaMkaPBaOVaPCaMkaafaafaafaafaafaafaafaaf
-aagahWahWahWahWahWahWahWahWahWahWahWahWahWahXahXahXahXahXahXahWahWahWahWahWahWahWahWahWahXaiDaiDahXaiFaiGaiGaiGaiHahXahWahWahWahWahWahWahWaagagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaMeaPUaPVaMsaPWaMuaMvaMtaMwaMxaMyaMzaMAaMBaMCaMDaMEaMFebdaPYaPZaPXaMKaMLaMraPVaPXaMeaafaafaafaJRacMacMacMacMacMacMacMaJRaPwaPwaPwaPwaPwaPwaPwaPFaPGaPwaPwaPwaPwaPHaPwaJRacMacMacMacMacMacMacMaJRaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaagaajaajaajaafaafaafaafaafaafaafaafaafaafaafaafaafaafaMkaOOaOOaPIaMkaPJaNsaPKaMkbbaaOVaPLaMkaafaafaafaafaafaafaafaaf
-aagahWahWahWahWahWahWahWahWahWahWahWahWahWahXaiOahXaiPaiQahXahWahWahWahXahXahXahXahXahXahXaiDaiDahXaiRaiGaiSaiGaiTahXahWahWahWahWahWahWahWaagagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaafaafaafaJRaJRaJRaJRaJRaJRaJRacMaLHaPwaPwaPwaPOaPOaPOaPwaPwaPwaPOaPOaPOaPOaPOaPwaLHacMaJRaJRaJRaJRaJRaJRaJRaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaagaajaajaajaajaafaafaafaafaafaafaafaafaafaafaafaafaafaMkaMkaPPaOOaMkaPQaNsaPRaMkaPSaPTaMkaMkaafaafaafaafaafaafaafaaf
-aagahWahWahWahWahWahXahXahXahXahXahXahXahXahXaiXahXaiPaiXahXahXahXahXahXaiYaiZajaajbajcahXaiDaiDahXajdaiGaiGaiGajeahXahWahWahWahWahWahWahWaagagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaJRaJRaJRaQaaQaaQaaQbaQcaQdaQeaPwaQfaQgaQhaQiaQjaQkaQlaJRaJRaJRaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaagaajaajaajaajaajaafaafaafaafaafaafaafaafaafaafaafaafbaXaMkaMkaMkaMkaQmaQnaQoaMkaMkaMkaMkbaZaafaafaafaafaafaafaafaaf
-aagahWahWahWahWahWahXajmajnahXajoajpajqajrahXajsahXahXajuahXajvajwaiDahXajxaiDaiDaiDajyahXaiDaiDahXahXahXajzahXahXahXahXahXahWahWahWahWahWaagagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaJRaJRaJRaJRaJRaJRaJRaJRaJRaJRaJRaJRaJRaJRaJRaJRaJRaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaagaajaajaajaajaajaafaafaafaafaajaajaafaafaafaafaafaafaafaafbaXaMkaPdaPdaPdaPdaPdaMkbaZaafaafaafaafaafaafaafaafaafaaf
-aagahWahWahWahWahWahXajIajIajJajIajIajIajIajKaiXajLajLaiXahXajMaiDaiDahXajNaiDaiDaiDajOahXaiDaiDajPajQajRaiGaiGajPajSajTahXahWahWahWahWahWaagagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaagaajaajaajaajaajaafaafaafaafaajaajaajaafaafaafaafaafaafaafaafbaXaPoaoFaoFaoFaPobaZaafaafaafaafaafaafaafaafaafaafaaf
-aagahWahWahWahWahWahXajIajIahXajXajIajIajIahXahXahXahXahXahXajYaiDaiDahXajNaiDaiDaiDajZahXaiDaiDajPakaakbaiGakcakdaiGaiGahXahWahWahWahWahWaagagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaagaajaajaajaajaajaafaafaafaafaajaajaajaafaafaafaafaafaafaafaafaafaafaenaenaenaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aagahWahWahWahWahWahXakjakkahXaklakmaknajIakoahXakpakqakrahXaksaiDaiDaktaiDaiDaiDaiDakuahXaiDaiDajPaiGakvaiGaiGajPakwakxahXahWahWahWahWahWaagagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaagaajaajaajaajaajaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaecaenaenaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aagahWahWahWahWahWahXahXahXahXahXahXahXakzahXahXakqakAakpahXajvaiDaiDahXaiGaiDaiDakBakCahXaiDaiDajPaiGaiGaiGaiGahXahXahXahXahWahWahWahWahWaagagLaafaafaafagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaagaajaajaajaafaafaafaafaafaafaafaafaafaafaajaajaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aagahWahWahWahWahWahXakGakHakGakHakGakIaiGakJahXajPajPajPahXahXahXahXahXahXakKakKahXahXahXaiDaiDakLaiGaiGaiGaiGajPakwakxahXahWahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaagaajaajaajaafaafaafaafaafaafaafaafaajaajaajaajaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aagahWahWahWahWahWahXaiDakSaiDakSaiDakSaiDaiGakTaiGaiGaiGaiGaiGaiGaiGaiGaiGaiDaiDaiDajwaiDaiDaiDakLaiGaiGaiGakcakUaiGaiGahXahWahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaagaajaajaajaafaafaafaafaafaafaafaajaajaajaajaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aagahWahWahWahWahWahXaiDakSaiDakSaiDakSaiDaiGakTaiGaiGaiGaiGaiGaiGaiGaiGaiGaiDaiDaiDaiDaiDaiDaiDahXaldaldaiGaiGajPajSajTahXahWahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaagaajaafaafaafaafaafaafaafaafaafaafaajaajaajaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aagahWahWahWahWahWahXakGakHakGakHakGakHaiDaloahXahXajPajPajPahXahXahXajPajPajPajPajPahXahXaiDaiDahXahXahXahXahXahXahXahXahXahXahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaRFaafaafaafaafaRFaRFaRFaRFaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahC
-aagahWahWahWakqakpahXahXahXahXahXahXahXalsahXahXaltalualvalwalxahXalyalzalAalBalCalDalDahXaiDaiDahXalEalFalGalHalIalJalKalLahXahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaRFaSeaSeaSeaSeaSeaRGaSeaSeaRGaSeaRGaSeaSeaRGaSeaRFaafaafaafaafaRHaafaRFaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aagahWahWakAakpakpahXalSalTalUalValWalXaiDalYajPalZaiGaiGaiDaiDajPaiDaiDaiGaiGaiGaiGamaajPaiDaiDahXaiDaiDaiDaiDaiDaiDaiDaiDahXahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaRFaRFaSeaRIaRJaRKaSeaRLaRMaRLaRMaRPaRMaRLaRMaRLaSeaRFaRFaRFaafaafaRFaRFaRHaRFaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aagahWakpakpakpakpajPaiDaiDaiDaiDaiDaiDaiDamfajPamgaiGaiGaiDaiDajPaiDaiDamhamiaiGaiGamjajPaiDaiDahXaiDaiGaiGaiGaiGaiGaiGaiDahXahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaRFaSeaSeaRIaRRaRTaSeaRMaSeaSeaRUaSeaRUaSeaSeaRMaSeaRWaRWaSeaRHaafaafaRFaRFaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aagahWakqakpakrakpajPaiDammamnamoampaiDaiDamqajPamraiGaiGaiDaiDajPaiDaiDaiGaiGaiGaiGamsajPaiDaiDahXaiDaiDaiDaiDaiDaiDaiDaiDahXahXahXahXahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaRWaRZaSaaSbaScaSeaRUaSeaSdaSkaSmaSoaSpaSeaRUaSeaSqaSraSeaRFaRFaRFaRHaRFaRFaSeaTAaTAaTAaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaafaafaaf
-aagahWahWakpakpakqajPaiDammamxamyampaiDaiDamzahXamAamBaiGaiDaiDahXaiDaiDaiGamCamDamEamFahXaiDaiDahXaiDaiDamGamHamIamJamKamLahXamMamMahXahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaRFaRWaSsaStaUuaSuaSeaToaSvaSwaToaSxaSvaSAaToaToaStaSBaSvaSeaRGaSeaRGaRGaSeaRGaSeaTAaTAaTAaTAaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaafaafaaf
-aagahWakpandakpakqajPaiDammaneanfampaiDaiDangahXajPajPanhanianiahXanjanjankanlanlanlanlahXaiDaiDahXanmanmahXahXahXahXahXahXahXaiDaiDahXahXaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaRFaRWaSCaSDaSEaSGaSHaSIaSJaSKaUdaSLaSMaSRaSSaSSaSMaSTaSvaSeaRLaSUaRLaSVaSWaSXaSeaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaafaafaaf
-aagahWakqakpakpakAajPaiDaiDaiDaiDaiDaiDaiDaiDanAaiDaiDaiDaiDaiDanBaiDaiDaiDaiDaiDaiDaiDajwaiDaiDaiDaiDaiDaiDaiDajwaiDaiDanCaiDaiDaiDaiDanDaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaRFaRWaSYaSZaTaaTbaSeaRUaRGaRUaSeaTlaSeaRUaRGaRGaSeaTmaTnaSeaSXaRLaRMaRLaSXaRLaSeaTAaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaafaafaaf
-aagahWanPakpakqakpahXanQamBanRanSanTanUaiDaiDanAaiDaiDanVaiDaiDaiDaiDaiDaiDaiDaiDaiDaiDaiDaiDaiDanWaiDaiDaiDaiDaiDaiDaiDanCaiDaiDaiDaiDanDaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaSeaSeaRWaRWaSeaSeaRHaRFaafaRGaTxaRGaRFaRFaafaSeaUuaTyaSeaTzaTBaTzaTzaTBaTzaSeaTAaTAaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaafaafaaf
-aagahWahWahWakAakpahXahXahXahXahXajPajPaoiajPahXajPajPahXaojaojahXaokaokaolajPajPajPahXahXahXahXahXaomaomahXaiDaiDahXahXahXahXahXahXahXahXaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaRFaRFaafaRFaafaafaafaafaSeaTCaSeaRFaafaafaSeaTEaToaSeaTFaTHaTIaTJaTKaTLaSeaTAaTAaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaafaafaaf
-aagahWahWahWahWakpahWahWahWahWahXaiGaiGaiDaiGajPaotaouaovaiDaiDahXaiDaiDaiGaowaoxaoyaozaoAaoBamCahXaoCaoCahXaiDaiDahXahWahWahWahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaTNaTOcKPaTRcKPaTTaTNaafaRWaTUaUdaTVaTWaTXaTYaTYaVjaUaaSeaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaafaafaaf
-aagahWahWahWahWahWahWahWahWahWahXaiGaoMaiDaiDajPaiGaiGaiGaiDaiDajPaiDaiDaiGaiGaiGaiGaiGaiGaiGamCajPaoNaoNahXaoOaoOahXahXahXahXahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaTNaUbaREaUeaUfaUgaRCdCxaTNaRWaUhaUjaUkaUlaVfaUmaVfaUnaUoaSeaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaafaafaaf
-aagahWahWahWahWahWahWahWahWahWahXaoXaoYaoZaiDapaaiGaiGaiGaiDaiDajPaiDaiDapbapcapcapcapcaiGaiGapdajPapeapfahXapgaiDaphapiapjahXahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaUbvdZxpfaUpaUqaUpjpYvdZdCxaRWaUuaSvaSeaUsaUtaUvaUwaUyaUzaSeaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaiaaiaaiaaiaaiaaiaairrUaKRkEfpmrafVaaiaaiaaiaaiaaiaaiaaiaaaaafaafaaf
-aagahWahWahWahWahWahWahWahWahWahXappapqaiDaiDahXaprapsaptapuapvajPaiDaiDapwapxapxapxapxaiGaiGapdajPapeapyapzaiDaiDaiDaiDapAahXahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaWzaREaUEaUFaUGaUHaUIaRCaWBaSeaUuaSxaSeaSeaSeaSeaSeaSeaSeaSeaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaiaaiaaiaaiaaiaaiaaivDlafTahcdztadTaaiaaiaaiaaiaaiaaiaaiaaaaafaafaaf
-aagahWahWahXahXahXahXahXahWahWahXapHaiGapIapJahXahXajPajPajPajPahXaiDaiDaiGaiGaiGaiGaiGaiGaiGapKajPapeapyapzaiDaiDaiDaiDapLahXahXahXahXahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaRCaUKbbEaRYaUMaUIaUcaafaSeaUNaToaSeaVwaUOaUWlnYaUPaUQaSeaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaiaaiaaiaaiaaiaaiaaiagzahcaJFahcagzaaiaaiaaiaaiaaiaaiaaiaaaaafaafaaf
-aagahWahWahXapTapUapVahXahWahWahXahXahXahXahXahXahWakqakqakqakqahXapWalzapXapYapZaqaaqbaqcaqdaqeahXapeapyapzaiDaiDaiDaiDaqfahXaqgaqhahXahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaUcaURaRXaRYaUSaUKaREaafaSeaUTaTyaSeaVwaUYaUZaVkaVaaVbaSeaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaiaaiaaiaaiaaiaaiaaiaIWagxahcagxaIWaaiaaiaaiaaiaaiaaiaaiaaaaafaafaaf
-aagahWahWahXaqwaqxaqyahXahWahWahWahWahWahWahWahWahWakqakpakrakqahXahXajPajPajPajPahXahXahXahXahXahXapeapyapzaiDaiDaiDaiDaiDaqzaiDaqAahXahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaUcaURaRXaVcaUMaVdaUcaafaSeaUuaToaSeaVwaVeaVgaTYaVjaVbaSeaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaiaaiaaiaaiaaiaaiaaiaIWahcahcahcaIWaaiaaiaaiaaiaaiaaiaaiaaaaafaafaaf
-aagahWahWahXahXahXahXahXahWahWahWahWahWahWahWahWahWakqakqakqakqakqakqakqakqakqakpakqakqapeapeapeapeapeaqMahXaqNaqOaqPaqQaqRahXaiGaqSahXahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaRCaUKbbEaVcaUMaVdaUcaafaRWaUuaToaSeaSeaVlaUVaVmaVnaSeaSeaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaiaaiaaiaaiaaiaaiaaiagYahcahcahcagYaaiaaiaaiaaiaaiaaiaaiaaaaafaafaaf
-aagahWahWahWahWahWahWahWahWahWahWahWakqakqahWahWakqakqakpakqakpakqakqakpakqakqakrakqakqapeapeapeapeapeapeahXahXahXahXahXahXahXahXahXahXahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaUcaVoaRXaVcaUSaUKaREaafaRWaVpaVqaSeaSeaSeaVraSeaSeaSeaSeaVtaVtaTAaTAaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaiaaiaaiaaiaaiaaiaaiacxahktxPnUYacxaaiaaiaaiaaiaaiaaiaaiaaaaafaafaaf
-aagahWahWahWahWahWahWahWahWahWakqakqakqakpakqakqakqakpakqakqakqakqandakqakpakqakqakqakqapeapeakqakqakqakpakqakqakrakpakpakqakpakqahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaVuaVoaRXaRYaUMaVvxWHaafaRWaUuaVyaSeaVzaVAaVBaVCaVDaVFaVOaVPaVtaVtaTAaTAaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaiaaiaaiaaiaaiaaiaaiafSahmahmahmmxgaaiaaiaaiaaiaaiaaiaaiaaaaafaafaaf
-aagahWahWahWahWahWahWakpahWahWakqaruarvarvarvarvarvarvarvarvarvarvarvarvarvarvarvarvarvapeapearvarvarvarvarvarvarvarwakqakrakpahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafewxaVoaSFaRYaVQaVvaUraafaSeaVRaTyaSeaVSaVTaUuaToaToaTGaTDaVtaVtaVtaTAaTAaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaiaaiaaiaaiaaiaaiaaipjuahpahqahrgBBaaiaaiaaiaaiaaiaaiaaiaaaaafaafaaf
-aagahWahWahWahWahWakpakpakqakqakqarHarIarIarIarIarIarIarIarIarIarIarIarIarIarIarIarIarIarJarJarIarIarIarIarIarIarIarKakqakqahWahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaRCaTQaVUaVVaVWaTSaREaafaSeaVXaSvaTnaSvaVYaUuaVZaWaaWbaTDaVtaVtaVtaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaafaafaaf
-aagahWahWahWahWahWakpakpakpakqakqarHarIarQarIarIarIarRvBmaucaucvBmarTarIarIarIarIarRarSarSarSarSarTarIarIarIarQarIarKakqakpahWahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaUcaWcaRVaWdaWeaWfaUcaafaSeaWgaSvaWhaSvaWiaVEaToaWjaWkaTDaVtaVtaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaafaafaaf
-aagahWahWahWahWahWahWakpahWakqakqarHarIarIarIarIarIaVKaugasxasxauFaVKarIarIarIarIaVKassastasuasvaVKarIarIarIarIarIarKakqakqahWahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaUcaWcaRVaRVaRVaWlaUcaafaSeaWmaWnaSeaSeaWoaWpaToaWqaVzaTDaVtaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaafaafaaf
-aagahWahWahWahWahWahWahWakqakqakqarHarIarIarIarIarIaVKaRAasYasYasZaVKarIarIarIarIaVKasUasVasVasWaVKarIarIarIarIarIarKakqakqahWahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaUcxovaRVaRVaRVaWraUcaafaRWaWsaWtaWuaWvaWwaTDaWxaWyaTDaTDaTDaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaafaafaaf
-aagahWahWahWahWahWahWahWakpakqakqarHarIarIarIarIarIaVKaRAasYaVLatuaVKarIarIarIarIaVKatratsatsattaVKarIarIarIarIarIarKakqahWahWahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaWzaRvaTQaWAaTSaRvaWBaafaRWaUuaWCaWuaWDaWEaWFaWFaWFaWFaWGaTDaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaafaafaaf
-aagahWahWahWahWahWahWahWakrakpakqarHarIarIarIarIarIaVKaEVatMatNaFqaVKarIarIarIarIaVKatJatsrDnatKaVKarIarIarIarIarIarKakqahWahWahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaRbaRcaRdaafaRbaRcaRdaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaUcaWHaSnaWIaUcaafaafaRWaWJaWCaWuaWvaWKaTDaTDaTDaTDaWLaTDaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaafaafaaf
-aagahWahWahWahWahWahWahWakqakpakqarHarIarIarIarIarIeaevBmaUAaUAvBmiTMarIarIarIarIeaeauaaubauaauaiTMarIarIarIarIarIarKakpakpahWahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaRbaReaRdaafaRbaReaRdaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaVuaRSaRSaRSxWHaafaafaSeaWMaWNaSeaSeaWOaUjaWPaWQaWRaWLaTDaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaafaafaaf
-aagahWahWahWahWahWahWahWakqauAakqarHarIarIarIarIarIarSauDauEaUJauGaVKarIarIarIarIaVKauBatsatsauCarSarIarIarIarIarIarKakqakqahWahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaRbaReaRdaafaRbaReaRdaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafkNwaWSaWTaSzaVxaafaafaSeaWUaWVaWWaWXaWYaToaToaToaWZaXaaTDaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaafaafaaf
-aagahWahWahWahWahWahWahWahWakqakqarHarIarIarIarIarIarSauWauXauXauYaVKarIarIarIarIaVKauUatsatsauVarSarIarIarIarIarIarKakqakqakqahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaRbaReaRdaafaRbaReaRdaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaTTewxaRQaSlaSyaUraTOaafaXbaXcaSvaWhaSvaToaToaSxaToaXdaXeaTDaTAaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaf
-aagahWahWahWahWahWahWahWahWakqakqarHarIarIarIarIarIarSavtauXauXauYeaevBmvBmvBmvBmiTMaVMatsatsaVNarSarIarIarIarIarIarKakqakpakqakqahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaRbaReaRdaafaRbaReaRdaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaWzaRuaXfbXChkKaRuaWBaafaSeaXcaXgaSeaSeaXhaToaToaToaXiaXjaTDaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aagahWahWahWahWahWahWahWahWahWakqarHarIarIarIarIarIaVKavKavLauXavMaVKavGavHavIavJaVKavEatsatsavFaVKarIarIarIarIarIarKakqakqakpakqahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaRbaReaRdaafaRbaReaRdaafaafaafaafaafaafaafaafaafaafaafaRFaXkaSeaSeaSeaSeaSeaSeaSeaSeaSeaSeaXlaXmaToaXnaTDaXoaToaXpaXqaToaXraTDaTAaTAaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aagahWahWahWahWahWahWahWahWahWakqarHarIarIarIarIarIavZvBmmuRawaauaarUawbawcawcawdeegauaawemuRvBmawfarIarIarIarIarIarKakqakpakqahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaRbaReaRdaafaRbaReaRdaafaafaafaafaafaafaafaafaafaXsaRFaRFaXtaUBaXuaXvaXwaTDaXxaSvaToaXyaToaSvaXcaToaUiaTDaXzaSvacIaXAaRHaXBaTDaTAaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aagahWahWahWahWahWahWahWahWakqakqarHarIarIarIarIarIarIarIaVKauXauXauXauXauXauXauXauXauXauXaVKarIarIarIarIarIarIarIarKakqakpahWahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaRbaReaRdaafaRbaReaRdaafaafaafaRFaRFaRFaafaRFaRFaSeaXtaXtaXtaXCaXDaXEaXFaXGaXHaXIaXJaSKaXLaXMaXNaToaUxaTDaXOaSvaXPaXQaRHaXRaTDaRFaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aagahWahWahWahWahWahWahWahWakqakqarHarIarRvBmvBmvBmarTarIaVKawyauXauXauXauXauXauXavLauXawzaVKarIarRvBmvBmvBmarTarIarKakqakqahWahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaTkaafaafaafaTkaXtaXtaXtaXtaSeaSeaSeaSeaSeaSeaSeaXSaXTaXUaXVaXWaXXaXYaTDaTDaTDaTDaTDaTDaTDaXZaYaaYbaTDaYcaToaYdaYeaYfaYgaTDaRFaRFaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaez
-aagahWahWahWahWahWahWahWahWakqakqarHarIaVKawGawHawIaVKarIeaeaweauamuRvBmawJawJvBmmuRauaawKiTMarIaVKawLawMawNaVKarIarKakpakqakqahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaTuaTvaTvaTvaTwaXtaYhaToaYiaYjaYkaYlaYmaTDaToaToaYnaYoaYpaYqaYraYsaYtaYuaTDaYvaYwaYxaYyaYzaYAaToaYBaTDaTDaTDaTDaTDaTDaTDaSeaXtaXtaSeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaezaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
-aagahWahWahWahWahWahWahWakqakpakqarHarIaVKawWatsawXeaevBmarUauXawYaVKawZaxaaxaaxbaVKaxcaxdeegvBmarUaxeaxfaxdaVKarIarKakqakqakqahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaTPaYCaYDaYEaYFaYGaYHaYHaYIaYJaYKaYLaYMaYNaYOaYPaYQaYRaYSaYTaYUaTDaYVaVhaYWaTDaTDaYXaYYaYYaYZaYZaYZaZaaZbaZcaZdaZeaZfaZgaXtaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaezaafaQpaQpaQpaQpaQpaQpaQpaQpaQpaQpaQpaQpaQpaQqaQpaQpaQp
-aagahWahWahWahWahWahWahWakqakrakqarHarIeaeauaaxHauaiTMauXauXauXawYaVKaxIaxaaxaaxbaVKaxJaxdaxKaxLaxMaxdaxdaxNaVKarIarKakqakqakqahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaUCaTvaTvaTvaUDaXtaToaToaZhaZiaZjaZkaZlaZmaToaToaZnaZoaZpaZqaZraZsaZtaZuaTDaTDaTDaZvaTDaTDaZwaZxaXMaXJaZyaUdaZAaZBaZCaZDaZEaZEaZFaXtaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaezaafaQpaQraQsanNaSfaSfaQvaQpaQxaQxaQxaQpaQyaQzaQFaQpaQp
-aagahWahWahWahWahWahWahWakqakqakqarHarIaVKaxYaxZaxZayaauXaybavLaycaVKaxaaxaaxaaydaVKaxdayeayfaxdaxdaxdaxdaygaVKarIarKakqauAakpahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaTkaafaafaafaTkaXtaXtaXtaXtaTDaTDaTDaTDaTDaTDaTDaTDaZGaZHaZIaZJaZKaZLaZuaTDaZMaZNaZOaTDaTDaZPaTDaZQaZRaZPaTDaTDaZSaZTaZDaZUaZEaZVaXtaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaezaafaQpaQtaQtaQtaQtaQtaQtaQBaQCaQDaQCaQEaQzgSjaQFaQpaQp
-aagahWahWahWahWahWahWahWakqakrakparHarIaVKaxYaxZayweaevBmvBmvBmvBmiTMayxayxaxaaxaeaevBmvBmvBmvBmurTayyaxdayzaVKarIarKakqakqakqahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaRbaUXaRdaafaRbaUXaRdaafaafaafaTAaTAaTAaTAaTAaTAaTAaTDaTDaZWaZXaZYaZZbaaaTDaTDaTDaTDaZvaTDbabbacaTDbadaTDbaebafaTDbagaZTaZDaZDaZDbahaSeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaezaafaQpaQGaQGaQtaQtaQtaQHaQpaQCaQCaQIaQpaQpaQpaQpaQpaQp
-aagahWahWahWakpazhakqakqakqakqakqarHarIarSasXaxZaziaVKarIarIarIarIaVKazjazjazjazjaVKarIarIarIarIaVKazkaxdazlarSarIarKakqakpakqahWahWakpahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaRbaUXaRdaafaRbaUXaRdaafaafaafaTAaTAaTAaTAaTAaTAaTAaTAaTDaTDaTDaTDaTDaTDaTDaTDaVsaZNbaiaTDbajbakbalaTobambanbaoaTDbapbaqaZDbaraZDbasaXtaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaezaafaQpaQtaQtaQtaQtaQtaQJaQpaQKaQKaQLaQpaQMaQNaQOaTjaQp
-aagahWahWazAakpakpakqakpakqakpakqarHarIaVKazBaxZazCaVKarIarIarIarIavZazDazDazDazDawfarIarIarIarIaVKazEazFazGaVKarIarKakqakqakqakqakqakpahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaRbaUXaRdaafaRbaUXaRdaafaafaafaTAaTAaTAaTAaTAaTAaTAaTAaTAaTDaTDaTDaTDaTAaTAaTDaTDaTDaTDaTDbatbauaTDbavaTDbawbaxaTDbaybazbaAbaAbaAbaBaXtaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaezaafaQpaQQaQQaQtaQtaQtaQRaQpaQKaQKaQKaQSaQKaQKaQKaQTaQp
-aagahWahWahWahWakqakpakqauAakpakqarHarIaVKazjazjazjaVKarIarIarIarIarIarIarIarIarIarIarIarIarIarIaVKazjazjazjaVKarIarKakqakqakqakqahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaRbaUXaRdaafaRbaUXaRdaafaafaafaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTDaTDaTDaTDaTDaTDaTDaTDaTDbagbaCbaDbaEbaFbaGaXtaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaezaafaQpaQtaQtaQtaQtaQtaQUaQpaQVaQWaQXaQpaQYaQZaRaaQPaQp
-aagahWahWahWahWahWahWahWakqakqakqarHarIavZazDazDazDawfarIarIarIarIarIarIarIarIarIarIarIarIarIarIavZazDazDazDawfarIarKakqakqahWakqahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaRbaUXaRdaafaRbaUXaRdaafaafaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaSeaSeaSeaSeaSeaSeaSeaSeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaezaafaQpaQtaQtaQtaQtaQtaQHaQpaQpaQpaQpaQpaQpaQpaQpaQpaQp
-aagahWahWahWahWahWahWahWakqakqakparHarIarIarIarIarIarIarIarIarIarIarIarIarIarIarIarIarIarIarIarIarIarIarIarIarIarIarKakqakrakqakqahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaRbaUXaRdaafaRbaUXaRdaafaafaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaezaafaQpaQtaRiaRjaRkaRlaQtaRmaRnaRoaRmaSNaRqaRraRraRqaQp
-aagahWahWahWahWahWahWahWahWakqakqaBpaBqaBqaBqaBqaBqaBqaBqaBqaBqaBqaBqaBqaBqaBqaBqaBqaBqaBqaBqaBqaBqaBqaBqaBqaBqaBqaBrakqakpakqahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaRbaUXaRdaafaRbaUXaRdaafaafaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaezaafaQpaQtaRiaRxaRyaRlaQtaRzaRzaRzaRzaSNaRBaRBaRBaRBaQp
-aagahWahWahWahWahWahWahWahWahWakqakqakqakqakqakqakqakqakqakqakpakqakqakqakrakqakqakqakqakqakqakqakqakqakqakqakqakqakqakqahWahWahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaRbaVGaRdaafaRbaVGaRdaafaafaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaezaafaQpaQtaRiaRNaROaRlaQtaRzaRzaRzaRzaRzaRzaRzaRzaRzaQp
-aagahWahWahWahWahWahWahWahWahWahWahWakqakqakqakrakqakqakpakqakqakqakqahWahWakqakqakqahWahWahWakqakqakqakqakqahWahWakqahWahWahWahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaafaTAaTAaTAaTAaTAaTAaTAaafaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaezaafaQpaQtaRiaSQaSgaRlaQtaRzaRzaRzaRzaRzaRzaShaSiaSjaQp
-aagahWahWahWahWahWahWahWahWahWahWahWahWahWahWakqakqahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaafaafaTAaTAaTAaTAaafaafaafaafaTAaTAaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaezaafaQpaQtaQtaQtaQtaQtaQtaRzaRzaRzaRzaRzaRzaRzaRzaRzaQp
-aagahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaTAaTAaTAaafaafaafaafaTAaTAaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaezaafaQpaSNaSNaSNaSNaSNaSNaSNaSNaSNaSNaSNaSNaSNaSNaSNaQp
-aagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaezaafaQpaTcaTdaTdaSNaTeaTfaTeaSNaTgaTgaThaSNaTiaQzvVlaQp
-agLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLaafaafaafagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaezaafaQpaTdaTpaTcaSNaTeaTeaTeaSNaTqaTraTgaSNaTsaQzaTtaQp
-aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaezaafaQpaQpaQpaQpaQpaQpaQpaQpaQpaQpaQpaQpaQpaQpaQpaQpaQp
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaacaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaeaafaafaafaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaacaadaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaadaaeaafaafaafaaeaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaeaadaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaadaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaacaadaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaadaaeaafaafaafaaeaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaFaaFaaFaaFaaFaaFaaFaaFaaiaaiaaFaaFaaFaaFaaFaaFaaFaaFaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaeaadaacaacaacaacarBarBarBarBarBarBarBarBarBarBarBarBarBarBaacaacaacaacaacaadaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaacaadaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaadaaeaafaafaafaaeaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaFaaVaaVaaVaaVaaVaaVaaFaaiaaiaaFaaVaaVaaVaaVaaVaaVaaFaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaeaadaacaacaacarBarBavravravravravravravravravravravravraeharBarBaacaacaacaadaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaacaadaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaadaaeaafaafaafaaeaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaFaaVaaVaaVaaVaaVaaVaaFaaiaaiaaFaaVaaVaaVaaVaaVaaVaaFaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaeaadaacaacarBarBavravravravravravravravravravravravravravravraeharBaacaacaadaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaacaadaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaadaaeaafaafaafaaeaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaFaaVaaVaaVaaVaaVaaVaaFaaiaaiaaFaaVaaVaaVaaVaaVaaVaaFaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaeaadaacarBarBavravravravravravravravravravravravravravravravravraehaacaacaadaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiabPabPabPabPabPabPabPaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaacaadaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaadaaeaafaafaafaaeaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaFaaVaaVaaVaaVaaVaaVaaFaaiaaiaaFaaVaaVaaVaaVaaVaaVaaFaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaeaadaacarBavravravravravravravravravravravravravravravravravravraehaacaacaadaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiabPabPacbacbacbacbacbabPabPaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaacaadaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaadaaeaafaafaafaaeaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaFaaVaaVaaVaaVaaVaaVaaFaaiaaiaaFaaVaaVaaVaaVaaVaaVaaFaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaeaadaacarBavravravravravravravravravravravravravravravravravravraehaacaacaadaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiabPabPacbacbacbacbacbacbacbabPabPaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaacaadaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaadaaeaafaafaafaaeaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaFaaVaaVaaVaaVaaVaaVaaFaaiaaiaaFaaVaaVaaVaaVaaVaaVaaFaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaeaadaacarBavravravravravravravravravravravravravravravravravravraehaacaacaadaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiabPacbacbacbacbacbacbacbacbacbabPaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaacaadaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaadaaeaafaafaafaaeaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaFaaVaaVaaVaaVaaVaaVaaFaaiaaiaaFaaVaaVaaVaaVaaVaaVaaFaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaeaadaacarBavravravravravravravravravravravravravravsavsavsavsavsaehaacaacaadaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiabPacbacbacbacbacbacbacbacbacbabPaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaacaadaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaadaaeaafaafaafaaeaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaFaaVaaVaaVaaVaaVaaVaaFaaFaaFaaFaaVaaVaaVaaVaaVaaVaaFaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaeaadaacarBavravravravravravravravravravravraVIavravsavsavsavsavsaVJaacaacaadaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiabPacbacbacbacbacbacbacbacbacbabPaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaacaadaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaadaaeaafaafaafaaeaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaFaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaFaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaeaadaacarBavravravravravravravravravravravravravravsavsavsavsavsaVJaacaacaadaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiabPacbacbacbacbacbacbacbacbacbabPaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaacaadaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaadaaeaafaafaafaaeaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaFaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaFaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaeaadaacarBavravravravravravravravravravravravravravravravravravraVJaacaacaadaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiabPacbacbacbacbacbacbacbacbacbabPaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaacaadaacaacaacaacaacaacaacaacaacaacadxadxadxadxaacaacaacaacaacaacaacaacaacaadaaeaafaafaafaaeaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaFaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaFaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaeaadaacarBavravravravravravravravravravravravravravravravravravraVJaacaacaadaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiabPacbadOacbacbacbacbacbacbacbabPaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaacaadaacaacaacaacaacaacaacaacadxadxadxadPadPadxaacaacaacaacaacaacaacaacaacaadaaeaafaafaafaaeaaaaaiaaiaaiaaiaaiaaFaaFaaFaaFaaFaaFaaFaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaFaaFaaFaaFaaFaaFaaFaaiaaiaaiaaiaaiaaaaaeaadaacarBavravravravravravravravravravravravravravravravravravraVJaacaacaadaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiabPacbacbacbacbacbacbacbacbacbabPaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaacaadaacaacaacaacaacaacaacaacadxadPadPadPadPaehaacaacaacaacaacaacaacaacaacaadaaeaafaafaafaaeaaaaaiaaiaaiaaiaaiaaFaaVaaVaaVaaVaaVaaFaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaFaaVaaVaaVaaVaaVaaFaaiaaiaaiaaiaaiaaaaaeaadaacarBarBavravravravravravravravravravravravravravravravravraVJaacaacaadaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiabPacbacbacbacbacbacbacbacbacbabPaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaacaadaacaacaacaacaacaacaacaacadxadPaetadPadPaeuaacaacaacaacaacaacaacaacaacaadaaeaafaafaafaaeaaaaaiaaiaaiaaiaaiaaFaaVaaVaaVaaVaaVaaFaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaFaaVaaVaaVaaVaaVaaFaaiaaiaaiaaiaaiaaaaaeaadaacaacarBarBavravravravravravravravravravravravravravravraVJarBaacaacaadaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaaaaiaaiaaiaaiaaiaaiaaiaafaafaftafwafwafwafwafwafwafwafwafwaftaafaafaaiaaiaaiaaiaaiaaiaaiaaaaacaadaacaacaacaacaacaacaacaacadxadPadPadPadPaeuaacaacaacaacaacaacaacaacaacaadaaeaafaafaafaaeaaaaaiaaiaaiaaiaaiaaFaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaFaaiaaiaaiaaiaaiaaaaaeaadaacaacaacarBarBavravravravravravravravravravravravraVJarBarBaacaacaacaadaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaaaaiaaiaaiaaiaaiaaiaaiaafaafaftafwafwafwafwafwafwafwafwafwaftaafaafaaiaaiaaiaaiaaiaaiaaiaaaaacaadaacaacaacaacaacaacaacaacadxadxadxadPadPadxaacaacaacaacaacaacaacaacaacaadaaeaafaafaafaaeaaaaaiaaiaaiaaiaaiaaFaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaFaaiaaiaaiaaiaaiaaaaaeaadaacaacaacaacarBarBarBarBarBarBarBarBarBarBarBarBarBarBaacaacaacaacaacaadaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaaaaiaaiaaiaaiaaiaaiaaiaafaafaftafwafwafwafwafwafwafwafwafwaftaafaafaaiaaiaaiaaiaaiaaiaaiaaaaacaadaacaacaacaacaacaacaacaacaacaacadxadxadxadxaacaacaacaacaacaacaacaacaacaadaaeaafaafaafaaeaaaaaiaaiaaiaaiaaiaaFaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaFaaiaaiaaiaaiaaiaaaaaeaadaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaadaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaaaaiaaiaaiaaiaaiaaiaaiaaiabPabPacbacbacbacbacbacbacbacbacbabPabPaaiaaiaaiaaiaaiaaiaaiaaiaaaaacaadaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaadaaeaafaafaafaaeaaaaaiaaiaaiaaiaaiaaFaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaVaaFaaiaaiaaiaaiaaiaaaaaeaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaaaaiaaiaaiaaiaaiaaiaaiafeabPacbacbacbacbacbacbacbacbacbacbacbabPabPaaiaaiaaiaaiaaiaaiaaiaaaaacaadaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaadaaeaafaafaafaaeaaaaaiaaiaaiaaiaaiaaFaaVaaVaaVaaVaaVaaFaaFaaFaaFaaVaaVaaVaaVaaVaaVaaFaaFaaFaaFaaVaaVaaVaaVaaVaaFaaiaaiaaiaaiaaiaaaaaeaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaaaaiaaiaaiaaiaaiaaiaaiafeacbacbacbacbacbacbacbacbacbacbacbacbacbabPaaiaaiaaiaaiaaiaaiaaiaaaaacaadaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaadaaeaafaafaafaaeaaaaaiaaiaaiaaiaaiaaFaaVaaVaaVaaVaaVaaFaaiaaiaaFaaVaaVaaVaaVaaVaaVaaFaaiaaiaaFaaVaaVaaVaaVaaVaaFaaiaaiaaiaaiaaiaaaaaeaRfaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaaaaiaaiaaiaaiaaiaaiaaiafeacbacbacbacbacbacbacbacbacbacbacbacbacbabPaaiaaiaaiaaiaaiaaiaaiaabaacaadaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaadaaeaafaafaafaaeaaaaaiaaiaaiaaiaaiaaFaaVaaVaaVaaVaaVaaFaaiaaiaaFaaFaaFaaFaaFaaFaaFaaFaaiaaiaaFaaVaaVaaVaaVaaVaaFaaiaaiaaiaaiaaiaaaaaeaRfaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaaaaiaaiaaiaaiaaiaaiaaiafeacbacbacbacbacbacbacbacbacbacbacbacbacbabPaaiaaiaaiaaiaaiaaiaaiaaaaacaadaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaadaaeaafaafaafaaeaaaaaiaaiaaiaaiaaiaaFaaVaaVaaVaaVaaVaaFaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaFaaVaaVaaVaaVaaVaaFaaiaaiaaiaaiaaiaaaaaeaRfaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaaaaiaaiaaiaaiaaiaaiaaiafeacbacbacbacbacbacbacbacbacbacbacbacbacbabPaaiaaiaaiaaiaaiaaiaaiaaaaacaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaeaafaafaafaaeaaaaaiaaiaaiaaiaaiaaFaaFaaFaaFaaFaaFaaFaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaFaaFaaFaaFaaFaaFaaFaaiaaiaaiaaiaaiaaaaaeaRfaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaaaaiaaiaaiaaiaaiaaiaaiafeacbacbacbacbacbacbacbacbacbacbacbacbacbabPaaiaaiaaiaaiaaiaaiaaiaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaafaaeaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaeaRfaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaaaaiaaiaaiaaiaaiaaiaaiafeacbacbacbacbacbacbacbacbacbacbacbacbacbabPaaiaaiaaiaaiaaiaaiaaiaaaaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaiaaeaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaeaRfaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaaaaiaaiaaiaaiaaiaaiaaiafeacbacbacbacbacbacbacbacbacbacbacbacbacbabPaaiaaiaaiaaiaaiaaiaaiaaaaaiaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaiaaiaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaRfaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaaaaiaaiaaiaaiaaiaaiaaiafeacbacbacbacbacbacbacbacbacbacbacbacbacbabPaaiaaiaaiaaiaaiaaiaaiaaaaaiaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaiaaiaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaRfaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaaaaiaaiaaiaaiaaiaaiaaiafeacbacbacbacbacbacbacbacbacbacbacbacbacbabPaaiaaiaaiaaiaaiaaiaaiaaaaaiaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaiaaiaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaRfaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaaaaiaaiaaiaaiaaiaaiaaiabPacbacbacbacbacbacbacbacbacbacbacbacbacbabPaaiaaiaaiaaiaaiaaiaaiaaaaaiaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaiaaiaaeagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLaaeaRfaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaaaaiaaiaaiaaiaaiaaiaaiabPabPacbacbacbacbacbabPacbacbacbacbacbabPabPaaiaaiaaiaaiaaiaaiaaiaaaaaiaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaiaaiaaeagLaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiagLaaeaRfaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaaaaiaaiaaiaaiaaiaaiaaiaaiabPabPacbacbacbabPaaiabPacbacbacbabPabPaaiaaiaaiaaiaaiaaiaaiaaiaaaaaiaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaiaaiaaeagLaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaafaaiagLaaeaRfaRgaRgaRgaRgaRgaRgaRhaKjaRhaRhaRhaRhaRhaRhaRhaKjaRhaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiabPacbacbacbabPaaiabPacbacbacbabPaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaiaaaaaiaaiaaiaaiaaiaaiaaiaaiahaahaahaahaahaahaahaahaahaaaiaaiaaiaaiaaiaaiaaiaaiaaaaaiaaiaaeagLaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaafagLaaeaRfaRgaRgaRgaRgaRgaRgaRhafqafqafqafqafqafqafqafqafqaRhaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiabPabPabPabPabPaaiabPabPabPabPabPaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaiaaaaaiaaiaaiaaiaaiaaiaaiaaFaheahfahfahfahfahfahfahfahaaaFaaiaaiaaiaaiaaiaaiaaiaaaaaiaaiaaeagLaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiagLaaeaRfaRgaRgaRgaRgaRgaRgaRhafqafqafqafqafqafqafqafqafqaRhaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaiaaaaaiaaiaaiaaiaaiaaiaaiaaFahfahfahfahfahfahfahfahfahfaaFaaiaaiaaiaaiaaiaaiaaiaaaaaiaaiaaeagLaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiagLaaeaRfaRgaRgaRgaRgaRgaRgaRhafqafqafqafqafqafqafqafqafqaRhaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaiaaaaaiaaiaaiaaiaaiaaiaaiaaFahfahfahfahfahiahfahfahfahfaaFaaiaaiaaiaaiaaiaaiaaiaaaaaiaaiaaeagLaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiagLaaeaRfaRgaRgaRgaRgaRgaRgaRhaKjafqafqafqafqafqafqafqaRhaRhaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaafaafaafaafaaiaaaaaiaaiaaiaaiaaiaaiaaiaaFahfahfahfahfahfahfahfahfahfaaFaaiaaiaaiaaiaaiaaiaaiaaaaaiaaiaaeagLaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiagLaaeaRfaRgaRgaRgaRgaRgaRgaRgaKjafqafqafqafqafqafqafqaRhaRgaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaafaafaafaafaaiaaaaaiaaiaaiaaiaaiaaiaaiaaFahfahfahfahfahfahfahfahfahfaaFaaiaaiaaiaaiaaiaaiaaiaaaaaiaaiaaeagLaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiagLaaeaRfaRgaRgaRgaRgaRgaRgaRgaKjafqafqafqafqafqafqafqaRhaRgaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaafaafaafaafaaiaaaaaiaaiaaiaaiaaiaaiaaiaaFahfahfahfahfahfahfahfahfahfaaFaaiaaiaaiaaiaaiaaiaaiaaaaaiaaiaaeagLaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaFaaFaaFaaiaaiaaiaaFaaFaaFaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiagLaaeaRfaRgaRgaRgaRgaRgaRgaRgaKjafqafqafqafqafqafqafqaRhaRgaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaafaafaafaafaaiaaaaaiaaiaaiaaiaaiaaiaaiaaFahaahfahfahfahfahfahfahfahaaaFaaiaaiaaiaaiaaiaaiaaiaaaaaiaaiaaeagLaaiaaiaaiaaiaaiaaiaaFaaFaaFaaFaaFaaFaaiaaFahnaaFaaFaaFaaFaaFahnaaFaaiaaFaaFaaFaaFaaFaaFaaiaaiaaiaaiaaiaaiaaiagLaaeaRfaRgaRgaRgaRgaRgaRgaRgaKjaRhafqafqafqafqafqaRhaRhaRgaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaafaafaafaafaaiaaaaaiaaiaaiaaiaaiaaiaaiahaahaahfahfahfahfahfahfahfahaaaFaaiaaiaaiaaiaaiaaiaaiaaaaaiaaiaaeagLaaiaaiaaiaaiaaiaaiaaFahnahnahnahnaaFaaFaaFahnahnahnahnahnahnahnaaFaaFaaFahnahnahnahnaaFaaiaaiaaiaaiaaiaaiaaiagLaaeaRfaRgaRgaRgaRgaRgaRgaRgaRgaRhafqafqafqafqafqaRhaRgaRgaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaafaafaafaafaaiaaaaaiaaiaaiaaiahaahaahaahaahfahfahfahfahfahfahfahfahfahaahaaaFahaaaiaaiaaiaaiaaaaaiaaiaaeagLaaiaaiaaiaaiaaiaaiaaFahnahnahnahnaaFaaFahnahnahnahnahnahnahnahnahnaaFaaFahnahnahnahnaaFaaiaaiaaiaaiaaiaaiaaiagLaaeaRfaRgaRgaRgaRgaRgaRgaRgaRgaRhafqafqagKafqafqaRhaRgaRgaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaafaafaafaafaaiaaaaaiaaiaaiaaiaaFahfahfahfahfahfahfahfahfahfahfahfahfahfahfahfahaaaiaaiaaiaaiaaaaaiaaiaaeagLaaiaaiaaiaaiaaiaaiaaFahnahnahnahnaaFaaFahnahnahnahnamSahnahnahnahnaaFaaFahnahnahnahnaaFaaiaaiaaiaaiaaiaaiaaiagLaaeaRfaRgaRgaRgaRgaRgaRgaRgaRgaRhafqafqafqafqafqaRhaRgaRgaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaaaaiaaiahtahtahtahtahtaaiaaiaaiabPaheaheahaabPaaiaaiaaiabPaheaheahaabPaaiaaiaaaaafaafaafaafaaiaaaaaiaaiaaiaaiaaFahfahfahfahfahfahfahfahfahfahfahfahfahfahfahfahaaaiaaiaaiaaiaaaaaiaaiaaeagLaaiaaiaaiaaiaaiaaiaaFahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnaaFaaiaaiaaiaaiaaiaaiaaiagLaaeaRfaRgaRgaRgaRgaRgaRgaRgaRgaRhaRhafqafqafqaRhaRhaRgaRgaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaaaaiaaiahtahuahuahuahtaaiaaiaaiabPahvahvahvabPaaiaaiaaiabPahwahwahwabPaaiaaiaaaaafaafaafaafaaiaaaaaiaaiaaiaaiaaFahfahfahfahfahfahfahfahfahfahfahfahfahfahfahfahaaaiaaiaaiaaiaaaaaiaaiaaeagLaaiaaiaaiaaiaaiaaiaaFahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnaaFaaiaaiaaiaaiaaiaaiaaiagLaaeaRfaRgaRgaRgaRgaRgaRgaRgaRgaRgaRhaRhaRhaRhaRhaRgaRgaRgaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaaaaiahtahtahuahxahuahtahtaaiahtabPahvahyahvabPahtaaiahtabPahwahzahwabPahtaaiaaaaafaafaafaafaaiaaaaaiaaiaaiaaiaheahfahfahfahfahfahfahfahfahfahfahfahfahfahfahfahaaaiaaiaaiaaiaaaaaiaaiaaeagLaaiaaiaaiaaiaaiaaiaaFahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnaaFaaiaaiaaiaaiaaiaaiaaiagLaaeaRfaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaaaaiahtahuahuahuahuahuahAaaiabPahvahvahvahvahvabPaaiabPahwahwahwahwahwabPaaiaaaaafaafaafaafaaiaaaaaiaaiaaiaaiahaahfahfahfahfahfahfahfahfahfahfahfahfahfahfahfahaaaiaaiaaiaaiaaaaaiaaiaaeagLaaiaaiaaiaaiaaiaaiaaFahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnaaFaaiaaiaaiaaiaaiaafaaiagLaaeaRfaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaaaaiahtahuahuahuahuahuahAaaiabPahvahvahvahvahvabPaaiabPahwahwahwahwahwabPaaiaaaaafaafaafaafaaiaaaaaiaaiaaiaaiahaahfahfahfahfahfahfahfahfahfahfahfahfahfahfahfahaaaiaaiaaiaaiaaaaafaaiaaeagLaaiaaiaaiaaiaaiaaiaaFahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnaaFaaiaaiaaiaaiaaiaafaaiagLaaeaRfaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaaaaiahtahtahtahtahtahtahtaaiahtabPabPabPabPabPahtaaiahtabPabPabPabPabPahtaaiaaaaafaafaafaafaaiaaaaaiaaiaaiaaFahaahfahfahfahfahfahfahfahfahfahfahfahfahfahfahfahaaaFaaiaaiaaiaaaaaiaaiaaeagLaaiaaiaaiaaiaaiaaFaaFahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnaaFaaFaaiaaiaaiaaiaafaaiagLaaeaRfaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaafaafaafaafaaiaaaaaiaaiaaiaaFahfahfahfahfahfahfahfahfahfahfahfahfahfahfahfahfahfaaFaaiaaiaaiaaaaaiaaiaaeagLaaiaaiaaiaaiaaiaaFahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnaaFaaiaaiaaiaaiaafaaiagLaaeaRfaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaafaafaafaafaaiaaaaaiaaiaaiaaFahfahfahfahfahfahfahfahfahfahfahfahfahfahfahfahfahfaaFaaiaaiaaiaaaaaiaaiaaeagLaaiaaiaaiaaiaaiaaFahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnaaFaaiaaiaaiaaiaafaaiagLaaeaRfaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaafaafaafaafaaiaaaaaiaaiaaiaaFahfahfahfahfahfahfahfahfahfahfahfahfahfahfahfahfahfaaFaaiaaiaaiaaaaaiaaiaaeagLaaiaaiaaiaaiaaiaaFaaFahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnahnaaFaaFaaiaaiaaiaaiaaiaaiagLaaeaRfaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaafaafaafaafaaiaaaaaiaaiaaiaaFahfahfahfahfahfahfahfahfahfahfahfahfahfahfahfahfahfaaFaaiaaiaaiaaaaaiaaiaaeagLaaiaaiaaiaaiaaiaaiaaFaaFaaFaaFaaFahnahnahnahnahnahnahnahnahnahnahnahnahnaaFaaFaaFaaFaaFaaiaaiaaiaaiaaiaaiaaiagLaaeaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaafaafaafaafaaiaaaaaiaaiaaiaaFahfahfahfahfahfahfahfahfahfahfahfahfahfahfahfahfahfaaFaaiaaiaaiaaaaaiaaiaaeagLaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaFahnahnahnahnahnahnahnahnahnahnahnahnahnaaFaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiagLaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaafaafaafaafaaiaaaaaiaaiaaiaaFahfahfahfahfahfahfahfahfahfahfahfahfahfahfahfahfahfaaFaaiaaiaaiaaaaaiaaiaaeagLaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaFahnahnahnahnahnahnahnahnahnahnahnahnahnaaFaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiagLaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaafaafaafaafaaiaaaaaiaaiaaiafeahfahfahfahfahfahfahfahfahfahfahfahfahfahfahfahfahfafeaaiaaiaaiaaaaaiaaiaaeagLaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaFahnahnahnahnahnahnahnahnahnahnahnahnahnaaFaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiagLaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagLagLagLagLagLaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaaiaaaaaiaaiaaiahaahfahfahfahfahfahfahfahfahfahfahfahfahfahfahfahfahfahaaaiaaiaaiaaaaaiaaiaaeagLaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaFaaFaaFahnahnahnahnahnahnahnahnahnaaFaaFaaFaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiagLaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaafaafaafaafaaiaaaaaiaaiaaiahaahfahfahfahfahfahaahfahfahfahfahfahaahfahfahfahfahfahaaaiaaiaaiaaaaaiaaiaaeagLaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaFaaFahnahnahnahnahnahnahnaaFaaFaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiagLaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaafaafaafaafaaiaaaaaiaaiaaiahaahfahfahfahfahfahaahfahfahfahfahfahaahfahfahfahfahfahaaaiaaiaaiaaaaaiaaiaaeagLaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaFaaFaaFahnahnahnaaFaaFaaFaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiagLaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaafaafaafaafaaiaaaaaiaaiaaiahaahfahfahfahfahfahaahaahfahfahfahaahaahfahfahfahfahfahaaaiaaiaaiaaaaaiaaiaaeagLaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaFahnahnahnaaFaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiagLaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaafaafaafaafaaiaaaaaiaaiaaiahaahaahfahfahfahaahaahaahfahfahfahaahaahaahfahfahfahaahaaaiaaiaaiaaaaaiaaiaaeagLaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaFaaFaaFaaFaaFaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiagLaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaafaafaafaafaaiaaaaaiaaiaaiaaiahaahfahfahfahaaaiahaahaahaahaahaaaiahaahfahfahfahaaaiaaiaaiaaiaaaaaiaaiaaeagLaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiagLaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaafaafaafaafaaiaaaaafaafaafaafajkajkajkajkajkaafaafaafaafaafaafaafajkajkajkajkajkaafaafaafaafaaaaafaaiaaeagLaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaafaaiagLaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaeaaeagLaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiagLaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeagLaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiagLaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaeaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeagLaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiagLaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaeaRfaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRfaaeaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaeaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaeagLaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaafaaiagLaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaeaRfaRgaRgaRgaRgaRgaRgaafaRhaRhaRhaRhaRhaRhaRhaRhaRhaafaRgaRgaRgaRgaRgaRgaRfaaeaaaaaiaaiaaiaaiaaiaaFaaFaaFaaFaaFaaiaaiaaiaaiaaiaaiaaiaaiaaaaaeaaaaaiaaiaaiaaFaaFaaFaaFaaFaaiaaiaaiaaaaaeagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaeaRfaRgaRgaRgaRgaRgaRgaRhaRhaRsaRsaRsaRtaRsaRsaRsaRhaRhaRgaRgaRgaRgaRgaRgaRfaaeaaaaaiaaiaaiaaiaaFaaFarVarVarVaaFaaFaaiaaiaaiaaiaaiaaiaaiaaaaaeaaaaaiaaiaaFaaFawwawwawwaaFaaFaaiaaiaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaeaRfaRgaRgaRgaRgaRgaRgaRhaRsaRsaRsaRsaRsaRsaRsaRsaRsaRhaRgaRgaRgaRgaRgaRgaRfaaeaaaaaiaaiaaiaaiaaFarVarVarVarVarVaaFaaiaaiaaiaaiaaiaaiaaiaaaaaeaaaaaiaaFaaFawwawwawxawwawwaaFaaFaaiaaaaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaeaRfaRgaRgaRgaRgaRgaRgaRhaRsaRsaRsaRsaRsaRsaRsaRsaRsaRhaRgaRgaRgaRgaRgaRgaRfaaeaaaaaiaaiaaiaaiaaFarVarVarVarVarVaaFaaiaaiaaiaaiaaiaaiaaiaaaaaeaaaaaiaaFawwawwawwawwawwawwawwaaFaaiaaaaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaeaRfaRgaRgaRgaRgaRgaRgaRhaRsaRsaRsaRsaRsaRsaRsaRsaRsaRhaRgaRgaRgaRgaRgaRgaRfaaeaaaaaiaaiaaiaaiaaFarVarVarVarVarVaaFaaiaaiaaiaaiaaiaaiaaiaaaaaeaaaaaiaaFawwawwawwawwawwawwawwaaFaaiaaaaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaeaRfaRgaRgaRgaRgaRgaRgaRhaRwaRsaRsaRsaRsaRsaRsaRsaRDaRhaRgaRgaRgaRgaRgaRgaRfaaeaaaaaiaaiaaiaaiaaFarVarVarVarVarVaaFaaiaaiaaiaaiaaiaaiaaiaaaaaeaaaaaiaaFawwawwawwawwawwawwawwaaFaaiaaaaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaeaRfaRgaRgaRgaRgaRgaRgaRgaRhaRsaRsaRsaRsaRsaRsaRsaRhaRgaRgaRgaRgaRgaRgaRgaRfaaeaaaaaiaaiaaiaaiaaFarVaswarVarVarVaaFaaiaaiaaiaaiaaiaaiaaiaaaaaeaaaaaiaaFawwawwawwawwawwawwawwaaFaaiaaaaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaeaRfaRgaRgaRgaRgaRgaRgaRgaRhaRsaRsaRsaRsaRsaRsaRsaRhaRgaRgaRgaRgaRgaRgaRgaRfaaeaaaaaiaaiaaiaaiaaFarVarVarVarVarVaaFaaiaaiaaiaaiaaiaaiaaiaaaaaeaaaaaiaaFawwawwawwawwawwawwawwaaFaaiaaaaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaeaRfaRgaRgaRgaRgaRgaRgaRgaRhaRsaRsaRsaRsaRsaRsaRsaRhaRgaRgaRgaRgaRgaRgaRgaRfaaeaaaaaiaaiaaiaaiaaFarVarVarVarVarVaaFaaiaaiaaiaaiaaiaaiaaiaaaaaeaaaaaiaaFawwawwawwawwawwawwawwaaFaaiaaaaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaeaRfaRgaRgaRgaRgaRgaRgaRgaRhaRsaRsaRsaRsaRsaRsaRsaRhaRgaRgaRgaRgaRgaRgaRgaRfaaeaaaaaiaaiaaiaaiaaFarVarVarVarVarVaaFaaiaaiaaiaaiaaiaaiaaiaaaaaeaaaaaiaaFawwawwawwawwawwawwawwaaFaaiaaaaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaeaRfaRgaRgaRgaRgaRgaRgaRgaRhaRsaRsaRsaRsaRsaRsaRsaRhaRgaRgaRgaRgaRgaRgaRgaRfaaeaaaaaiaaiaaiaaFaaFarVarVarVarVarVaaFaaFaaiaaiaaiaaiaaiaaiaaaaaeaaaaaiaaFawwawwawwawwawwawwawwaaFaaiaaaaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaeaRfaRgaRgaRgaRgaRgaRgaRgaRhaRsaRsaRsaRsaRsaRsaRsaRhaRgaRgaRgaRgaRgaRgaRgaRfaaeaaaaaiaaiaaiaaFarVarVarVarVarVarVarVaaFaaiaaiaaiaaiaaiaaiaaaaaeaaaaaiaaFawwawwawwawwawwawwawwaaFaaiaaaaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaeaRfaRgaRgaRgaRgaRgaRgaRgaRhaRsaRsaRsaRsaRsaRsaRsaRhaRgaRgaRgaRgaRgaRgaRgaRfaaeaaaaaiaaiaaiaaFarVarVarVarVarVarVarVaaFaaiaaiaaiaaiaaiaaiaaaaaeaaaaaiaaFaaFawwawwawwawwawwaaFaaFaaiaaaaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaeaRfaRgaRgaRgaRgaRgaRgaRgaRhaRsaRsaRsaRsaRsaRsaRsaRhaRgaRgaRgaRgaRgaRgaRgaRfaaeaaaaaiaaiaaiaaFarVarVarVarVarVarVarVaaFaaiaaiaaiaaiaaiaaiaaaaaeaaaaaiaaiaaFaaFaaFaaFaaFaaFaaFaaiaaiaaaaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaeaRfaRgaRgaRgaRgaRgaRgaRgaRhaRsaRsaRsaRsaRsaRsaRsaRhaRgaRgaRgaRgaRgaRgaRgaRfaaeaaaaaiaaiaaiaaFarVarVarVarVarVarVarVaaFaaiaaiaaiaaiaaiaaiaaaaaeaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaeaRfaRgaRgaRgaRgaRgaRgaRgaRhaRsaRsaRsaRsaRsaRsaRsaRhaRgaRgaRgaRgaRgaRgaRgaRfaaeaaaaaiaaiaaiaaFarVarVarVarVarVarVarVaaFaaiaaiaaiaaiaaiaaiaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaeaRfaRgaRgaRgaRgaRgaRgaRgaRhaRsaRsaRsaRsaRsaRsaRsaRhaRgaRgaRgaRgaRgaRgaRgaRfaaeaaaaaiaaiaaiaaFaaFarVarVarVarVarVaaFaaFaaiaaiaaiaaiaaiaaiaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaeaRfaRgaRgaRgaRgaRgaRgaRgaRhaRwaRsaRsaRsaRsaRsaRDaRhaRgaRgaRgaRgaRgaRgaRgaRfaaeaaaaaiaaiaaiaaiaaFaaFaaFaaFaaFaaFaaFaaiaaiaaiaaiaaiaaiaaiaaaaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaeaRfaRgaRgaRgaRgaRgaRgaRgaRhaRhaRsaRsaRsaRsaRsaRhaRhaRgaRgaRgaRgaRgaRgaRgaRfaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaeaRfaRgaRgaRgaRgaRgaRgaRgaRhaRhaRsaRsaRsaRsaRsaRhaRhaRgaRgaRgaRgaRgaRgaRgaRfaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaeaRfaRgaRgaRgaRgaRgaRgaRgaRhaRsaRsaRsaRsaRsaRsaRsaRhaRgaRgaRgaRgaRgaRgaRgaRfaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaeaRfaRgaRgaRgaRgaRgaRgaRgaRhaRsaRsaRsaRsaRsaRsaRsaRhaRgaRgaRgaRgaRgaRgaRgaRfaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaeaRfaRgaRgaRgaRgaRgaRgaRgaRhaRwaRwaRwaRwaRDaRDaRDaRhaRgaRgaRgaRgaRgaRgaRgaRfaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaeaRfaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRfaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaeaRfaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRfaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaeaRfaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRfaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaeaRfaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRgaRfaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaeaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaRfaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaqTaqTaqTaqTaqTaqTaqTaqTaqTaqTaqTaqTaqTaqTaqTaqTaqTaqTaqTaqTaqTaqTaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafardareareareareareareareareareareareareareareareareareareareareaqTaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafardarearearearearmarnarnarnrQyarnarnarnarnarnaFfaroareareareareaqTaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafardarearearearmarxaryarzarzlNGarAarAvZZarCarCkCnvSOaFfaroareareaqTaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafardarearekQOxlVarLaryarMarNlNGaryaryaryaryarylNGarOdSxvSOqrEarearParParParParPaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafardarearmiOfthaarWaryarXarYlNGarZaryaryaryaryasaaryaryasblNGarearPascasdasearParParParParPasfasfasfasfarParPaafaafaafaafaafaafaafaafasgasgasgasgasgasgasgasgasgaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafardareaszasAasBaryaryarzarzlNGaryaryaryasCasClNGaryasDasElNGarearPasFasdasdasGasHasIasJasKasLasJawRasNasOarParParParParParParParParParPasPasPasPasPasPasPasPasQaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafardareataasAatbaryaryaryaryasaaryasbbyRarnrQysCcarnarnarnwlwatdarParParParParPasHawRasJateatfasJawRawRawRatgathathathathathathathathatgasPatiatjatjatjatkasPasQaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafardarehRnpbPatwatxatyatzatAlNGaryaryaryatBatCareareareareareareatDathathathatgawRawRawRawRawRawRawRawRawRatgathathathathathathathathatgasPatEatQatFatSatEasPasQaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafardarearenKSarnarnarnarnarneYAarZaryatParyxsIareareareareareareatDathathathatgawRawRawRawRawRawRawRasHasHarParParParParParParParParPasgasPaupauqatFatFatEasPasQaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafardarearmxlVaudaueaufaudaudlNGaryaryaryasytPOarearearearearearearParParParParPawRawRasJateasLasJawRauhauiarPaujaukaukaularPaumaunauoasgasPauNatFatFatFatEasPasQaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafardareaszasAauHauIauIauIauIasaaryasbeNtarnsCcarnarnarnarnqrEarearPascasdasearPawRawRasJateauJasJawRasHasHarPauKauKauKauKarPauLaunauMasgasPatEatFatRavkatEasPasQaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafardareataasAauZavaauIauIauIlNGaryarylNGavbavcavdaveavfavglNGarearPasFasdasdasGawRawRawRawRawRawRawRawRawRarPauKavhaviaviarParPavjarPasgasPauNatFatFatFatEasPasQaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafardarehRnhQNedRavuauIauIavvlNGarZaryasaaryaryaryaryaryasblNGarearParParParParParParPavwarParParPawRawRawRavxauKavyavyauKauKauKauKaviasgasPavXauqatFatFatEasPasQaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafardareareatvpbPavNdHrauIavOnKSavPavPeYAarZaryavQavRnEVlzmwlwarearPaviauKavSarPavTavUavUajtavVarPawRawRawRawRauKauKauKauKavWauKauKaviasgasPatEatQatFatSatEasPasQaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafardarearearehRnawgawhawiawjlNGawkawllNGawmawnnEVlzmwSqatcarearearPawoauKauKauKavUavUavUavUawparPawRawRawRavxawqauKauKauKawrauKauKawsasgasPawuawEawEawEawvasPasQaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafardarearearearehRnaHraHraHrsCcawtawtsCcarnarnwSqatcarearearearearParPavxavxarParParPavxavxavxarPbbwawRawRarPavxavxavxavxavxavxavxarPasgasPasPawUawUawUasPasPasQaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafardarearearearearearearearearearearearearearearearearearearearearPawAawAawAawAawAawAawAawAawAarParPawBarParPawAawAawAawAawAawAawAarPasgasPasPasPasPasPasPasPasQaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawPawPawPawPawPawPawPawAawAawAawQawQawQawQawQawQarPawRawSawRarPawQawQawQawQawQawQawQawQasgasPasPasPasPasPasPasPasQaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafawOaxgawOaxhaxiaxjaxkaxlaxmawOaxnaxoaxpaxqaxraxraxsaxsaxtaxtawPaxuaxvaxvaxvaxvaxwaxxaxxaxxaxxaxyaxzaxAaxBaxCarPawRawSawRarPaxEaKWaxGaxGaxGawQaafaafasgasPasPasPasPasPasPasPasQaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafawOawOawOawOawOawOawOaxOawOaxpaxpaxpaxpaxpaxpawOaxPaxoaxpaxpaxpaxpaxpaxpaxpaxpawPaxQaxvaxRaxvaxSaxTaxUaxUaxUaxVaxWaxGaxGaxGaxGarPawRawSawRarPaxGaxGaxGaxGaxGawQaafaafasgasgasgasgasgasgasgasgasgaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafayhawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOayiayjaxraykaylaymaxpaxpaxpaxpaxpaxpaxpaynawOawOawOaxpaxpaxpaxpaxpaxpaxpaxpawPayoaypayqaxvaxvaxwaxxaxxaxxaxxaxWaxGaxGaxGaxGarPayrawBaysarPaxGaxGaxGaxGaxGawQaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafayAayBayBayBayBayBayBayBayBayBayBayBayBayBayCayBayBayBayBayBayCayDayBaxraxrayEawOayFaxpaxpaxpaxpaxpaxpaxpawOayGaxpaxpaxpayHayHayIayJayKayKawPayLayMayNaxvaxvawPayOayOayOawOayPayQayRaySayTawQayUayUayUawQaxGaxGaxGaxGaxGawQawQawQawQaytaytaytaytaytaytaytaytaytaytayuaytaytaytaytaytaytaytaytaytaytaytaytaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafayhawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOaymawOawOawOaxpaxpaxpaxpaxpaxpaxpaxpawOazmaxpaxpaxpaznawOawOawOawOawOawPawPawPawPawPawPawPazoazoazoawOazpazqaxxaxxaxxawQaxGazraxGawQaxxaxxaxxazqazsawQayvayVayWaytayXayYayZazaazbazcazdaytazeazeazeazeazeaytazfazgaztazaazuazvazwaytaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafayhawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOayiazHaxraxrazIawOazJazKazLazMazNazOaxpaxpawOazPaxpaxpaxpazQawOazRazSazSazRazTazUazVazWazoazoazoazoazoazXawOaxGaxGazYazZazZazZazZazZazZazZazZazZaAaaxGaxGawQayvayVayWaytazaazaazaazxazaazaazaaytazeazyazzaAbaAcaytazaazaazaaAdazaazaazaaytaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafayAayBayBayBayBayBayBayBayBayBayBayBayBayBaAjayBayBayBayBayBaAjaAkayBaxraxraAlawOazTazTazTazTazTawOaxpaxpawOaAmaxpaxpaxpaAnawOaxpazoazoazoazTazoazoazoazoazoazoazoazoaAoawOaxGazraApaxxaxxaxxaxxaxxaxxaxxaxxaxxaxWazraxGawQaxxaAeaxxaytazaazaazaazaazaazaazaaytaAfaAgaAcaAcazeaytazaazaazaazaazaazaazaaytaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafayhawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOayiaABaxraxraACazTaADaAEaAFaAGaAHazTaxpaxpazTaxpaxpaxpaxpaAIazTaxpazoazoaylaAJazoazoazoazVazVawOawOawOawOawOaxGaxGaApaxxaAKaxGaALaAMaANaxGaAKaxxaxWaxGaxGawQaAhaAiaAqaytaztaAraAsazaaAsaAtaAuaytaAcaAcazeazeazeaytaAvaAwaAsazaaAxaAyaAzaytaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafayAayBayBayBayBayBayBayBayBayBayBayBayBayBaATayBayBayBayBayBaATaAUayBaxraxraAVazTaAWaxpaxpaxpaAXazTaxpaxpazTaxpaxpaAYaAZazNazTaBaazoazoazoawOazTazTaBbazTazTawOazoazoazoaBcaxGaxGaBdaxxaxGaBeaBfaBgaBhaBiaBjaxxaBkaxGaxGaBlaxWaxGaApaytaytaytaAOaAPaAOaytaytaytaytaytaAPaytaytaytaytaytaAQaAPaAQaytaytaytaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafayhawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOayiaBsaxraxraBtawOaBuaxpaxpaxpaxpawOaBvaBvawOaBwaBwawOawOawOawOaBaazoazoaylaBxaByaByaByaByaByaBzaByaByaByaBzaxGaxGaBAaBBaxGaxGaBCayUaBDaxGaxGaBBaBEaxGaxGaBFaxWaxGaxGaARaASaBnaBoazaaAsaASaBGaBoaBHaBIazaaAsaASaBXaBoaAsaBHazaaASaBGaBoaytaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafayAayBayBayBayBayBayBayBayBayBayBayBayBayBaBJayBayBayBayBayBaBJaBKaBLaxraxraylaBMaxpaxpaxpaxpaxpaBMaxpaxpaBNaxpaxpaBOaBPaBQaBQaxpazoazoaBRawOazTazTaBbazTazTawOazoazoazoaBSaxGaxGaBTaxxaBUaBeaBVaxGaBVaBiaxGaxxaBWaxGaxGaBFaxWaxGaApaAPazaazaazaazaazaazaazaazaazaazaazaazaazaazaazaazaazaazaazaazaazaaytaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafayhawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOawOaxraxraylaBMaxpaxpaxpaxpaxpaBMaxpaxpaCaaxpaxpazoaCbaCbaCbazoazoazoaCcazTaCdaCeazoaCfaCgawOawOawOawOawOaxGaxGaApaxxaChaxGaBmaxGaBmaCiaCjaxxaxWaxGaxGazqaxWaxGaApaARaASaBGaBoazaaAsaASaBnaBZaBHaAsazaaBHaASaBGaBoaBHaAsazaaCkaClaBoaytaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafawOaxraxraCpawOazTazTazTazTazTawOaCqaCqawOaCraxpazoaCsaCtaCuazoazoazoaCvaCwaCeazoazoazoazoaAJazoaAYaCxawOaxGaxGaApawQawQaCyaxGaxGaCzaChawQawQaxWaxGaxGawQaxWaxGaApaytaytaytaCmaAPaCmaytaytaytaytaytaCnaytaytaytaytaytaCoaAPaCoaytaytaytaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafawOawOawOawOawOaCIaCJaCKaCLaCMaxpaxpaxpazTaCNaxpazoaCtaCOaCPazoazoazoazoaAJazoazoazoaCQaCRazTazoazoaCSawOaxGazraApawQawQaxxaxxaxxaxxaxxawQawQaxWazraxGawQaxWaxGaApaytaCAaCBaAsazaaAsaCCaCDaytaCEaCFaCEaCGaCHaytaCTaztaCUazaaCVaCDaCWaytaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafawOaxpaxpaxpaxpaxpaxpaxpaxpazTaCYaxpazoaCZaCZaCZazoazoazoazoaAJazoazoazoaCQaCRazTaDaaDbaDcawOaxGaxGaDdaDeaDeaDeaDeaDeaDeaDeaDeaDeaDfaxGaxGawQaxWaxGaApaytazaazaazaazaazaazaazaaytaCHaCEaCHaCEaCHaytazaazaazaazaazaazaazaaytaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahBahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahC
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafawOaxpaxpaxpaxpaxpaxpaxpaxpawOaDiaxpaxpaxpawDaxpaxpazoazoaDiaCwazoazoazoaCQaCRawOawOawOawOawOawQazqaDkaBlawQaxGaxGazraxGaxGawQawQawQawQawQawQaxWaxGaApaytazaazaazaaCXazaazaazaaytaDgaytaDgaytaDgaytazaazaazaazaazaazaazaaytaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafawOaDoaDoaDpaxraDqaDraDsazNawOaDtaDuayOawOawOawVawOayOaDuaDtazTaDwazoazoaCQaCRawOaDxaDyaDzaDxaDAaDBaDCaDDaDEaDFazqaDGaBlawQawQaafaafaafaafawQaDhaxGaDlaytaDmaDnaDSazaaEaaEbaEIaytaFiaytaIMaytaINaytaIPaJgaDnazaazuaKaaKsaytaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafawOawOawOawOawOawOawOawOawOawOawOawOawOawOawCaDjawFawOawOawOawOaDLazoazoaCQaCRawOaDxaDMaDMaDxaDAaDBaDCaDDaDEaDNaDOaDPaDQaDRaDEaafaafaafaafawQawQaKuawQaytaytaytaytaytaytaytaytaytaytaytaytaytaytaytaytaytaytaytaytaytaytaytaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahDahDahDaafaafahEahEahEaafaafahFahFahFaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaDTaDUaDUaDUawCiOHaDvxAzawFaDUaDUawOaDXazoazoaCQaCRawOaDxaDzaDzaDxaDAaDBaDCaDDaDEaDYaDCaDCaDCaDZaDEaafaafaafaafaafaVHaDCbbiaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahDahGahDaafaafahEahHahEaafaafahFahIahFaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaDTaDUaDUawCiOHaDIaDJaDKxAzawFaDUawOawOaEfaEfawOawOawOaEgaDxaDxaDxaEhaDBaDCaDDaDEaEiaEjaEiaEkaEiaDEaafaafaafaafaafaVHaDCbbiaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaj
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahDahDahDahDahDahEahEahEahEahEahFahFahFahFahFaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaDTaDUaDUawTaDVaDJaDJaDJaDWawTaDUazTazoazoazoazoazoaBcaDxaEnaDxaEnaDAaDBaDCaEoaEhaDCaDCaEpaDCaEqaDEaafaafaafaafaafaVHaDCbbiaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaaj
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahJahKahLahMahNahDahDahDahDahDahEahEahEahEahEahFahFahFahFahFahJahKahLahMahNaafaafaafaafaafaafaafaafaafaafaafaafaDTaEraEraEraEraEraEraEraEraEraDTaDUaDUawTaEcaDJaEdaEeaDWawTaDUazTazoazoazoazoazoaEfaDxaEnaDxaEnaDAaDBaDCaEoaEhaDCaDCaEvaEwaExaDEaafaafaafaafaafaVHaDCbbiaafaafaafaEyaEzaEAaEBaECaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaajaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaajaaj
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahOahPahPahPahQfXhqwvahSahRfXhfXhqwvahTahRfXhfXhqwvahUahRfXhahVahPahPahPahOaafaafaafaafaafaafaafaafaafaafaafaafaDTaDUaDUaDUaDUaDUaDUaDUaDUaDUaDTaDUaDUawTaDVaDJaElawTaEmawTaDUazTazoazoazoazoazoawOaDxaEnaDxaEnaDAaEFaEGaEHaDEaEiaDCaEJaEKaEiaDEaafaafaafaafaafaVHaDCbbiaafaafaEyaELaEMaENaEOaEPaECaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaafaafaafaafaafaafaafaafaajaajaajaajaajaajaafaafaafaafaafaafaafaajaajaajaafaafaafaafaafaajaajaajaajaajaajaaj
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahOaihaiiaijaikailaimainailaioaipaiqairaisaitaiusAeaiwaixaiyaizaiAaiBaiCahOaafaafaafaafaafaafaafaafaafaafaafaafaDTaDUaDUaDUaDUaDUaDUaDUaDUaDUaDTaDUaDUawTaDVaDJaEsawTaDJawTaDUaDTaDTaDTaDTaDTaDTaDTaDTaDTaDTaDTaDTaDTaDTaDEaDEaERaDCaDCaESaDZaDEaDEaDEaDEaDEaDEaDEbbkaDEaafaEyaELaEUaEWaEXaFyaEYaEPaECaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaafaafaafaafaafaafaafaafaafaajaajaajaajaajaajaafaafaafaajaajaajaajaajaajaajaajaajaafaajaajaajaajaajaajaajaaj
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahOaiIaiIaiJaiKaiLaiLaiMaiLaiLaiLaiLaiMaiLaiLaiLaiLaiMaiLaiLaiNaiJaiIaiIahOaafaafaafaafaafaafaafaafaafaafaafaafaDTaDUaDUaDUaEZaFaaFbaDUaDUaDUaDTaDUaDUtSllpglpglpgsTEaEtawTaDUaDUaDUaDUaFdaDUaFeatOaFgaFhaFhaFhaFhaFhaDTbblaEiaFjaDCaDCaFkaDZaEibbjbbmbblaEiaDCaDCaDCaEiaafaGvaFmaFmaFmaFnaFmaFmaFmaGvaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaajaafaafaafaafaafaafaafaafaafaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaaj
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaiUaiAaiIaiVaiMaiMaiMinRaiMaiMaiMaiMaiMaiMaiMaiMaiMinRaiMaiMaiMaiVaiIaijaiWaafaafaafaafaafaafaafaafaafaafaafaafaDTaDUaDUaEZaFpatLaFraFbaDUaDUaDTaDUaDUawTaEuaEDaEEaDJaEQawTaDUaDUaDUaDUaDTaDUaDUaDUaFwaFhaFhaFhaFhaFhaDTbblaEiaFjaDCaDCaDCaDZaEibbmbblbblaEiaDCaDCaDCaEiaafaHgaFmaFCaFzaFAaFBaFWaFmaHgaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaajaajaajaafaafaafaafaafaafajVaafajWaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaaj
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaiUfXhfXhfXhfXhfXhajfajgaiLaiMaiLajhajhaiLaiMajGajHfXhfXhfXhfXhfXhaiWaafaafaafaafaafaafaafaafaafaafaafaafaafaDTaDUaDUaFDaFEaFFaFGaFDaDUaDUaDTaDUaDUawTaFcaDJaDJaDJaEtawTaDUaDUaDUaDUaDTaDUaDUaDUaFgaFhaFhaFhaFhaFhaDTbbmaEiaFjaDCaDCaDCaFIaEibbjbbjbbmaEiaDCaDCaDCaEiaafaETaFJttIaFKaFKaFKyavaFJaETaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaajaajaajaajaafaafaafaafaafaafajVajWaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaaj
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafajAajAahOajBaixaiMajCajjajEajFaiMbHaahOaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaDTaDUaDUaFLcCpaFNaFMaFOaDUaDUaDTaDUaDUaFscHKaFtaFtaFtcHKaFuaDUaDUaDUaDUaDTaDUaDUaDUaDTaDTaDTaDTaFSaFTaDTbbjaEiaFjaDCaDCaDCaFUaEiaEiaEiaEibbnbbkaEiaEiaEiaEisFXaFVaFXaFYaGtaGSaFXaFZaETaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaajaajaajaajaafaafaafaafaafaafajVaafaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaaj
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafajAajAajAajAaiJajUaiLaiMajCajEajEajFaiMailahOaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaDTaDUaDUaFDaGaaGyaGcaFDaDUaDUaDTaDUaDUaDUaFsaFvaFHaFPaFuaDUaDUaDUaDUaDUaDTaDUaDUaDUaDTaGgaGhaGiaGjaGjaDEaEiaTeaGkaDCaDCaDCaDCaGlaDCaDCaGmaDCaDCaGnaGoaGpaGoaGFaGraFmaFmaFnaFmaFmaFmaGvaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaajaajaajaajaajaafaafaafaafaafaafakFajWaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaaj
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafajAakeajAajAakfakgaiMaiMaiLakhakhaiLaiMaiLakiaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaDTaDUaDUaGxaFQaGyaGzaGAaDUaDUaDTaDTaDTaDTaDTaDTaDTaDTaDTaDTaDTaDTaDTaDTaDTaDUaDUaDUaDTaGBaGCaGDaGjaGjaGEaDCaGlaDCaDCaDCaDCaDCaGlaDCaDCaDCaDCaDCaGnaGoaGpaGoaGqaFmaFmaFWaGsaHeaFmaGHaGGaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaajaajaajaajaajaafaafaafaafaafaafakQaafajWaajaajagPaeOaflaeOtRBaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaaj
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafajAajAajAajAntKailakyaiMaiMaiMaiMaiMaiMakEahOaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaDTaDUaDUaGxaGyaGyaGzaGMaDUaDUaGNaDUaDUaDUaDUaDUaDUaDUaDUaDUaDUaDUaDUaDUaDUaDUaDUaDUaDTaGOaGPaGQaGjaGjaGEaDCaGlaDCaDCaDCaDCaGRaEiaEiaEiaDCaDCaDCaGnaEiaEiaEimgKavYaFmaFWaGGaHeaFmaFWaHgaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaajaajaajaajaafaafaafaafaafaafaafaafaafaafaafaQPdgOabgalbasTagFtRBaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaaj
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafajAajAahQfXhfXhfXhajfakDaiLaiLaiMwGuahOaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaDTaDUaDUaFDaGUaGyaGVaFDaDUaDUaDTaDTaDTaDTaDTaDTaDTaDTaDTaDTaDTaDTaDTaDTaDTaDTaDTaDTaDTaGWaGXaGXaGjaGjaDEaEiaTeaGYaDCaGZaDCaFIaEibblaHaaDCaHbaHcaHdaDEaafaafaGvaHsaFmaFWaHtaHeaFmaKeaETaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaajaajaajaajaafaafaafaafaafaafaafaafaafaafaafqESallalmalnalmallaGfaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaaj
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahOakMakNakOakPaiMaiLaiLaiMaiLakiaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaDTaDUaDUaFLcCpaFNaFMaFOaDUaDUaDTaHiaHjoMXaHjaHkdzjafZafZafZafZaHlaGjaGjaGjaGjaGjaGjaGjaGjaGjaGjaHmaGjaDEbbmaEiaHnaDCaDCaDCaFUaEiaEiaEiaDCaGnaHoaHpaHqaafaafaGGaHeaFmaFmaJeaFmaFmaFWaGvaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaajaajaajaafaafaafaafaafaafaafaafaafaafaafaafqESallalmalnalmallaGfaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaaj
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafakiakVakVakVakWaiMakXakYakZakYahOaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaDTaDUaDUaFDaHxaGyaHyaFDaDUaDUaDTaHRaHQaHAaHQaHAaHBaHCqcxahbaHFafZaHCoJyaIvaHFaGjaGjaGjaGjaGjaGjaGjaGjaDEbblaEiaHIaDCaDCaDCaDCaGlaDCaDCaDCaHJaDPaHKaDEaafaafaGGaHeaFmaFWaGsaHeaFmaFWaGGaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaajaajaafaafaafaafaafaafaafaafaafaafaafaafaafqESallalmalnalmallaGfaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaaj
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahOaleakVakValfaiMalgalhaljalhahOaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaDTaDUaEZaFpaGyaGyaGyaFraFbaDUaDTaHAaHRaHQaHAaHQaHzaHCagiafPaHFafZaHCahstZQaHFaGjaGjaHWaHWaHWaHWaHWaHWaDEbbjaEiaHXaHYaDCaDCaDCaGlaDCaDCaDCaDCaDCaGnaDEaafaafaHgaHeaFmaFWaGGaHeaFmaHuaHgaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaajaajaafaafaafaafaafaafaafaafaajaajaajaafaafaafaafaafaafaafaafaafaafaafaafaafaafaQPtRBalnalnameagPdgOaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaaj
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahOalpakVakValqaiMakYaljaljaljahOaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaDTaDUaFDaIiaGyaGyaGyaIjaFDaDUaDTaHRaIkaHQaHQaHRaHzafZafZafZafZvefafZafZafZafZaGjaGjagkaImaImaImaImaImaDEaDEaDEaDEaInaIoaIoaDEaDEaDEaDEaFlaEhaEhaFlaDEaafaEyavCaIdaFmaFWaHtaHeaFmaIfaHvaECaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaajaajaajaajaajaafaafaafaafaafaafaajaajaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaGfalnalnalnaGfaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaaj
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahOalealMakValNaiMalOalPaljalQahOaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaDTaDUaFDaIwaGyaGyaGyaIxaFDaDUaDTaHQaHRaHAaHRaIyaHzaHCaeRaKwaHFafZaHCaJjahoaHFaGjaGjaIEaIFaIFaIFaIFaIFaDEaIGaIGaIGaIHaIIaIIaIJagOagOaDEaFoaDCaDCaHfaDEaEyaHLaHLaHNaFmaFmaFnaHMaFmaGuaHvaHLaECaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaajaajaajaajaajaajaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafqESqESqESqESafFeJramwaQPsaUaeOaeOaeOaeOtRBaajaajaajaajaajaajaajaajaajaajaajaajaajaaj
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaiUambambfXhamcamdahRfXhambambaiWaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaDTaDUaFDaISaGyaGyaGyaIjaFDaDUaDTaITaHRaHAaIUaHQaHzaHCuEOfYoaHFafZaHCaNFaIYaHFaGjaGjahdaIFaIFaIFaIFaIFaDEaIZaJaaJaaJbaIIaIIaIIagOagOaDEaFoaDCaDCaIcaDEaETaIeaItaETaHeaFmaFWaILaIbqSmaELaHZaETaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaajaajaajaajaajaajaafaafaafaafaafaafaafaafaafaafamUaOsaoJaoJaoJaeJavzaafaafqESaIVaboaMQaIVaIVaIVaTtaivamZanaanbancaODaaRafltRBaajaajaajaajaajaajaajaajaajaajaaj
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaiUahVamkajFaiMamlaiLahQaiWaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaDTaDUaJlqLiaJnaJnaJnaJmaJoaDUaDTaJpaHRaHQaHQaHAacvafZafZafZafZafZaGjaGjaGjaGjaGjaGjahdaIFaJqaJraJsaJtaDEagfaJuaJupBpaIXaJwaIIaIIaJxaDEaFoaDCaDCaGnaDEsFXaJcaIsaIraHeaFmaFWaGvaHZaIqaJfaIpaFxaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaajaajaajaajaajaafaafaafaafaafaafaafaafaafamUshBanransantanuanvfWQavzaafqESaIVafIafIaIVaIVaIVaIVanxanyanyanyanzaNNaQoaOVagFtRBaajaajaajaajaajaajaajaajaajaaj
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahOamtaiLajhaiLamuahOaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaDTaDUaDUaJlaJIaJJaJKaJoaDUaDUaDTaHQaJLaJMaHAaJNaJOaJPaJQaJQaJQaJRaJRaJRaJSaJSaJTaJSaJSaJRaJRaJRaDEaDEaDEaJUaJVaJVaJvaJWaJXaJwqsaaJYaDEaFoaDCaDCaGnaGoaJyaIsaIOaMdaFmaFmaFWaHgaHZbbobbobbpaETaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaajaajaajaajaafaafaafaafaafaafaafaafaafvCmanEanFanFanGanFanFanuvCmaafqESaOWaOTaaMbaUaIVaIVaIVaGbanyanyanyanLaGfanMeCOanOaGfaajaajaajaajaajaajaajaajaajaaj
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahOamNamOamPamQamRahOaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaDTaDUaDUaDUaDUaDUaDUaDUaDUaDUaDTaIzagoaHQaJNaKkaKlaKlaKlaKlaKlaJRaKmaKnaJSaKnaKnaKnaJSaKnaKmaJRaDEaDEaDEaDEaDEaDElAPaKpaKqaKrqsaaJYaDEaFoaDCaDCaGnaDEmgKaKbaJhmgKbbqaFmaKeaETaKMaJAaJCbbraETaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaajaajaafaafaafaafaafaafaafaafaafaafvCmanXanFanFanFanFanYanZvCmaafqESaIVaOwaOwaIVaIVaIVajDaGfaocaekaodaoeaGfaofanKaohaGfaajaajaajaajaajaajaajaajaajaaj
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaiUannanoanoanoanpaiWaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaDTaDUaDUaDUaDUaDUaDUaDUaDUaDUaDTaHQaHQaJNaKkaKlaKlaKlaKlaKlaKlaJRaKnaKBaKCaKnaKnaKnaKCaKDaKnaJRaKEaKFaKGaKHaKIaDEaIIaKoaKraKJaIIaIIaKKaEiaEiaEiaEiaDEaHvaFKaFKaHLaIaaJBttIavCaKOaJdaJzaPcaETaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafvCmaonanFanFaooanFanFaopvCmaafqESadmaIVaIVaIVaIVaIVaaoiSSaeOaeOaeOaeOaNPaoranKaosaGfaajaajaajaajaajaajaajaajaajaaj
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaDTaDTaDTaDTaDTaDTaDTaDTaDTaDTaDTaHRaJNaKkaKlaKlaKlaKlaKlaKlaKlaJRaJSaKnaJSaKnaKnaKnaJSaKnaJSaJRacJaIIaIIaIImYCaKXaIIaIIaIIaIIaIIaIKaKKbbjbblbbmbblaDEaETaKfbbbaKdaPfaKcbbcaETbbdaHZaJZaJZaFxaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafavDetaaoEagCanqanqanqcAbaFRaafqESqESqESqESdugahjahjahjaivaoHaoHdakageaGfaoKanKaoLaGfaajaajaajaajaajaajaajaajaajaaj
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaDEaJNaKkaKlaKlaKlaKlaKlaKlaKlaKlaJRaLfaKnaKnaKnaKnaKnaKnaKnaLgaJRaLhagfaLiagfaLjaDEnaXaIIaIIaIIaIIaLkaKKbbmbbmbbjbblaDEaETbbeaKcbbfaKcaKcaKtaETaNxaHZaHZbbhaETaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafvCmaoPaRpaoRaoSaoTvCmaafaafaafaafaafaafqESaogaogaogaoUaoVaoVaoWaoWaGfaoKanKaoLaGfaajaajaajaajaajaajaajaajaajaaj
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaMeaMeaMeaMeaMeaMeaMeaafaDEaDEaDEaDEaDEaDEaDEaDEaDEaDEaDEaDEaJRaLpaLqaLqaLqaKnaLraLraLraLsaJRaLtagfaLuaLnaLvaDEaLwaLxaIIaLyaLzaLAaDEaDEaDEaDEaDEaDEaETaKQaKQaKPaKPaKcaKNaETaULaHZaKLbbtaETaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafvCmapkaplaQwanFapmvCmaafaafaafaafaafaafqESaogaogaogaGbapnaGTagPaeOdgOafpbjoafpagFaeOaeOtRBaajaajaajaajaajaajaaj
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaMebbgbbsbbxbbybbzaMeaafaJRaKnaKnaKnaKnaKnaKnaKnaKnaKnaKnaKnaJRaJRaLEaJRaJRaKnaJRaJRaLEaJRaJRaJRaJRaJRaJRaJRaDEaDEaDEaDEaDEaDEaDEaDEaafaafaafaafaafaKYaKZaLaaLaaLaaILaFKavCaLaaLaaLaaILaLbaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafgEFalkapBaplaQwanFapCabEaPsaafaafaPpabCabCaGbaogaogaogagFabmaeOdgOapDaasaRzaIAlcaapGapGarcagFtRBaajaajaajaajaajaaj
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaMebbAbbsbbxbbybbBaMeaafaJRaKnaJRaJRaJRaJRaLHaJRaJRaJRacMacMacMacMacMacMaJRacMaJRacMacMacMacMacMacMacMacMaJRaafaafaafaafaafaafaafaafaafaafaafaafaafaafaKYaLlaLlaLlaLbaafaKYaLlaLlaLlaLbaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafamUanqanqaeFlnJapMaoQvUXanFapNoSCagsanqanqavzapOapOaivapPaogaogaSOaivapQapRaRzafraeaaogaGIaGJuMIlcaapSaGfaajaajaajaajaajaaj
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaMebbgbbsbbxbbybbzaMeaafaJRaKnaJRaLLaLMaLMaLMaLMaLNaJRaJRaJRaJRaJRaJRaJRaJRaLOaJRaJRaJRaJRaJRaJRaJRaJRacMaJRaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaLlaLlaLlaafaafaafaLlaLlaLlaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafvCmaqiaqjaqkvCmanFaqlanFaqmbCashBaqnaqoaqpaqqabcaqsabcaogaogaoggalaqtnyHaIgaJHaogaogaogaogaogaogabQaqvfomaajaajaajaajaajaaj
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMebbCaMeaMeaMeaafaJRaKnaJRaLLaLMaLMaLMaLMaLNaJRaLRaLSaLTaLSaLUaLVaLVaLVaLVaLVaLUaLVaLUaLVaLWaJRacMaJRaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafabnaLlaLlaafaafaafabnaLlaLlaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaajaajaafaafaafaafaIDaqCaqDaqCabEfIWaPCaOGagCqObaqFaqnaqGaqHaqqabcaqIabcaogaogaogkNcaGbaqJaqKafbaHEafHaogaOIaHEaHPaHSaqLaGfaajaajaajaajaajaaj
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaMeaMqaMqaMraMsaMtaMuaMvaMtaMwaMxaMyaMzaMAaMBaMCaMDaMEaMFaMGaMHaMIaMJaMKaMLaPXaPXaMeaafaafaJRaKnaJRaLXaLMaLMaLMaLMaLYaJRaLVaLZaLZaLZaLZaLZaLVaLVaLVaLZaLZaLZaLZaMaaMbaJRacMaJRaJRaJRaJRaJRaJRaJRaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaajaajaajaafaafaafaafgndaeGaIDaqUaRxlnJaqVanFaqWgndanqaIDaqXaIDvCmaqYaqYakRqESqESqESaQPacaaeOtRBaqZaraafbaauaHSarbarbaNgagPdgOaajaajaajaajaajaaj
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaMeaMqaMWaPXaPXaPXaPXaPXaPXaPXaPXaPXaPXaPXaPXaPXaPXaPXaPXaPXaPXaPXaPXaPXaPXaPXaPXaMeaafaafaJRaKnaJRaLXaMfaMgaMgaLMaLMaMhaLVaLVaLVaMiaLVaLVaLVaLVaLVaLVaLVaMiaLVaMjaLVaJRacMacMacMacMacMacMacMaJRaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaajaajaajaajaafaafaafaafvCmarfanFanFargadSanFanFanFadSarhariarjarkvCmajWaafajWaafaafaafaafaajaajagFaeOtRBafparlafpagPaeOaeOdgOaajaajaajaajaajaajaaj
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaMeaNjaPXaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaNkaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaPXaNlaMeaafaJRaJRaKnaJRaJRaJRaJRaJRaJRaJRaJRaLVaLZaLZaLZaLZaLZaLVaLVaLVaLZaLZaLZaLZaMNaLVaJRaJRaJRaJRaJRaJRaJRacMaJRaJRaJRaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaajaajaajaajaafaafaafaafvCmarpanFanFanFarqanFanFanFarranFanFanFarsvCmabCabCabCakFaafaafaafaafaajaajaajaGfartaQrartaGfaajaajaajaajaajaajaajaajaajaaj
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaMeaNvaPXaMeaNwaNwbbDaNwaNwaNwbbDaNwaNwaNwaNwaNwbbDaNwaNwaNwaNwbbDaNwaNwaMeaPXaNyaMeaafaJRaLfaKnaJRaJRaMXaMXaMXaMXaMXaJRaMYaMYaMYaMYaMYaMYaMYaMYaMYaMYaMYaMYaMYaMZaMYaJRaNaaNaaNaaNaaNaaJRacMacMagRaJRaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaajaajaajaajaajaafaafaafaafvCmarDanFanFanFarEanFanFanFarFanFanFanFarGvCmaafaafaafaafaafaafaafaafaafaajaajaGfartaaZartaGfaajaajaajaajaajaajaajaajaajaaj
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaMeaNSaPXaMeaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaMeaPXaNyaMeaafaJRaLfaJRaJRaJRaNmaNmaNmaNmaNmaJRaNnaNoaNoaNoaNoaNoaNoaNoaNoaNoaNoaNoaNoaNpaNnaJRaNmaNmaNmaNmaNmaJRaJRaJRagRaJRaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaajaajaajaajaafaafaafaafamUnDranqanqanqanqetaanFanFanFbCaanqanqanqanqnDravzaafaafaafaafaafajVaafajWaajaajaGfartaaZartaGfaajaajaajaajaajaajaajaajaajaaj
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaMeaOcaPXaMeaOdaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaOeaMeaPXaOfaMeaafaJRaLfaJRaNzkIYaNTaNTaNTaNTaNTaxXaNDaNoaNoaNoaNoaNoaNoaNoaNoaNoaNoaNoaNoaNpaNEcgVaNUaNUaNUaNUaNUrAKaNGaJRagRaJRaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaajaajaajaajaafaafaafaafvCmashasiasjaskaslvCmasmanFasnvCmasoaspaspasqasrvCmaafaafaafaafaafajVajWaajaajaajaGfartaQZartaGfaajaajaajaajaajaajaajaajaajaaj
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaMeaOnaPXaMeaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaMeaPXaPXaMeaafaJRaLfaJRaNzaNAaNTaNTaNTaNTaNTcMmaNDaNoaNoaNoaNoaNoaNoaNoaNoaNoaNoaNoaNoaNpaNEaNCaNUaNUaNUaNUaNUagAaNGaJRagRaJRaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaajaajaajaafaafaafaafaafaQvasiasiasiasiasiadSanFanFanFadSasRanFanFanFasSaQJaafaafaafaafaafakQaafaajaajaajagFtRBaKhagPdgOaajaajaajaajaajaajaajaajaajaaj
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaMeaOxaPXaNkaNwaNwaNwaNwaNwaNwaNwaNwaNwaOyaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNkaPXaOzaMeaafaJRaLfaJRaNzkIYaNTaNTaOgaNTaNTcMmaNDaNoaNoaNoaNoaNoaOhaOiaOhaNoaNoaNoaNoaNpaNEaNCaNUaNUaOjaNUaNUagAaNGaJRagRaJRaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaajaajaafaafaafaafaafaafhSxatlatmasiasiasiatnanFanFanFatoanFanFanFatpatqaTraafaafaafaafaafajVajWajWaajaajaajagFaeOdgOaajaajaajaajaajaajaajaajaajaajaaj
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaMeaOKaPXaMeaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaMeaPXaOzaMeaafaJRaLfaJRaNzkIYaNTaNTaNTaNTaNTcMmaNDaNoaNoaNoaNoaNoaOoaOpaOoaNoaNoaNoaNoaNpaNEaNCaNUaNUaNUaNUaNUagAaNGaJRagRaJRaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaSPasiasiasiasiasiatGanFanFanFatHanFanFanFanFatIaahaafaafaafaafaafajVaafaafajWaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaaj
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaMeaOZaPXaMeaOdaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaOeaMeaPXaOzaMeaafaJRaLfaJRaNzkIYaNTaNTaNTaNTaNTcMmaNDaNoaNoaNoaNoaNoaOAaOBaOCaNoaNoaNoaNoaNpaNEaNCaNUaNUaNUaNUaNUagAaNGaJRagRaJRaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafvCmatTasiasiasiatUbCaaIDaRoaIDetaatWatXatYanFatZvCmaafaafaafaafaafaafaafaafaafaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaaj
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaMeaPgaPXaMeaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaNwaMeaPXaPhaMeaafaJRaLfaJRacMkIYaNTaNTaNTaNTaNTcMmaNDaNoaNoaNoaNoaNoaNoaOLaNoaNoaNoaNoaNoaNpaNEaNCaNUaNUaNUaNUaNUagAacMaJRagRaJRaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafvCmaurausautauuauvvCmauwanFauxvCmauybCaanqauzanqqObaafaafaafaafaafaafaafajVaafajWaajaajaajaajaajaajaajaajaajaajaajaajaajaajaaj
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaMeaPtaPXaMeaNwaNwaPuaNwaNwaNwaPuaNwaNwaNwaNwaNwaPuaNwaNwaNwaNwaPuaNwaNwaMeaPXaPvaMeaafaJRaLfaJRaPaaJRaPbaPbaPbaPbaPbaJRaNnaNoaNoaNoaNoaNoaNoaOLaNoaNoaNoaNoaNoaNpaNnaJRaPbaPbaPbaPbaPbaJRaPaaJRagRaJRaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafvCmauOasiauPbCaanqqObanFauQauRgndanqqObauSavpauTvCmaafaafaafaafaafaafaafajVajWajWaajaajaajaajaajaajaajaajaajaajaajaajaajaajaaj
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaMeaPDaPXaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaNkaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaPXaPEaMeaafaJRaLpaPiacMaJRaPjaPjaPjaPjaPjaJRaMYaMYaMYaMYaMYaMYaPkaPlaPkaMYaMYaMYaMYaMZaMYaJRaPmaPmaPmaPmaPmaJRacMaPntyraJRaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafvCmavlavmavnvCmaafgndavoavoavoqObaafvCmavqanFbbuvCmaafaafaafaafaafaafaafajVaafajWaafaajaajaajaajaajaajaajaajaajaajaajaajaajaaj
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaMeaPMaPXaPXaPXaPXaPXaPXaPXaPXaPXaPXaPXaPXaPXaPXaPXaPXaPXaPXaPXaPXaPXaPXaPXaPXaPXaMeaafaJRaJRaJRacMaJRaJRaJRaJRaJRaJRaJRaPwaPxaPxaPxaPxaPxaPyaPzaPwaPxaPxaPxaPxaPAaPwaJRaJRaJRaJRaJRaJRaJRacMaJRaJRaJRaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafgndavoavoavoqObaafavDavAavAavAaFRaafgndavoavoavoqObaafaafaafaafaafaafaafajVajWajWajWajWajWaajaajaajaajaajaajaajaajaajaajaajaaj
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaMeaPUaPVaMsaPWaMuaMvaMtaMwaMxaMyaMzaMAaMBaMCaMDaMEaMFebdaPYaPZaPXaMKaMLaMraPVaPXaMeaafaafaafaJRacMacMacMacMacMacMacMaJRaPwaPwaPwaPwaPwaPwaPwaPFaPGaPwaPwaPwaPwaPHaPwaJRacMacMacMacMacMacMacMaJRaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaajaajaafaafaafavDavAavAavAaFRaafaafavAavAavAaafaafavDavAavAavAaFRaafaafaafaafaafaafaafajVaafajWaafajWaafaafaajaajaajaajaajaajaajaajaajaajaaj
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaMeaafaafaafaJRaJRaJRaJRaJRaJRaJRacMaLHaPwaPwaPwaPOaPOaPOaPwaPwaPwaPOaPOaPOaPOaPOaPwaLHacMaJRaJRaJRaJRaJRaJRaJRaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaafaafaafavAavAavAaafaafaafaliavAavAaafaafaafavAavAavAaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaajaajaajaajaajaajaajaaj
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaJRaJRaJRaQaaQaaQaaQbaQcaQdaQeaPwaQfaQgaQhaQiaQjaQkaQlaJRaJRaJRaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaafaafaafaliavAavAaafaafaafaafaafaafaafaafaafaliavAavAaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaajaajaajaajaajaajaajaaj
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaJRaJRaJRaJRaJRaJRaJRaJRaJRaJRaJRaJRaJRaJRaJRaJRaJRaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaajaajaajaajaajaajaajaaj
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaajaajaajaajaajaajaajaaj
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaajaajaajaajaajaajaaj
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaajaajaajaajaajaaj
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaajaajaajaajaaj
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaajaajaajaaj
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaajaajaaj
+agLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaajaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaajaaj
+aagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaAAaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaajaajaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaajaaj
+aagahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahXaibaibahXaicaidaieaifaigahXahWahWahWahWahWahWahWaagagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaajaajaajaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaaj
+aagahWahWahWahWahWahWahWahWahWahWahWahWahWahXahXahXahXahXahXahWahWahWahWahWahWahWahWahWahXaiDaiDahXaiFaiGaiGaiGaiHahXahWahWahWahWahWahWahWaagagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaajaajaajaajaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaaj
+aagahWahWahWahWahWahWahWahWahWahWahWahWahWahXaiOahXaiPaiQahXahWahWahWahXahXahXahXahXahXahXaiDaiDahXaiRaiGaiSaiGaiTahXahWahWahWahWahWahWahWaagagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaajaajaajaajaajaajaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaj
+aagahWahWahWahWahWahXahXahXahXahXahXahXahXahXaiXahXaiPaiXahXahXahXahXahXaiYaiZajaajbajcahXaiDaiDahXajdaiGaiGaiGajeahXahWahWahWahWahWahWahWaagagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaajaajaajaajaajaajaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aagahWahWahWahWahWahXajmajnahXajoajpajqajrahXajsahXahXajuahXajvajwaiDahXajxaiDaiDaiDajyahXaiDaiDahXahXahXajzahXahXahXahXahXahWahWahWahWahWaagagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaajaajaajaajaajaajaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aagahWahWahWahWahWahXajIajIajJajIajIajIajIajKaiXajLajLaiXahXajMaiDaiDahXajNaiDaiDaiDajOahXaiDaiDajPajQajRaiGaiGajPajSajTahXahWahWahWahWahWaagagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaajaajaajaajaajaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aagahWahWahWahWahWahXajIajIahXajXajIajIajIahXahXahXahXahXahXajYaiDaiDahXajNaiDaiDaiDajZahXaiDaiDajPakaakbaiGakcakdaiGaiGahXahWahWahWahWahWaagagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aagahWahWahWahWahWahXakjakkahXaklakmaknajIakoahXakpakqakrahXaksaiDaiDaktaiDaiDaiDaiDakuahXaiDaiDajPaiGakvaiGaiGajPakwakxahXahWahWahWahWahWaagagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aagahWahWahWahWahWahXahXahXahXahXahXahXakzahXahXakqakAakpahXajvaiDaiDahXaiGaiDaiDakBakCahXaiDaiDajPaiGaiGaiGaiGahXahXahXahXahWahWahWahWahWaagagLaafaafaafagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafahCaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aagahWahWahWahWahWahXakGakHakGakHakGakIaiGakJahXajPajPajPahXahXahXahXahXahXakKakKahXahXahXaiDaiDakLaiGaiGaiGaiGajPakwakxahXahWahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaDHahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCaAAahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahC
+aagahWahWahWahWahWahXaiDakSaiDakSaiDakSaiDaiGakTaiGaiGaiGaiGaiGaiGaiGaiGaiGaiDaiDaiDajwaiDaiDaiDakLaiGaiGaiGakcakUaiGaiGahXahWahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aagahWahWahWahWahWahXaiDakSaiDakSaiDakSaiDaiGakTaiGaiGaiGaiGaiGaiGaiGaiGaiGaiDaiDaiDaiDaiDaiDaiDahXaldaldaiGaiGajPajSajTahXahWahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aagahWahWahWahWahWahXakGakHakGakHakGakHaiDaloahXahXajPajPajPahXahXahXajPajPajPajPajPahXahXaiDaiDahXahXahXahXahXahXahXahXahXahXahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaRFaafaafaafaafaRFaRFaRFaRFaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
+aagahWahWahWakqakpahXahXahXahXahXahXahXalsahXahXaltalualvalwalxahXalyalzalAalBalCalDalDahXaiDaiDahXalEalFalGalHalIalJalKalLahXahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaRFaSeaSeaSeaSeaSeaRGaSeaSeaRGaSeaRGaSeaSeaRGaSeaRFaafaafaafaafaRHaafaRFaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaKiaeIaPIaPIaggaPIaPIaequgyanIaSfanIadgaafaafaafaafaafagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLaaf
+aagahWahWakAakpakpahXalSalTalUalValWalXaiDalYajPalZaiGaiGaiDaiDajPaiDaiDaiGaiGaiGaiGamaajPaiDaiDahXaiDaiDaiDaiDaiDaiDaiDaiDahXahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaRFaRFaSeaRIaRJaRKaSeaRLaRMaRLaRMaRPaRMaRLaRMaRLaSeaRFaRFaRFaafaafaRFaRFaRHaRFaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafacUvbMfPQfjRfjRagnfjRaguaaUagGaKvagGacUaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaaf
+aagahWakpakpakpakpajPaiDaiDaiDaiDaiDaiDaiDamfajPamgaiGaiGaiDaiDajPaiDaiDamhamiaiGaiGamjajPaiDaiDahXaiDaiGaiGaiGaiGaiGaiGaiDahXahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaRFaSeaSeaRIaRRaRTaSeaRMaSeaSeaRUaSeaRUaSeaSeaRMaSeaRWaRWaSeaRHaafaafaRFaRFaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafacUthCadWadWadWadWadWadWagJaKvaKvaKvacUaafaafaafaafaafagLaafafiaTcaTcaTcaTcaTcaTcaTcaTcaTcacZaTcaTcaTcaTcaTcacZaTcaTcaTcaTcaTcacZacZaTcaTcacZiDQadwaTcaTcaTcacZaTcaTcaTcacZaTcaTcqTxaafagLaaf
+aagahWakqakpakrakpajPaiDammamnamoampaiDaiDamqajPamraiGaiGaiDaiDajPaiDaiDaiGaiGaiGaiGamsajPaiDaiDahXaiDaiDaiDaiDaiDaiDaiDaiDahXahXahXahXahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaRWaRZaSaaSbaScaSeaRUaSeaSdaSkaSmaSoaSpaSeaRUaSeaSqaSraSeaRFaRFaRFaRHaRFaRFaSeaTAaTAaTAaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaKiaSfaSfaSfaSjoXYadWafzafzafzadWagpaawaIBaawaIBacUaafaafaafaafaafagLaafadbaajaajaajaajaajaajaajaajaajaQqaMSaNXacSaNXxKnaQqalraNXabIaNXaaEaQqjyGaqBafjaQqamWaGKaepbaRaTdaTdaOmcBdaaDaQqaajaajadbaafagLaaf
+aagahWahWakpakpakqajPaiDammamxamyampaiDaiDamzahXamAamBaiGaiDaiDahXaiDaiDaiGamCamDamEamFahXaiDaiDahXaiDaiDamGamHamIamJamKamLahXamMamMahXahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaRFaRWaSsaStaUuaSuaSeaToaSvaSwaToaSxaSvaSAaToaToaStaSBaSvaSeaRGaSeaRGaRGaSeaRGaSeaTAaTAaTAaTAaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafacUbOSadVadVadVaNBadWqCbahgahgadyagUacUfdAacUagracUaafaafaafaafaafagLaafadbaajaHHaHHaHHaHHaHHaHHaHHaHHaQqaMSaNXaRjaNXxKnaQqaQUaNXaPTaNXaefacNaPQaNXaNXacNaRmbaRadIbaRaoaaTdaTdaTdaTdaQqaajaajadbaafagLaaf
+aagahWakpandakpakqajPaiDammaneanfampaiDaiDangahXajPajPanhanianiahXanjanjankanlanlanlanlahXaiDaiDahXanmanmahXahXahXahXahXahXahXaiDaiDahXahXaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaRFaRWaSCaSDaSEaSGaSHaSIaSJaSKaUdaSLaSMaSRaSSaSSaSMaSTaSvaSeaRLaSUaRLaSVaSWaSXaSeaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafacUkKBkInkInkInkoTadWahgaIRuntadyagUaeTaSfaIuaSfacPaafaafaafaafaafagLaafadbaajaHHagbvVlaHHbaVaIhaHHaHHacNaMSaNXaOtaNXxKnacNaeVaNXjHhaNXbaYaNOaNXadDaNXjjfbaRbaRbaRbaRaTjqgeamYbtLaRnaQqaajaajadbaafagLaaf
+aagahWakqakpakpakAajPaiDaiDaiDaiDaiDaiDaiDaiDanAaiDaiDaiDaiDaiDanBaiDaiDaiDaiDaiDaiDaiDajwaiDaiDaiDaiDaiDaiDaiDajwaiDaiDanCaiDaiDaiDaiDanDaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaRFaRWaSYaSZaTaaTbaSeaRUaRGaRUaSeaTlaSeaRUaRGaRGaSeaTmaTnaSeaSXaRLaRMaRLaSXaRLaSeaTAaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafafaaSfaSfaSfadgafhadWagZagZagZadWagpaaUagHadWagHaeTaSfaSfadgaafaafagLaafadbaHHaHHaOUaOUaOUaOUaOUaOUaOUjNcaNXaNXaNXaNXaNXjNcaNXaPQaNXaNXaNXjNcaNXaNXaNXjjfbaRkpxkpxbaRamWaSgamWaSgamWaQqaajaajadbaafagLaaf
+aagahWanPakpakqakpahXanQamBanRanSanTanUaiDaiDanAaiDaiDanVaiDaiDaiDaiDaiDaiDaiDaiDaiDaiDaiDaiDaiDanWaiDaiDaiDaiDaiDaiDaiDanCaiDaiDaiDaiDanDaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaSeaSeaRWaRWaSeaSeaRHaRFaafaRGaTxaRGaRFaRFaafaSeaUuaTyaSeaTzaTBaTzaTzaTBaTzaSeaTAaTAaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaKAaafacUthCadWadWadWadWadWagUadGadWadWaTpacUcOZadcacUaafaafagLaafadbaHHaPLaOUaOUaareLUaOUaOUaOUtiwaNXaNXaNXaNXaNXtiwaNXaNXaNXaNXaNXtiwaNXaNXaLetiwaQAaQHkpxbaRbaRbaRbaRbaRadtaQqaajaajadbaafagLaaf
+aagahWahWahWakAakpahXahXahXahXahXajPajPaoiajPahXajPajPahXaojaojahXaokaokaolajPajPajPahXahXahXahXahXaomaomahXaiDaiDahXahXahXahXahXahXahXahXaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaRFaRFaafaRFaafaafaafaafaSeaTCaSeaRFaafaafaSeaTEaToaSeaTFaTHaTIaTJaTKaTLaSeaTAaTAaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafablaKgaKgadeaKgaKgadeaKgaKgadeaKgaKgagSaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaKAaafacUgqKwtMdCoadWadWadWxsiaawagHadWagHaeTaSfaSfaSjaafaafagLaafadbaHHadsaOUaOUatVacQaOUaOUaHHabGaapaapaapaapaapadMaapaapaapaapaapabUaNXanHaNXabGaHOxGyaduaQNaHOaapaapaapaapabZaajaajadbaafagLaaf
+aagahWahWahWahWakpahWahWahWahWahXaiGaiGaiDaiGajPaotaouaovaiDaiDahXaiDaiDaiGaowaoxaoyaozaoAaoBamCahXaoCaoCahXaiDaiDahXahWahWahWahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaTNaTOcKPaTRcKPaTTaTNaafaRWaTUaUdaTVaTWaTXaTYaTYaVjaUaaSeaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafafBaaHaaIafBaaHaaJafBaaHaaKafBaaHaaIafBaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaKAaafaaUbaSaPIaawacraawaPIbaSafaaSfaSfaSfaSjaafaafaafaafaafagLaafadbaHHaHHaTqaOUaOUaOUaOUaOUaHHaHHaHHaHHaHHaHHaHHaHHaHHaHHaHHaHHaHHaQqahYahYahYaHHaQqbaTafnaTsaQqaajaajaajaajaajaajaajadbaafagLaaf
+aagahWahWahWahWahWahWahWahWahWahXaiGaoMaiDaiDajPaiGaiGaiGaiDaiDajPaiDaiDaiGaiGaiGaiGaiGaiGaiGamCajPaoNaoNahXaoOaoOahXahXahXahXahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaTNaUbaREaUeaUfaUgaRCdCxaTNaRWaUhaUjaUkaUlaVfaUmaVfaUnaUoaSeaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafafBaaYaaKafBaaYaaIafBaaYaaIafBaaYaaIafBaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaKAaafaafaafaafacUaKyacUaafaafaafaafaKAaafaafaafaafaafaafaafagLaafadbaajaHHaPKaOUaOUaOUaOUaOUaOUaGdaGdaGdaGdaHHaHHaHHaHHaHHaHHaHHaHHaQqahYahYahYaHHaQqbaKafnaTsaQqaajaajaajaajaajaajaafaafaafagLaaf
+aagahWahWahWahWahWahWahWahWahWahXaoXaoYaoZaiDapaaiGaiGaiGaiDaiDajPaiDaiDapbapcapcapcapcaiGaiGapdajPapeapfahXapgaiDaphapiapjahXahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaUbvdZxpfaUpaUqaUpjpYvdZdCxaRWaUuaSvaSeaUsaUtaUvaUwaUyaUzaSeaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaNZaKgaKgaNdaKgaKgaNdaKgaKgaNdaKgaKguogaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaKAaafaafaafaafacUagtacUaafaafaafaafaKAaafaafaafaafaafaafaafagLaafadbaajaHHaHHaHHaKxaKxaKxaHHaHHaHHaHHaHHaGdaGdaGdaHHaHHaHHaHHaHHaHHaQqaewahYadAaHHabGaapaapaapabZaajaajaajaajaajaajaafaafaafagLaaf
+aagahWahWahWahWahWahWahWahWahWahXappapqaiDaiDahXaprapsaptapuapvajPaiDaiDapwapxapxapxapxaiGaiGapdajPapeapyapzaiDaiDaiDaiDapAahXahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaWzaREaUEaUFaUGaUHaUIaRCaWBaSeaUuaSxaSeaSeaSeaSeaSeaSeaSeaSeaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafafBaaHaaIafBaaHaaIafBabBaaIafBaaHaaKafBaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaKAaafaafaafaafaaUaiaaaUaafaafaafaafaKAaafaafaafaafaafaafaafagLaafadbaajaajaajaHHaHHaHHaHHaHHaajaajaajaHHaHHaHHaGdaGdaGdaGdaHHaHHaHHaQqahYahYahYaHHaajaajaajaajaajaajaajaajaajaajaajaafaafaafagLaaf
+aagahWahWahXahXahXahXahXahWahWahXapHaiGapIapJahXahXajPajPajPajPahXaiDaiDaiGaiGaiGaiGaiGaiGaiGapKajPapeapyapzaiDaiDaiDaiDapLahXahXahXahXahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaRCaUKbbEaRYaUMaUIaUcaafaSeaUNaToaSeaVwaUOaUWlnYaUPaUQaSeaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafafBaaYaaKafBaaYaaIafBaaYaaIafBaaYaaIafBaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaKAaafqqxlkzafoaKUhxgaKUafolkzifKaafaKAaafaafaafaafaafaafaafagLaafadbaajaajaajaajaajaajaajaajaajaajaajaajaajaHHaHHaHHaHHaGdaHHaHHaHHaQqaJiahYahYaHHaajaajaajaajaajaajaajaajaajaajaajaafaafaafagLaaf
+aagahWahWahXapTapUapVahXahWahWahXahXahXahXahXahXahWakqakqakqakqahXapWalzapXapYapZaqaaqbaqcaqdaqeahXapeapyapzaiDaiDaiDaiDaqfahXaqgaqhahXahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaUcaURaRXaRYaUSaUKaREaafaSeaUTaTyaSeaVwaUYaUZaVkaVaaVbaSeaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaKSaKgaKgaquaKgaKgaquaKgaKgaquaKgaKgaOJaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaKAaafagvaHUagvaLoaHVwRYagvaHUagvaafaKAaafaafaafaafaafaafaafagLaafadbaajaajaajaajaajaajaajaajaajaajaajaajaajacBaapaapaeWjNcaQNaapaHOadMaeWjNcaQNaapaHOaapaapaapaapaapaapaROaajaajaafaafaafaafagLaaf
+aagahWahWahXaqwaqxaqyahXahWahWahWahWahWahWahWahWahWakqakpakrakqahXahXajPajPajPajPahXahXahXahXahXahXapeapyapzaiDaiDaiDaiDaiDaqzaiDaqAahXahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaUcaURaRXaVcaUMaVdaUcaafaSeaUuaToaSeaVwaVeaVgaTYaVjaVbaSeaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaKAaafagqadYadaeyMaexagmiSsiZjagTaafaKAaafaafaafaafaafaafaafagLaafadbaajaajaajaajaajaajaajaajaajaajaajaajaajaQqaNXaNXaNXaNXaNXaNXaQqkzTkzTkzTbbvkzTaQqaNXaNXaNXahYahYahYaQqaajaafaafaafaafaafagLaaf
+aagahWahWahXahXahXahXahXahWahWahWahWahWahWahWahWahWakqakqakqakqakqakqakqakqakqakpakqakqapeapeapeapeapeaqMahXaqNaqOaqPaqQaqRahXaiGaqSahXahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaRCaUKbbEaVcaUMaVdaUcaafaRWaUuaToaSeaSeaVlaUVaVmaVnaSeaSeaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaafaafaafaafaafaafaafaafaafaafaafaafaKAaafaafnsGkJSaKUoedaKUhlIagIaafaafaKAaafaafaafaafaafaafaafagLaafadbaajaajaajaajaajaajaajaajaajaajaafaafaajaQqmlUaNXaNXaNXaNXaNXacNkzTaQIkzTkzTkzTacNaPQaNXaNXaewahYaGeaQqaajaafaafaafaafaafagLaaf
+aagahWahWahWahWahWahWahWahWahWahWahWakqakqahWahWakqakqakpakqakpakqakqakpakqakqakrakqakqapeapeapeapeapeapeahXahXahXahXahXahXahXahXahXahXahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaUcaVoaRXaVcaUSaUKaREaafaRWaVpaVqaSeaSeaSeaVraSeaSeaSeaSeaVtaVtaTAaTAaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaNYabLabLabLadzabLabLadBaafaafaafaafaafaafaafaagaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaagaafaafaafaafaafaafaafaafaafaafaafaafaKAaafaafacLafUdUVrFYafXaghacLaafaafaKAaafaafaafaafaafaafaafagLaafadbaajaajaajaajaajaajaajaajaajaajaafaafaajaQqaNXaNXaNXaNXaNXaNXjNckzTkzTwGrkzTkzTjNcaNXaNXaNXahYahYadAaQqaajaafaafaafaafaafagLaaf
+aagahWahWahWahWahWahWahWahWahWakqakqakqakpakqakqakqakpakqakqakqakqandakqakpakqakqakqakqapeapeakqakqakqakpakqakqakrakpakpakqakpakqahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaVuaVoaRXaRYaUMaVvxWHaafaRWaUuaVyaSeaVzaVAaVBaVCaVDaVFaVOaVPaVtaVtaTAaTAaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafabqabRabRabRacDabRabRabqaafaafaafaafaafaafaafaagaajaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaajaagaafaafaafaafaafaafaafaafaafaafaafaafaKAaafaafafWafUtLbafXafXaghafWaafaafaKAaafaafaafaafaafaafaafagLaafadbaajaajaajaajaajaajaajaajaajaajajVaafaafaQqaNXaNXtiwaddaddaddtiwkzTacwaTgaaNkzTtiwaddaddaddtiwaLmahYaQqaafaafaafaafaafaafagLaaf
+aagahWahWahWahWahWahWakpahWahWakqaruarvarvarvarvarvarvarvarvarvarvarvarvarvarvarvarvarvapeapearvarvarvarvarvarvarvarwakqakrakpahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafewxaVoaSFaRYaVQaVvaUraafaSeaVRaTyaSeaVSaVTaUuaToaToaTGaTDaVtaVtaVtaTAaTAaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafabqabRaNrabRaceabRabRabqaafaafaafaafaafaafaafaagaajaaGaaWaaWaaWaaWaaWaaWaaXaaXaaXaaWaaWaaXaaXaaXaaWaaWaaWaaWaaWaaGaajaagaafaafaafaafaafaafaafaafaafaafaafaafaKAaafaafagqsgpcmbafXagjagdagTaafaafaKAaafaafaafaafaafaafaafagLaafadbaajaajaajaajaajaajaajaajaajajWajVaafaafacNaNXaNXacNaafaafaafabGaeWaNMaNMaNMaQNabZaafaafaafacNadAahYacNaafaafaafaafaafaafagLaaf
+aagahWahWahWahWahWakpakpakqakqakqarHarIarIarIarIarIarIarIarIarIarIarIarIarIarIarIarIarIarJarJarIarIarIarIarIarIarIarKakqakqahWahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaRCaTQaVUaVVaVWaTSaREaafaSeaVXaSvaTnaSvaVYaUuaVZaWaaWbaTDaVtaVtaVtaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafabqacmacmacmaeAabRabRabqaafaafaafaafaafaafaafaagaajaaGabjaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWabkaaGaajaagaafaafaafaafaafaafaafaafaafaafaafaafaKAaKAaafaafagveMjafXygcagvaafaafaKAaKAaafaafaafaafaafaafaafagLaafadbaajaajaajaajaajaajaajaajaafaafaafaafaafaLBaLCaLCaLDaafaafaafaafaafaafaafaafaafaafaafaafaafaLBaLCaLCaLDaafaafaafaafaafaafagLaaf
+aagahWahWahWahWahWakpakpakpakqakqarHarIarQarIarIarIarRvBmaucaucvBmarTarIarIarIarIarRarSarSarSarSarTarIarIarIarQarIarKakqakpahWahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaUcaWcaRVaWdaWeaWfaUcaafaSeaWgaSvaWhaSvaWiaVEaToaWjaWkaTDaVtaVtaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafagLaafaafaafaafaafacyacyacyacyadkadJabLabLabLafvabRabRabqaafaafaafaafaafaafaafaagaajaaGaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWabAaaWaaWaaWaaWaaWaaGaajaagaafaafaafaafaafaafaafaafaafaafaafaafaafaKAaafaafagvcmbafXagjagvaafaafaKAaafaafaafaafaafaafaafaafagLaafadbaajaajaajaajaajaajaajaajaajaafaafaafaafaLBaLFaLGaLDaafaafaafaafaafaafaafaafaafaafaafaafaafaLBaLFaLGaLDaafaafaafaafaafaafagLaaf
+aagahWahWahWahWahWahWakpahWakqakqarHarIarIarIarIarIaVKaugasxasxauFaVKarIarIarIarIaVKassastasuasvaVKarIarIarIarIarIarKakqakqahWahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaUcaWcaRVaRVaRVaWlaUcaafaSeaWmaWnaSeaSeaWoaWpaToaWqaVzaTDaVtaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafagLaafaafaafaafaafacyacyacyacyaceabRaceabRabRabRabRabRabqaafaafaafaafaafaafaafaagaajaaGaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWabjaaWaaWaaWaaWaaWaaGaajaagaafaafaafaafaafaafaafaafaafaafaafaafaafaKAaafaafagvhuBudLtfEagvaafaafaKAaafaafaafaafaafaafaafaafagLaafadbaajaajaajaajaajaajaajaajaafaafaafaafaafaLBaLIaLGaLDaafaafaafaafaafaafaafaafaafaafaafaafaafaLBaLFaLGaLDaafaafaafaafaafaafagLaaf
+aagahWahWahWahWahWahWahWakqakqakqarHarIarIarIarIarIaVKaRAasYasYasZaVKarIarIarIarIaVKasUasVasVasWaVKarIarIarIarIarIarKakqakqahWahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaUcxovaRVaRVaRVaWraUcaafaRWaWsaWtaWuaWvaWwaTDaWxaWyaTDaTDaTDaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafagLaafaafaafaafaafacyacyacyacyadkabLabLadBabRabRabRacXabqaafaafaafaafaafaafaafaagaajaaGaaWaaWaaWaaWaccabAaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaGaajaagaafaafaafaafaafaafaafaafaafaafaafaafaafaKAaafaafagqsgpjSRagdagTaafaafaKAaafaafaafaafaafaafaafaafagLaafadbaajaajaajaajaajaajaajaajaafaafaafaafaaflHBaLCaLCrOPaafaafaafaObaafaafaafaafaafaOFaafaafaaflHBaLCaLCrOPaafaafaafaafaafaafagLaaf
+aagahWahWahWahWahWahWahWakpakqakqarHarIarIarIarIarIaVKaRAasYaVLatuaVKarIarIarIarIaVKatratsatsattaVKarIarIarIarIarIarKakqahWahWahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaWzaRvaTQaWAaTSaRvaWBaafaRWaUuaWCaWuaWDaWEaWFaWFaWFaWFaWGaTDaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafabqacmabRabRacXabqaafaafaafaafaafaafaafaagaajaaGaaWaaWaaWaaWaaWaclaclaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaGaajaagaafaafaafaafaafaafaafaafaafaafaafaafaafaKAaKAaafaafagqahlagTaafaafaKAaKAaafaafaafaafaafaafaafaafagLaafadbaajaajaajaajaajaafaafaafaafaafaafaafaafaObaMkaOHaOFaafaafaafaMkaMnaMnaMnaMnaMnaMkaafaafaafaObaOXaMkaOFaafaafaafaafaafaafagLaaf
+aagahWahWahWahWahWahWahWakrakpakqarHarIarIarIarIarIaVKaEVatMatNaFqaVKarIarIarIarIaVKatJatsrDnatKaVKarIarIarIarIarIarKakqahWahWahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaRbaRcaRdaafaRbaRcaRdaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaUcaWHaSnaWIaUcaafaafaRWaWJaWCaWuaWvaWKaTDaTDaTDaTDaWLaTDaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafabqacmabRabRacXabqaafaafaafaafaafaafaafaagaajaaGaaWaaWaaWaaWaclactacuaclaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaGaajaagaafaafaafaafaafaafaafaafaafaafaafaafaafaafaKAaafaafaafaafaafaafaafaKAaafaafaafaafaafaafaafaafaafagLaafadbaajaajaajaajaajaafaafaafaafaafaafaafaafaMkaTMaNWaMkaafaafaObaMkaMkaPJaQOalRaMkaMkaOFaafaafaMkbaHbaIaMkaafaafaafaafaafaafagLaaf
+aagahWahWahWahWahWahWahWakqakpakqarHarIarIarIarIarIeaevBmaUAaUAvBmiTMarIarIarIarIeaeauaaubauaauaiTMarIarIarIarIarIarKakpakpahWahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaRbaReaRdaafaRbaReaRdaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaVuaRSaRSaRSxWHaafaafaSeaWMaWNaSeaSeaWOaUjaWPaWQaWRaWLaTDaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaPPabLabLabLabLafvaafaafaafaafaafaafaafaagaajaaGaaWaaWaaWaaWaclacFacGaclaaWaaWaccaaWacHaaWaaWaaWaaWaaWaaWaaGaajaagaafaafaafaafaafaafaafaafaafaafaafaafaafaafaKAaKAaafaafaafaafaafaKAaKAaafaafaafaafaafaafaafaafaafagLaafadbaajaajaajaajaajaafaafaafaafaafaafaafaafaMkaNbbaJaMkaafaafaMkaMkaRlaiEamTaOQafJaMkaMkaafaafaMkbaMaNiaMkaafaafaafaafaafaafagLaaf
+aagahWahWahWahWahWahWahWakqauAakqarHarIarIarIarIarIarSauDauEaUJauGaVKarIarIarIarIaVKauBatsatsauCarSarIarIarIarIarIarKakqakqahWahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaRbaReaRdaafaRbaReaRdaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafkNwaWSaWTaSzaVxaafaafaSeaWUaWVaWWaWXaWYaToaToaToaWZaXaaTDaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaagaajaaGaaWaaWaaWaaWaaWaclaclaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaGaajaagaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaKAaKAaKAaKAaKAaKAaKAaafaafaafaafaafaafaafaafaafaafagLaafadbaajaajaajaajaajaafaafaafaafaafaafaafaafaMkbaNaMkaMkaMkaMkaMkeMoaQsaQsaQsaaLaQsacgaMkaMkaMkaMkaMkbaPaMkaafaafaafaafaafaafagLaaf
+aagahWahWahWahWahWahWahWahWakqakqarHarIarIarIarIarIarSauWauXauXauYaVKarIarIarIarIaVKauUatsatsauVarSarIarIarIarIarIarKakqakqakqahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaRbaReaRdaafaRbaReaRdaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaTTewxaRQaSlaSyaUraTOaafaXbaXcaSvaWhaSvaToaToaSxaToaXdaXeaTDaTAaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaagaajaaGaaWaaWabAaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWabjaaWaaWaaGaajaagaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafadbaajaajaajaajaajaafaafaafaafaafaafaafaafaMkbaQaNIaNJaNKaOuaMkaxDaQsaQsaQsaQsaQsaczaMkaoqadFaaqaSQaeKaMkaafaafaafaafaafaafagLaaf
+aagahWahWahWahWahWahWahWahWakqakqarHarIarIarIarIarIarSavtauXauXauYeaevBmvBmvBmvBmiTMaVMatsatsaVNarSarIarIarIarIarIarKakqakpakqakqahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaRbaReaRdaafaRbaReaRdaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaWzaRuaXfbXChkKaRuaWBaafaSeaXcaXgaSeaSeaXhaToaToaToaXiaXjaTDaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaagaajaaGaaWaaWaccabAaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWabAaaWaaWaaGaajaagaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafadbaajaajaafaafaafaafaafaafaafaafaafaafaafaMkaNVaNWbaHaNWaaBaMkabSabSabSpoBabSabSabSaMkaMRxpTaanacnagWaMkaafaafaafaafaafaafagLaaf
+aagahWahWahWahWahWahWahWahWahWakqarHarIarIarIarIarIaVKavKavLauXavMaVKavGavHavIavJaVKavEatsatsavFaVKarIarIarIarIarIarKakqakqakpakqahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaRbaReaRdaafaRbaReaRdaafaafaafaafaafaafaafaafaafaafaafaRFaXkaSeaSeaSeaSeaSeaSeaSeaSeaSeaSeaXlaXmaToaXnaTDaXoaToaXpaXqaToaXraTDaTAaTAaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezaezadHadHaafaafaagaajaaGaaWaaWaaWaaWaaWaaWaaWadQaaWadQaaWadQaaWadRaaWaaWaaWaaWaaWaaGaajaagaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafadbaajaajaafaafaafaafaafaafaafaafaafaafaafaOkaNVaNWaNWaNWxpTaeYaNsaNsaNsaNsaNsaNsaNsaeYxpTrczxpTxpTagWaOkaafaafaafaafaafaafagLaaf
+aagahWahWahWahWahWahWahWahWahWakqarHarIarIarIarIarIavZvBmmuRawaauaarUawbawcawcawdeegauaawemuRvBmawfarIarIarIarIarIarKakqakpakqahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaRbaReaRdaafaRbaReaRdaafaafaafaafaafaafaafaafaafaXsaRFaRFaXtaUBaXuaXvaXwaTDaXxaSvaToaXyaToaSvaXcaToaUiaTDaXzaSvacIaXAaRHaXBaTDaTAaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaezaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafadHaafaafaagaajaaGaaWaaWaaWaeiaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaWaaGaajaagaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafadbaajaajaajaafaafaafaafaafaafaafaafaafaafaOkaOqbaHaOraMkaMkaMkafEaNsaOvaOvaOvaNsjKxaMkaMkaMkxpTxpTagWaOkaafaafaafaafaafaafagLaaf
+aagahWahWahWahWahWahWahWahWakqakqarHarIarIarIarIarIarIarIaVKauXauXauXauXauXauXauXauXauXauXaVKarIarIarIarIarIarIarIarKakqakpahWahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaRbaReaRdaafaRbaReaRdaafaafaafaRFaRFaRFaafaRFaRFaSeaXtaXtaXtaXCaXDaXEaXFaXGaXHaXIaXJaSKaXLaXMaXNaToaUxaTDaXOaSvaXPaXQaRHaXRaTDaRFaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaezaafabracfacfacfacfacfacfabaacfacfacfabaacfanwacfacfaThaafadHaafaafaagaajaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaajaagaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafadbaajaajaajaafaafaafaafaafaafaafaafaafaafaOkaOqaNWaNWaMkacAaOSaNsaNsafGabhaKVaNsaNsaNsafkaMkamVxpTgSjaOkaafaafaafaafaafaafagLaaf
+aagahWahWahWahWahWahWahWahWakqakqarHarIarRvBmvBmvBmarTarIaVKawyauXauXauXauXauXauXavLauXawzaVKarIarRvBmvBmvBmarTarIarKakqakqahWahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaTkaafaafaafaTkaXtaXtaXtaXtaSeaSeaSeaSeaSeaSeaSeaXSaXTaXUaXVaXWaXXaXYaTDaTDaTDaTDaTDaTDaTDaXZaYaaYbaTDaYcaToaYdaYeaYfaYgaTDaRFaRFaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaezaafbaLaORafAacTaeNaaxaNtaqraQxaQxaQxaqraQyaQzaobaQzbaLaafadHaafaafaagaajaePaeQaeQaeQaeQaeQaeQaeQaeQaeQaeQaeQaeQaeQaeQaeQaeQaeQaeQaeQaePaajaagaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaafaafaafaafagLaafadbaajaajaajaafaafaafaafaafaafaafaafaafaObaMkaOMaONaONaMkaeLaNsaNsaNsaOOabhbaOaNsaNsaNsugeaMkaRyaeDroJaMkaOFaafaafaafaafaafagLaaf
+aagahWahWahWahWahWahWahWahWakqakqarHarIaVKawGawHawIaVKarIeaeaweauamuRvBmawJawJvBmmuRauaawKiTMarIaVKawLawMawNaVKarIarKakpakqakqahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaTuaTvaTvaTvaTwaXtaYhaToaYiaYjaYkaYlaYmaTDaToaToaYnaYoaYpaYqaYraYsaYtaYuaTDaYvaYwaYxaYyaYzaYAaToaYBaTDaTDaTDaTDaTDaTDaTDaSeaXtaXtaSeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaezaafbaLadZadZadZadZadZadZaQBaQCaQDaQCaQEaQzaQzaQzaQFbaLaafadHaafaafaagaajaffafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgaffaajaagaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaafaafaafaafagLaafadbaajaajaajaafaafaafaafaajaajaafaafaafbaXaMkaPdaPdaMkaMkajiaNsaPraNsaNeaNeaNeaNsaPraNsqwnaMkaMkaPdaPdaMkbaZaafaafaafaafaafagLaaf
+aagahWahWahWahWahWahWahWakqakpakqarHarIaVKawWatsawXeaevBmarUauXawYaVKawZaxaaxaaxbaVKaxcaxdeegvBmarUaxeaxfaxdaVKarIarKakqakqakqahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaTPaYCaYDaYEaYFaYGaYHaYHaYIaYJaYKaYLaYMaYNaYOaYPaYQaYRaYSaYTaYUaTDaYVaVhaYWaTDaTDaYXaYYaYYaYZaYZaYZaZaaZbaZcaZdaZeaZfaZgaXtaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaezaafbaLkiykiyadZadZadZaPBbwbaQCaQCabpabracfacfacfacfaSiaafadHaafaafaagaajaffafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgaffaajaagaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaafaafaafaafagLaafadbaajaajaajaafaafaafaafaajaajaafaafaafaafbaXaPoaPobaZaMkaMkpoBaMkaNsaNsaNsaNsaNsaMkpoBaMkaMkbaXaPoaPobaZaafaafaafaafaafaafagLaaf
+aagahWahWahWahWahWahWahWakqakrakqarHarIeaeauaaxHauaiTMauXauXauXawYaVKaxIaxaaxaaxbaVKaxJaxdaxKaxLaxMaxdaxdaxNaVKarIarKakqakqakqahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaUCaTvaTvaTvaUDaXtaToaToaZhaZiaZjaZkaZlaZmaToaToaZnaZoaZpaZqaZraZsaZtaZuaTDaTDaTDaZvaTDaTDaZwaZxaXMaXJaZyaUdaZAaZBaZCaZDaZEaZEaZFaXtaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaezaafbaLadZadZadZadZadZadrbaLaQKaQKaQLaqramvafcabbaOabaLaafadHaafaafaagaajaffafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgaffaajaagaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaiaairrUaKRkEfpmrafVaaiaaiaaaaafaafaafaafagLaafadbaajaajaajaafaafaafaafaajaajaafaafaafaafaafaafaafaafaMkabiaQsaMkaNsaNsaNsaNsaNsaMkaQsanNaMkaafaafaafaafaafaafaafaafaafaafagLaaf
+aagahWahWahWahWahWahWahWakqakqakqarHarIaVKaxYaxZaxZayaauXaybavLaycaVKaxaaxaaxaaydaVKaxdayeayfaxdaxdaxdaxdaygaVKarIarKakqauAakpahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaTkaafaafaafaTkaXtaXtaXtaXtaTDaTDaTDaTDaTDaTDaTDaTDaZGaZHaZIaZJaZKaZLaZuaTDaZMaZNaZOaTDaTDaZPaTDaZQaZRaZPaTDaTDaZSaZTaZDaZUaZEaZVaXtaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaezaafbaLaTiaTiadZadZadZaShbaLaQKaQKaQKaQSaQKaQKaQKaQTbaLaafadHaafaafaagaajaffafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgaffaajaagaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaiaaivDlafTahcdztadTaaiaaiaaaaafaafaafaafagLaafadbaajaajaajaafaafaafaafaafaafaafaafaafaafaafaafaafaafaMkbaWamXaMkagVagVaeXagVagVaMkaQsaQtaMkaafaafaafaafaafaafaafaafaafaafagLaaf
+aagahWahWahWahWahWahWahWakqakrakparHarIaVKaxYaxZayweaevBmvBmvBmvBmiTMayxayxaxaaxaeaevBmvBmvBmvBmurTayyaxdayzaVKarIarKakqakqakqahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaRbaUXaRdaafaRbaUXaRdaafaafaafaTAaTAaTAaTAaTAaTAaTAaTDaTDaZWaZXaZYaZZbaaaTDaTDaTDaTDaZvaTDbabbacaTDbadaTDbaebafaTDaZDaZTaZDaZDaZDbahaSeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaezaafbaLadZadZadZadZadZafLbaLaQVaQWaQXbwbliZaoDsalaeCbaLaafadHaafaafaagaajaffafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgaffaajaagaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaiaaiagzahcaJFahcagzaaiaaiaaaaafaafaafaafagLaafadbaajaajaajaajaafaafaafaafaafaafaafaafaafaafaafaafaafaMkaMkigfaMkbbaacOacOacOaQmaMkaQGaMkaMkaafaafaafaafaafaafaafaafaafaafagLaaf
+aagahWahWahWakpazhakqakqakqakqakqarHarIarSasXaxZaziaVKarIarIarIarIaVKazjazjazjazjaVKarIarIarIarIaVKazkaxdazlarSarIarKakqakpakqahWahWakpahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaRbaUXaRdaafaRbaUXaRdaafaafaafaTAaTAaTAaTAaTAaTAaTAaTAaTDaTDaTDaTDaTDaTDaTDaTDaVsaZNbaiaTDbajbakbalaTobambanbaoaTDbapaZTaZDbaraZDbasaXtaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaezaafbaLadZadZadZadZadZaPBaaCacfacfacfaeZacfacfacfacfaOEaafadHaafaafaagaajaffafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgaffaajaagaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaiaaiaIWagxahcagxaIWaaiaaiaaaaafaafaafaafagLaafadbaajaajaajaajaajaafaafaafaafaafaafaafaafaafaafaafaafbaXaMkaMkaMkabyaQMadCaRiaQpaMkaMkaMkbaZaafaafaafaafaafaafaafaafaafaafagLaaf
+aagahWahWazAakpakpakqakpakqakpakqarHarIaVKazBaxZazCaVKarIarIarIarIavZazDazDazDazDawfarIarIarIarIaVKazEazFazGaVKarIarKakqakqakqakqakqakpahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaRbaUXaRdaafaRbaUXaRdaafaafaafaTAaTAaTAaTAaTAaTAaTAaTAaTAaTDaTDaTDaTDaTAaTAaTDaTDaTDaTDaTDbatbauaTDbavaTDbawbaxaTDbaybazbaAbaAbaAbaBaXtaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaezaafbaLadZaaSaRkaQndvIadZaoIabzaNLaoIaSNaRqaRraRraRqbaLaafadHaafaafaagaajaffafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgaffaajaagaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaiaaiaIWahcahcahcaIWaaiaaiaaaaafaafaafaafagLaafadbaajaajaajaajaajaafaafaafaafaajaajaafaafaafaafaafaafaafaafbaXaMkaPdaPdaPdaPdaPdaMkbaZaafaafaafaafaafaafaafaafaafaafaafaafagLaaf
+aagahWahWahWahWakqakpakqauAakpakqarHarIaVKazjazjazjaVKarIarIarIarIarIarIarIarIarIarIarIarIarIarIaVKazjazjazjaVKarIarKakqakqakqakqahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaRbaUXaRdaafaRbaUXaRdaafaafaafaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTDaTDaTDaTDaTDaTDaTDaTDaTDaZDbaCbaDbaEbaFbaGaXtaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaezaafbaLadZaaSaRahuRdvIadZalaalaalaalaaSNaRBaRBaRBaRBbaLaafadHaafaafaagaajaffafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgaffaajaagaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaiaaiagYahcahcahcagYaaiaaiaaaaafaafaafaafagLaafadbaajaajaajaajaajaafaafaafaafaajaajaajaafaafaafaafaafaafaafaafbaXaPoaoFaoFaoFaPobaZaafaafaafaafaafaafaafaafaafaafaafaafaafagLaaf
+aagahWahWahWahWahWahWahWakqakqakqarHarIavZazDazDazDawfarIarIarIarIarIarIarIarIarIarIarIarIarIarIavZazDazDazDawfarIarKakqakqahWakqahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaRbaUXaRdaafaRbaUXaRdaafaafaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaSeaSeaSeaSeaSeaSeaSeaSeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaezaafbaLadZaaSacdmIBdvIadZalaalaalaalaalaalaalaalaalabaLaafadHaafaafaagaajaffafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgaffaajaagaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaiaaiacxahktxPnUYacxaaiaaiaaaaafaafaafaafagLaafadbaajaajaajaajaajaafaafaafaafaajaajaajaafaafaafaafaafaafaafaafaafaafaenaenaenaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaaf
+aagahWahWahWahWahWahWahWakqakqakparHarIarIarIarIarIarIarIarIarIarIarIarIarIarIarIarIarIarIarIarIarIarIarIarIarIarIarKakqakrakqakqahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaRbaUXaRdaafaRbaUXaRdaafaafaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaezaafbaLadZaaSahhapEdvIadZalaalaalaalaalaalaaRNabTaambaLaafadHaafaafaagaajaffafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgaffaajaagaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaiaaiafSahmahmahmmxgaaiaaiaaaaafaafaafaafagLaafadbaajaajaajaajaajaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaecaenaenaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaaf
+aagahWahWahWahWahWahWahWahWakqakqaBpaBqaBqaBqaBqaBqaBqaBqaBqaBqaBqaBqaBqaBqaBqaBqaBqaBqaBqaBqaBqaBqaBqaBqaBqaBqaBqaBrakqakpakqahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaRbaUXaRdaafaRbaUXaRdaafaafaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaezaafbaLkpYkpYkpYkpYkpYkpYacYacYacYacYacYacYacYacYacYbaLaafadHaafaafaagaajaffafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgaffaajaagaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaiaaipjuahpahqahrgBBaaiaaiaaaaafaafaafaafagLaafadbaajaajaajaafaafaafaafaafaafaafaafaafaafaajaajaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaaf
+aagahWahWahWahWahWahWahWahWahWakqakqakqakqakqakqakqakqakqakqakpakqakqakqakrakqakqakqakqakqakqakqakqakqakqakqakqakqakqakqahWahWahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaRbaVGaRdaafaRbaVGaRdaafaafaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaezaafbaLaSNaSNaSNaSNaSNaSNaSNaSNaSNaSNaSNaSNaSNaSNaSNbaLaafadHaafaafaagaajaffafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgaffaajaagaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaafaafaafaafagLaafadbaajaajaajaafaafaafaafaafaafaafaafaajaajaajaajaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaaf
+aagahWahWahWahWahWahWahWahWahWahWahWakqakqakqakrakqakqakpakqakqakqakqahWahWakqakqakqahWahWahWakqakqakqakqakqahWahWakqahWahWahWahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaafaTAaTAaTAaTAaTAaTAaTAaafaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaezaafbaLvjnaQYaPSaSNagwaPRaqEaSNaeyapFaeMaSNaOlbAcafmbaLaafadHaafaafaagaajaffafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgaffaajaagaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaafaafaafaafagLaafadbaajaajaajaafaafaafaafaafaafaafaajaajaajaajaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaaf
+aagahWahWahWahWahWahWahWahWahWahWahWahWahWahWakqakqahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaafaafaTAaTAaTAaTAaafaafaafaafaTAaTAaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaezaafbaLaalaLcapoaSNabMaLdabHaSNavBanJaciaSNadKaTfaPqbaLaafadHaafaafaagaajaffafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgafgaffaajaagaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafagLaafalcaajaafaafaafaafaafaafaafaafaafaafaajaajaajaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaaf
+aagahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWahWaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaTAaTAaTAaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaTAaTAaTAaafaafaafaafaTAaTAaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaezaafaaCacfacfacfaGLacfacfacfaGLacfacfacfaGLacfacfacfaOPaafadHaafaafaagaajaffaffaffaffaffaffaffaffaffaffaffaffaffaffaffaffaffaffaffaffaffaajaagaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaaf
+aagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagagLaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaTAaTAaTAaTAaTAaTAaTAaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafadHaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafadHaafaafaagaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaajaagaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLaaf
+agLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLaafaafaafagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLagLaafaafadHadHadHadHadHadHadHadHadHadHadHadHadHadHadHadHadHadHadHadHadHaafaafaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafagLagLahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCahCagLagLagLaaf
+aafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaf
"}
diff --git a/maps/eclipse/eclipse-6.dmm b/maps/eclipse/eclipse-6.dmm
index dc6ad62b12c..aef38ca3279 100644
--- a/maps/eclipse/eclipse-6.dmm
+++ b/maps/eclipse/eclipse-6.dmm
@@ -1561,35 +1561,35 @@
"Ei" = (/obj/effect/decal/remains,/obj/item/pickaxe/jackhammer,/turf/simulated/floor/misc/cult,/area/mine/explored)
"Ej" = (/obj/structure/reagent_dispensers/fueltank,/obj/effect/decal/cleanable/cobweb2{icon_state = "cobweb1"},/turf/simulated/floor/plating,/area/outpost/abandonedpost)
"Ek" = (/obj/structure/reagent_dispensers/beerkeg,/turf/simulated/floor/plating,/area/outpost/abandonedpost)
-"El" = (/obj/machinery/media/jukebox,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor/wood,/area/outpost/abandonedpost)
-"Em" = (/obj/structure/table/woodentable,/obj/machinery/light/small{dir = 1},/obj/item/storage/box/donkpockets,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor/wood,/area/outpost/abandonedpost)
-"En" = (/obj/structure/table/woodentable,/obj/machinery/microwave,/obj/effect/decal/cleanable/cobweb2,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor/wood,/area/outpost/abandonedpost)
+"El" = (/obj/machinery/media/jukebox,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/trim/wood,/area/outpost/abandonedpost)
+"Em" = (/obj/structure/table/woodentable,/obj/machinery/light/small{dir = 1},/obj/item/storage/box/donkpockets,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/trim/wood{icon_state = "wood_broken5"},/area/outpost/abandonedpost)
+"En" = (/obj/structure/table/woodentable,/obj/machinery/microwave,/obj/effect/decal/cleanable/cobweb2,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/trim/wood{icon_state = "wood_broken3"},/area/outpost/abandonedpost)
"Eo" = (/obj/structure/catwalk,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/outpost/abandonedpost)
"Ep" = (/obj/structure/catwalk,/turf/simulated/floor/plating,/area/outpost/abandonedpost)
"Eq" = (/obj/structure/catwalk,/obj/machinery/door/airlock{name = "Storage"},/turf/simulated/floor/plating,/area/outpost/abandonedpost)
-"Er" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor/wood,/area/outpost/abandonedpost)
+"Er" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/trim/wood,/area/outpost/abandonedpost)
"Es" = (/obj/item/device/flashlight,/obj/item/device/radio,/turf/simulated/floor/misc/cult,/area/mine/explored)
"Et" = (/obj/structure/table/rack,/obj/item/storage/firstaid/regular,/obj/effect/decal/cleanable/generic,/turf/simulated/floor/plating,/area/outpost/abandonedpost)
"Eu" = (/obj/structure/table/rack,/obj/item/storage/box/donkpockets,/obj/item/storage/box/donkpockets,/obj/item/storage/box/donkpockets,/obj/item/storage/box/donkpockets,/obj/item/storage/box/donkpockets,/obj/item/device/synthesized_instrument/guitar,/turf/simulated/floor/plating,/area/outpost/abandonedpost)
-"Ev" = (/obj/structure/bed/chair,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/ash,/turf/simulated/floor/holofloor/wood,/area/outpost/abandonedpost)
-"Ew" = (/turf/simulated/floor/holofloor/wood,/area/outpost/abandonedpost)
+"Ev" = (/obj/structure/bed/chair,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/ash,/turf/simulated/floor/trim/wood{icon_state = "wood_broken2"},/area/outpost/abandonedpost)
+"Ew" = (/turf/simulated/floor/trim/wood,/area/outpost/abandonedpost)
"Ex" = (/obj/machinery/door/airlock{name = "Toilet"},/obj/effect/floor_decal/oldflood,/turf/simulated/floor/tiled/freezer,/area/outpost/abandonedpost)
"Ey" = (/obj/structure/sink{dir = 1; pixel_y = 16},/obj/effect/floor_decal/oldflood,/obj/effect/decal/cleanable/vomit,/obj/structure/mirror{pixel_y = -30},/turf/simulated/floor/tiled/freezer,/area/outpost/abandonedpost)
"Ez" = (/obj/machinery/light/small{dir = 4},/obj/structure/toilet{dir = 8},/obj/random/soap,/obj/effect/floor_decal/oldflood,/obj/effect/decal/cleanable/cobweb{dir = 8},/turf/simulated/floor/tiled/freezer,/area/outpost/abandonedpost)
-"EA" = (/obj/structure/table/woodentable,/obj/random/snack,/obj/item/reagent_containers/vessel/bottle/small/beer,/obj/item/device/radio/intercom{dir = 4; pixel_x = -22},/turf/simulated/floor/holofloor/wood,/area/outpost/abandonedpost)
-"EB" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/holofloor/wood,/area/outpost/abandonedpost)
-"EC" = (/obj/effect/decal/cleanable/blood,/obj/item/remains/human,/turf/simulated/floor/holofloor/wood,/area/outpost/abandonedpost)
-"ED" = (/obj/machinery/light/small{dir = 8},/obj/structure/bed/chair{dir = 1},/turf/simulated/floor/holofloor/wood,/area/outpost/abandonedpost)
-"EE" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor/wood,/area/outpost/abandonedpost)
-"EF" = (/obj/machinery/light_switch{pixel_x = 25},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor/wood,/area/outpost/abandonedpost)
+"EA" = (/obj/structure/table/woodentable,/obj/random/snack,/obj/item/reagent_containers/vessel/bottle/small/beer,/obj/item/device/radio/intercom{dir = 4; pixel_x = -22},/turf/simulated/floor/trim/wood{icon_state = "wood_broken3"},/area/outpost/abandonedpost)
+"EB" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/trim/wood{icon_state = "wood_broken4"},/area/outpost/abandonedpost)
+"EC" = (/obj/effect/decal/cleanable/blood,/obj/item/remains/human,/turf/simulated/floor/trim/wood{icon_state = "wood_broken5"},/area/outpost/abandonedpost)
+"ED" = (/obj/machinery/light/small{dir = 8},/obj/structure/bed/chair{dir = 1},/turf/simulated/floor/trim/wood,/area/outpost/abandonedpost)
+"EE" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/trim/wood,/area/outpost/abandonedpost)
+"EF" = (/obj/machinery/light_switch{pixel_x = 25},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/trim/wood{icon_state = "wood_broken6"},/area/outpost/abandonedpost)
"EG" = (/obj/structure/table/woodentable,/obj/random/toy,/turf/simulated/floor/trim/carpet,/area/outpost/abandonedpost)
"EH" = (/obj/item/bedsheet/brown,/obj/structure/bed,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/trim/carpet,/area/outpost/abandonedpost)
"EI" = (/obj/structure/bookcase,/turf/simulated/floor/misc/cult,/area/mine/explored)
"EJ" = (/obj/item/stack/flag/red,/turf/simulated/floor/misc/cult,/area/mine/explored)
-"EK" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/random/pottedplant,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor/wood,/area/outpost/abandonedpost)
-"EL" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/holofloor/wood,/area/outpost/abandonedpost)
-"EM" = (/obj/effect/decal/cleanable/spiderling_remains,/turf/simulated/floor/holofloor/wood,/area/outpost/abandonedpost)
-"EN" = (/obj/machinery/door/airlock{name = "Bedroom"},/turf/simulated/floor/holofloor/wood,/area/outpost/abandonedpost)
+"EK" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/random/pottedplant,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/trim/wood{icon_state = "wood_broken1"},/area/outpost/abandonedpost)
+"EL" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/trim/wood,/area/outpost/abandonedpost)
+"EM" = (/obj/effect/decal/cleanable/spiderling_remains,/turf/simulated/floor/trim/wood{icon_state = "wood_broken0"},/area/outpost/abandonedpost)
+"EN" = (/obj/machinery/door/airlock{name = "Bedroom"},/turf/simulated/floor/trim/carpet,/area/outpost/abandonedpost)
"EO" = (/obj/effect/decal/cleanable/generic,/turf/simulated/floor/trim/carpet,/area/outpost/abandonedpost)
"EP" = (/obj/machinery/light/small{dir = 4},/obj/random/plushie,/turf/simulated/floor/trim/carpet,/area/outpost/abandonedpost)
"EQ" = (/obj/effect/decal/remains,/obj/effect/decal/cleanable/blood,/turf/simulated/floor/misc/cult,/area/mine/explored)
@@ -1602,12 +1602,12 @@
"EX" = (/obj/structure/catwalk,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/outpost/abandonedpost)
"EY" = (/obj/structure/catwalk,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/outpost/abandonedpost)
"EZ" = (/obj/structure/catwalk,/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/effect/decal/cleanable/cobweb2{icon_state = "cobweb1"},/turf/simulated/floor/plating,/area/outpost/abandonedpost)
-"Fa" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/catwalk,/obj/machinery/atmospherics/pipe/manifold4w/visible,/turf/simulated/floor/plating,/area/outpost/abandonedpost)
+"Fa" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/catwalk,/obj/machinery/atmospherics/pipe/manifold4w/visible,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/outpost/abandonedpost)
"Fb" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/research{name = "Spectrometry Lab"; req_access = list(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/white,/area/outpost/research/hallway)
"Fc" = (/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{dir = 10},/turf/simulated/floor/plating,/area/outpost/research/power)
"Fd" = (/obj/machinery/atmospherics/pipe/simple/visible/blue{dir = 10},/obj/machinery/light{dir = 4},/obj/machinery/firealarm{dir = 4; layer = 3.3; pixel_x = 26},/turf/simulated/floor/tiled,/area/outpost/engineering/atmospherics)
"Fe" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Infirmary"; req_access = list(48)},/turf/simulated/floor/tiled/white,/area/outpost/mining_main/dorms)
-"Ff" = (/obj/structure/catwalk,/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating,/area/outpost/abandonedpost)
+"Ff" = (/obj/structure/catwalk,/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/outpost/abandonedpost)
"Fg" = (/obj/structure/bed/chair/wood,/turf/simulated/floor/misc/cult,/area/mine/explored)
"Fh" = (/obj/structure/catwalk,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/outpost/abandonedpost)
"Fi" = (/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/floor/plating,/area/outpost/abandonedpost)
@@ -1615,15 +1615,15 @@
"Fk" = (/obj/structure/catwalk,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/outpost/abandonedpost)
"Fl" = (/obj/structure/catwalk,/obj/machinery/door/airlock/glass{name = "Hydroponics"; req_access = list(48)},/turf/simulated/floor/plating,/area/outpost/abandonedpost)
"Fm" = (/obj/structure/catwalk,/obj/machinery/atmospherics/pipe/simple/visible{dir = 6},/turf/simulated/floor/plating,/area/outpost/abandonedpost)
-"Fn" = (/obj/structure/catwalk,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/visible{dir = 9},/turf/simulated/floor/plating,/area/outpost/abandonedpost)
-"Fo" = (/obj/structure/catwalk,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/outpost/abandonedpost)
-"Fp" = (/obj/machinery/power/smes/batteryrack,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/catwalk,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/outpost/abandonedpost)
+"Fn" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 9},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/outpost/abandonedpost)
+"Fo" = (/obj/structure/catwalk,/obj/machinery/power/smes/batteryrack,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/outpost/abandonedpost)
+"Fp" = (/obj/machinery/light/small{dir = 4},/obj/machinery/power/terminal{dir = 1},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/outpost/abandonedpost)
"Fq" = (/obj/effect/decal/remains,/obj/item/device/analyzer,/obj/effect/decal/cleanable/blood,/turf/simulated/floor/misc/cult,/area/mine/explored)
"Fr" = (/obj/structure/catwalk,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/outpost/abandonedpost)
"Fs" = (/obj/structure/catwalk,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/outpost/abandonedpost)
"Ft" = (/obj/structure/catwalk,/obj/machinery/atmospherics/pipe/simple/visible,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1327; master_tag = "abandoned_outpost_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = -25; req_access = newlist()},/obj/machinery/light/small{dir = 8},/obj/machinery/light_switch{pixel_x = -25},/turf/simulated/floor/plating,/area/outpost/abandonedpost)
"Fu" = (/obj/structure/catwalk,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/port_gen/pacman,/obj/item/stack/material/plasma/ten,/turf/simulated/floor/plating,/area/outpost/abandonedpost)
-"Fv" = (/obj/machinery/power/terminal{dir = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/outpost/abandonedpost)
+"Fv" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/catwalk,/turf/simulated/floor/plating,/area/outpost/abandonedpost)
"Fw" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/outpost/abandonedpost)
"Fx" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/outpost/abandonedpost)
"Fy" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/outpost/abandonedpost)
@@ -1723,7 +1723,7 @@
"Kp" = (/obj/structure/table/steel,/obj/random/medical,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/shuttle/black,/area/outpost/prydwen)
"Ks" = (/turf/simulated/shuttle/wall{icon_state = "whiteship_t"; dir = 8},/area/outpost/abandoned)
"Kx" = (/obj/structure/largecrate/hoverpod,/turf/simulated/floor/shuttle/yellow,/area/outpost/abandoned)
-"Ky" = (/obj/structure/lattice,/obj/structure/lattice,/turf/space,/area/space)
+"Ky" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/trim/wood{icon_state = "wood_broken1"},/area/outpost/abandonedpost)
"KB" = (/obj/effect/decal/remains,/obj/item/clothing/under/gorka,/obj/effect/decal/cleanable/blood,/turf/simulated/floor/asteroid,/area/mine/explored)
"KD" = (/obj/machinery/light/small/red{dir = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/dark,/area/maintenance/ghetto_syndie)
"KE" = (/obj/effect/decal/remains,/obj/item/clothing/under/gorka,/obj/effect/decal/cleanable/blood,/turf/simulated/floor/asteroid,/area/mine/unexplored)
@@ -1817,6 +1817,7 @@
"Qc" = (/obj/structure/flora/pottedplant{icon_state = "plant-21"},/turf/simulated/floor/trim/wood,/area/outpost/engineering/meeting)
"Qd" = (/obj/machinery/light{dir = 1},/obj/effect/floor_decal/industrial/warning/dust{dir = 5},/turf/simulated/floor/tiled/airless,/area/mine/explored)
"Qg" = (/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; id_tag = "engine_access_hatch"; locked = 1; req_access = list(11)},/turf/simulated/floor/shuttle/black,/area/outpost/prydwen)
+"Qh" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/trim/wood{icon_state = "wood_broken0"},/area/outpost/abandonedpost)
"Qi" = (/obj/effect/floor_decal/corner/yellow{dir = 10},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/structure/cable,/turf/simulated/floor/tiled/dark,/area/maintenance/ghetto_syndie)
"Qr" = (/obj/effect/floor_decal/industrial/warning/dust{dir = 9},/turf/simulated/floor/plating/airless,/area/mine/explored)
"QH" = (/obj/structure/grille,/obj/structure/window/shuttle{icon_state = "11"; dir = 4},/turf/simulated/floor/plating/airless,/area/outpost/abandoned)
@@ -2020,7 +2021,7 @@ pFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpF
pFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFTVPlPlPldxgudypFpFpFababahahahababababababababababababpFpFpFpFpFababababpFabababababababababababababadabababpFpFpFpwpFpFpwpFpFpFpFpFdzdzdzdzdzdAdBdCdDdEdFdGcodIdJdKdLdMaHdNdOdPbLdQdRaHdSdTdodpdpdpdpdpbhacacabababacacadacacacacabababababababababababababababacaeadgZgZgZgZgZgZgZadaeacababababababababababababababababpFpFpFpFababpFpFpFpFpFpFpFpFpFpFpFpFpF
pFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFabababababababababpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFdUcygudyabababababahahahababababababababababababpFpFpFpFpFababababababababababababababababababadadadadpFpFpwpwpFpFpwpFpFpFdzdzdzdzdzdzdzakdVdWdXdYdYdZeadYdXebecedHbefegeheiejekIbemendoeoepeqeresbhacacacacacacadadacadadacababababacacacacacacacacacacacacadadgZgZgZgZgZgZgZadaeacababababababababababababababpFpFpFpFpFabababpFpFpFpFpFpFpFpFpFpFpFpFpF
pFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFahahababababababababababahahahahababpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFJypFpFpFpFpFeteuczgudyababababababahababababababababababababababpFpFpFpFabababababababababababababababababababababadpwpwpwpFpFpFpwpFpFpFdzdzdzevdzdzdzakdVewexdTeydTezdTeAeBeCeDaHeEeFeGeHeIeJaHeKeLbhbhbhbhbhbhbhadadadadadadadadadadadacacacacabacadaeaeadadadadadadadadadadadgZgZgZgZgZadadaeacababababababababababababababpFpFpFpFpFabababpFpFpFpFpFpFpFpFpFpFpFpFpF
-pFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFahahabababababababababababababahabababababababpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFeNeOePdyhGeQdydydydyababababababababababababababababababpFpFpFpFpFababababababababababababababababababababadpFpFpFpFpFpFKypwpwpFdzdzdzdzdzdzdzakeReweSeTeUeTeVeTeWaseXeYeZJbeZeZeZaHHbaHfbfcalfdfefffgfhadadadadadadadadadadadadadadadacacacadaeaeadadadadadadadadadadadgZgZgZgZgZadadaeacababababababababababababababpFabpFpFpFpFababpFpFpFpFpFpFpFpFpFpFpFpFpF
+pFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFahahabababababababababababababahabababababababpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFeNeOePdyhGeQdydydydyababababababababababababababababababpFpFpFpFpFababababababababababababababababababababadpFpFpFpFpFpFpwpwpwpFdzdzdzdzdzdzdzakeReweSeTeUeTeVeTeWaseXeYeZJbeZeZeZaHHbaHfbfcalfdfefffgfhadadadadadadadadadadadadadadadacacacadaeaeadadadadadadadadadadadgZgZgZgZgZadadaeacababababababababababababababpFabpFpFpFpFababpFpFpFpFpFpFpFpFpFpFpFpFpF
pFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFabababababababababababababababababahahabababababababababababpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFfjfkflfmisjxbkczfldylolpdyabababababababababababababababababababpFpFpFpFabababababababababababababababababababababababababpFpFpFpFpwpFpFpFdzdzdzdzdzdAfpfqfrfsfrftfrfuftasfvfwfxfyfzfAfBalfCfDfEdTalfFfGfHfIfJfNfNfNfNfNfNfNfNfNfNfNfNfNfNfNfNfNotadaeaeadadadadadadadadadadadgZgZgZgZgZadadaeacabababababababababababababababababababababababpFpFpFpFpFpFpFpFpFpFpFpF
pFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFahabababababababababababababababababahahabababababababababababpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFfOgrfkczczczgufQflBIIqflfldyababababababababababababababababababababpFpFpFababababababababababababababababababababababababadadpFpFpFadfRfSfSfSfTfSfSfSfUKbLbfXfXfXfYasasasasfZdTgagbgcgdgealgfggghcGalgjgkglgmgngogpgpgpadadadadadadadadadaeaeaeaeaeaeaeaeadadadadadadadadadadgZgZgZgZgZgZgZadaeacababababababababababababababababababababababababpFpFpFpFpFpFpFpFpFpFpF
pFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFahahababababababababababababababababababahahababababababababababababpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFgqfOgrfOflflczgsgudyczgtdyflBJdyababababababababababababababababababababpFpFpFpFababababababababababababababababababababababababadpFpFadadfSgvgwgxgygzgwfScJgBgCgDgEgFfYgGgHgHasgIdTgJgKgLgMcLgOgPgQeXgRalalgSalalaldTgTgUgVgVgVgVgWgVgVgVgVaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeadgZgZgZgZgZgZgZadaeacababababababababababababababababababababababababpFpFpFpFpFpFpFpFpFpFpF
@@ -2185,14 +2186,14 @@ pFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFabababababababababababababababababababababababab
pFpFpFpFpFpFpFpFpFpFpFpFpFpFpFabababababababababababababababababababababababababababababababababababpFpFpFabababababadadabadadadadDRadadadadabababadabababababababababababababpFpFpFpFababababpFpFpFababababababababababadadadadabababadadadacababababababababababababababababababababababadabadabadababadabababadababababababababababababababadadadadababadadadadadadadababababadadadadababababababababababababababababababababadadadadadababababababababababababababababababababababababababababababababababpFpFpFpFpFpFpFpF
pFpFpFpFpFpFpFpFpFpFpFpFpFpFababababababababababababababababababababababababababababababababababababpFpFpFabababababadadabababadadadDSadadadDTadadadadadadabababababababababpFpFpFpFabababababpFpFpFababababababababadadadababadadabadadadadabababababababababababababababababababababababadabadadadadadadabababadabababababababababababababadadadadadabadadadadadadadadadababababadadadabababababababababababababababababababababadabadadadabababababababababababababEgEgEgEgEgEgEgEgabababababababababababpFpFpFpFpFpFpFpFpF
pFpFpFpFpFpFpFpFpFpFpFpFpFabababababababababababababababababababababababababababababababababababababpFpFpFahababababadabababDUadadDTDVDTadadDVadLWababadadababababababababababpFpFpFpFababpFpFpFpFahabababababababababadabababadadadadadabababababababababababababababababababababadadadadadadadabababadababadabadadadadadadabababababababadadadadadadadadadadadadadadadadadadabadadadadababababababababababababababababababababababababadadadababababababababababababEgEjEkEgElEmEnEgababababababababababaapFpFpFpFpFpFpFpFpF
-pFpFpFpFpFpFpFpFpFpFpFpFpFababababababababababababababababababababababababababababababababababababpFpFpFpFpFahababababababDWadadadDTadDTadadabababababadababababababahababpFpFpFpFpFpFpFpFpFpFpFadadadadabababababababadadabadadadababababababababababababababababababababababababababadadababadababababababadabababababadabababababababadadadadadadadadadadadadadadadadadadadadadadadadababababababababababababababababababababababababababadababababababababababababEgEoEpEqErErErEgEgEgEgabababababababaaaapFpFpFpFpFpFpFpF
+pFpFpFpFpFpFpFpFpFpFpFpFpFababababababababababababababababababababababababababababababababababababpFpFpFpFpFahababababababDWadadadDTadDTadadabababababadababababababahababpFpFpFpFpFpFpFpFpFpFpFadadadadabababababababadadabadadadababababababababababababababababababababababababababadadababadababababababadabababababadabababababababadadadadadadadadadadadadadadadadadadadadadadadadababababababababababababababababababababababababababadababababababababababababEgEoEpEqErQhKyEgEgEgEgabababababababaaaapFpFpFpFpFpFpFpF
pFpFpFpFpFpFpFpFpFpFpFpFpFpFpFabababababababababababababababababababababababababababababababahahpFpFpFpFpFpFahababababababDXadabDYDYDZDYDYabababababadadabababababahpFabpFpFpFpFpFpFpFpFpFpFpFpFadadadadadadabababadadadadadadadababababababababababababababababababababababadadadababadadababadabababababadadabababadabadabababababababadadadadadadadadadadadadababadadadadadadadadadadababababababababababababababababababadadadababadadadadadadabadadadadadadadacacEgEtEuEgEvErEwExEyEzEgababababababaaaapFpFpFpFpFpFpFpFpF
pFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFabababababababababababababababababababababababababababababahpFpFpFpFpFpFpFpFababababababababababDYEaEaEeDYababababadadadabababababahpFpFpFpFpFpFpFpFpFpFpFpFpFahahababadadadadabadadadadadabababababababababababababababababababababababababababadababababababadadadadadadadababadadadadadababababababababadadadadadadadadadadadadababadadadabadadadadadabababababababababababababababababadadadadadadadadadadadadadadadadadadadadadacEgEgEgEgEAEBECEgEgEgEgababababababaapFpFpFpFpFpFpFpFpFpF
pFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFabababababababababababababababababababababababababababahpFpFpFpFpFpFpFpFpFababababababababababDYEaEfEaDYababababadabababababababahpFpFpFababpFpFpFababpFpFabababababababadadadadadadabababababababababababababababababababababababababababababadababababababadababababadabababadadadababababababababababadadadadadadadadadadadadababadadababadadadadababababababababababababababababababadadadadadadadadadadadadadadadadadadadadadacacacacEgEDEEEFEgEGEHEgababababaaaapFpFpFpFpFpFpFpFpFpFpF
pFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFababababababababababababababababababababababababahpFpFpFpFpFpFpFpFabababababababababababDYEhacEiacababababadadabababababababpFpFabababpFpFababababababababababababababadadadadabababababababababababababababababababababababababababababadadababababadadababababadabababababadababababababababababadadadadadadadadadadadadabababababadadadadadababababababababababababababababababadadadadadadadadadadadadadadadadadadadadadadadacacEgEKELEMENEOEPEgabababababaapFpFpFpFpFpFpFpFpFpFpF
pFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFabababababababababababababababababababababababahpFpFpFpFpFpFpFpFabababababababababababDYEaacacacababababababababababpFpFpFpFabababpFpFpFabababababababababababababababadadabababababababababababababababababababababababababababababababadababababadabababababadadadadadadadabababababababababababadadadadadadadababadadadabababadadadadabababababababababababababababababababababadadadadadadadadadadadadadadadadadESETEUadadacacEgEgEVEgEgEgEgEgabababababaapFpFpFpFpFpFpFpFpFpFpF
-pFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFababababababababababababababababababababababababpFpFpFpFpFpFababababababababababababDYEaEsacacabababababababababpFpFpFpFpFababababpFpFpFababababababababababababababadadabababababababababababababababababababababababababababababababadababadabadabababababadabababababadabababababababababababadadadadadadadadababadadadababadadadadabababababababababababababababababababababababadadadadadadadadadadadadadadEXEpEpEpEYadadacEgEZFaFfEgEgababababababababpFpFpFpFpFpFpFpFpFpFpF
-pFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFabababababababababababpFabpFpFpFpFabababababababpFpFpFpFpFpFabababpFababababDYDYDYDYDYDYDZDYDYDYDYDYDYabababababpFpFpFpFpFabababababpFpFababababababababababababababadadabababababababababababababababababababababababababababababababadadadadadadababababababababadadadadadabababababababababababadadadadadadadadadadadadadadadababababababababababababababababababababababababababababadadadadadadadadadadadadFhFiFjFiEpFkFkFkFlFmFnFoFpEgababababababababaapFpFpFpFpFpFpFpFpFpF
+pFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFababababababababababababababababababababababababpFpFpFpFpFpFababababababababababababDYEaEsacacabababababababababpFpFpFpFpFababababpFpFpFababababababababababababababadadabababababababababababababababababababababababababababababababadababadabadabababababadabababababadabababababababababababadadadadadadadadababadadadababadadadadabababababababababababababababababababababababadadadadadadadadadadadadadadEXEpEpEpEYadadacEgEZFaFfFoEgababababababababpFpFpFpFpFpFpFpFpFpFpF
+pFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFabababababababababababpFabpFpFpFpFabababababababpFpFpFpFpFpFabababpFababababDYDYDYDYDYDYDZDYDYDYDYDYDYabababababpFpFpFpFpFabababababpFpFababababababababababababababadadabababababababababababababababababababababababababababababababadadadadadadababababababababadadadadadabababababababababababadadadadadadadadadadadadadadadababababababababababababababababababababababababababababadadadadadadadadadadadadFhFiFjFiEpFkFkFkFlFmFnEpFpEgababababababababaapFpFpFpFpFpFpFpFpFpF
pFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFababababababababababababpFpFpFpFpFpFpFpFpFababpFpFpFpFpFpFpFpFpFabpFpFpFabababDYEIEIEIEIEJEaEaEIEIEIEIDYababababpFpFpFpFpFpFabababababpFpFpFabababababababababababababadadababababababababababababadadadabababababababababababababababababababadababababababababababadabababababababababababababababababababadadadadadadadadadadadabababababababababababababababababababababababababababababadadadadadadadadadadadFrEpEpEpFsadadacEgFtEpFuFvEgababababababababaapFpFpFpFpFpFpFpFpFpF
pFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFabababababababababababpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFababababDYEaEQEaFAEaEaEaEaEaEREaDYababababpFpFpFpFpFpFpFabababpFpFpFababababababababababababababadadadababababababababadadadadadadabababababababababababababababababababadabababababababadadadadadabababababababababababababababababababababababababababababababababababababababababababababababababababababababadadabadadadadadadadadadadadadFwFxFyadadadacEgFzEgEgEgEgabababababababababpFpFpFpFpFpFpFpFpFpF
pFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFabababababababababababpFpFpFababpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFpFabababababDYEaWNEaEaEaEaEaFAEaEaEaDYabababababpFpFpFpFpFpFpFpFpFpFpFabababababababababababababababadadadadadababababadadadadadadadadabababababababababababababababababababadababadadabababababababadababababababababababababababababababababababababababababababababababababababababababababababababababababababadadadadadadadadadadadadadadadadadadadadadFBEgEgFCFDEgababababababababababababaapFpFpFpFpFpFpFpF
diff --git a/maps/eclipse/eclipse_areas.dm b/maps/eclipse/eclipse_areas.dm
index d2aadda2523..d3e7d821ec4 100644
--- a/maps/eclipse/eclipse_areas.dm
+++ b/maps/eclipse/eclipse_areas.dm
@@ -127,73 +127,6 @@
name = "\improper Swimming Pool"
icon_state = "fitness"
-/area/eclipse/civilian/dormitory/holodeck
- name = "\improper Holodeck"
- icon_state = "Holodeck"
- dynamic_lighting = 0
- sound_env = LARGE_ENCLOSED
-
-/area/eclipse/civilian/dormitory/holodeck/alphadeck
- name = "\improper Holodeck Alpha"
-
-/area/eclipse/civilian/dormitory/holodeck/source_boxingcourt
- name = "\improper Holodeck - Boxing Court"
- sound_env = ARENA
-
-/area/eclipse/civilian/dormitory/holodeck/source_desert
- name = "\improper Holodeck - Desert"
- sound_env = PLAIN
-
-/area/eclipse/civilian/dormitory/holodeck/source_picnicarea
- name = "\improper Holodeck - Picnic Area"
- sound_env = PLAIN
-
-/area/eclipse/civilian/dormitory/holodeck/source_wildlife
- name = "\improper Holodeck - Wildlife Simulation"
-
-/area/eclipse/civilian/dormitory/holodeck/source_courtroom
- name = "\improper Holodeck - Courtroom"
- sound_env = AUDITORIUM
-
-/area/eclipse/civilian/dormitory/holodeck/source_basketball
- name = "\improper Holodeck - Basketball Court"
- sound_env = ARENA
-
-/area/eclipse/civilian/dormitory/holodeck/source_plating
- name = "\improper Holodeck - Off"
-
-/area/eclipse/civilian/dormitory/holodeck/source_emptycourt
- name = "\improper Holodeck - Empty Court"
- sound_env = ARENA
-
-/area/eclipse/civilian/dormitory/holodeck/source_theatre
- name = "\improper Holodeck - Theatre"
- sound_env = CONCERT_HALL
-
-/area/eclipse/civilian/dormitory/holodeck/source_thunderdomecourt
- name = "\improper Holodeck - Thunderdome Court"
- sound_env = ARENA
-
-/area/eclipse/civilian/dormitory/holodeck/source_beach
- name = "\improper Holodeck - Beach"
- sound_env = PLAIN
-
-/area/eclipse/civilian/dormitory/holodeck/source_snowfield
- name = "\improper Holodeck - Snow Field"
- sound_env = FOREST
-
-/area/eclipse/civilian/dormitory/holodeck/source_meetinghall
- name = "\improper Holodeck - Meeting Hall"
- sound_env = AUDITORIUM
-
-/area/eclipse/civilian/dormitory/holodeck/source_space
- name = "\improper Holodeck - Space"
- has_gravity = 0
- sound_env = SPACE
-
-/area/eclipse/civilian/dormitory/holodeck/source_chess
- name = "\improper Holodeck - Chess Field"
-
// Cargo
diff --git a/maps/eclipse/eclipse_holodecks.dm b/maps/eclipse/eclipse_holodecks.dm
deleted file mode 100644
index 1923615a39b..00000000000
--- a/maps/eclipse/eclipse_holodecks.dm
+++ /dev/null
@@ -1,68 +0,0 @@
-
-/datum/map/eclipse
-
- holodeck_programs = list(
- "emptycourt" = new /datum/holodeck_program(/area/eclipse/civilian/dormitory/holodeck/source_emptycourt, list('sound/music/THUNDERDOME.ogg')),
- "boxingcourt" = new /datum/holodeck_program(/area/eclipse/civilian/dormitory/holodeck/source_boxingcourt, list('sound/music/THUNDERDOME.ogg')),
- "basketball" = new /datum/holodeck_program(/area/eclipse/civilian/dormitory/holodeck/source_basketball, list('sound/music/THUNDERDOME.ogg')),
- "thunderdomecourt" = new /datum/holodeck_program(/area/eclipse/civilian/dormitory/holodeck/source_thunderdomecourt, list('sound/music/THUNDERDOME.ogg')),
- "beach" = new /datum/holodeck_program(/area/eclipse/civilian/dormitory/holodeck/source_beach),
- "desert" = new /datum/holodeck_program(/area/eclipse/civilian/dormitory/holodeck/source_desert,
- list(
- 'sound/effects/wind/wind_2_1.ogg',
- 'sound/effects/wind/wind_2_2.ogg',
- 'sound/effects/wind/wind_3_1.ogg',
- 'sound/effects/wind/wind_4_1.ogg',
- 'sound/effects/wind/wind_4_2.ogg',
- 'sound/effects/wind/wind_5_1.ogg'
- )
- ),
- "snowfield" = new /datum/holodeck_program(/area/eclipse/civilian/dormitory/holodeck/source_snowfield,
- list(
- 'sound/effects/wind/wind_2_1.ogg',
- 'sound/effects/wind/wind_2_2.ogg',
- 'sound/effects/wind/wind_3_1.ogg',
- 'sound/effects/wind/wind_4_1.ogg',
- 'sound/effects/wind/wind_4_2.ogg',
- 'sound/effects/wind/wind_5_1.ogg'
- )
- ),
- "space" = new /datum/holodeck_program(/area/eclipse/civilian/dormitory/holodeck/source_space,
- list(SFX_AMBIENT_SPACE)
- ),
- "picnicarea" = new /datum/holodeck_program(/area/eclipse/civilian/dormitory/holodeck/source_picnicarea, list('sound/music/classic/title2.ogg')),
- "theatre" = new /datum/holodeck_program(/area/eclipse/civilian/dormitory/holodeck/source_theatre),
- "meetinghall" = new /datum/holodeck_program(/area/eclipse/civilian/dormitory/holodeck/source_meetinghall),
- "courtroom" = new /datum/holodeck_program(/area/eclipse/civilian/dormitory/holodeck/source_courtroom, list('sound/music/classic/traitor.ogg')),
- "wildlifecarp" = new /datum/holodeck_program(/area/eclipse/civilian/dormitory/holodeck/source_wildlife, list()),
- "chess" = new /datum/holodeck_program(/area/eclipse/civilian/dormitory/holodeck/source_chess, list()),
- "turnoff" = new /datum/holodeck_program(/area/eclipse/civilian/dormitory/holodeck/source_plating, list())
- )
-
- holodeck_supported_programs = list(
-
- "EclipseMainPrograms" = list(
- "Empty Court" = "emptycourt",
- "Basketball Court" = "basketball",
- "Thunderdome Court" = "thunderdomecourt",
- "Boxing Ring" = "boxingcourt",
- "Beach" = "beach",
- "Desert" = "desert",
- "Space" = "space",
- "Picnic Area" = "picnicarea",
- "Snow Field" = "snowfield",
- "Theatre" = "theatre",
- "Meeting Hall" = "meetinghall",
- "Courtroom" = "courtroom",
- "Chess Field" = "chess"
- )
-
- )
-
- holodeck_restricted_programs = list(
-
- "EclipseMainPrograms" = list(
- "Wildlife Simulation" = "wildlifecarp"
- )
-
- )
diff --git a/maps/entrepot/entrepot-1.dmm b/maps/entrepot/entrepot-1.dmm
new file mode 100644
index 00000000000..de8405d9c17
--- /dev/null
+++ b/maps/entrepot/entrepot-1.dmm
@@ -0,0 +1,1048 @@
+"aa" = (/turf/space,/area/space)
+"ab" = (/obj/structure/lattice,/turf/space,/area/space)
+"ac" = (/turf/simulated/wall/r_wall,/area/entrepot/cafe_1)
+"ad" = (/obj/structure/window_frame/reinforced/hull,/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/entrepot/cafe_1)
+"ae" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/entrepot/cafe_1)
+"af" = (/obj/machinery/cooker/oven,/turf/simulated/floor/tiled/white,/area/entrepot/cafe_1)
+"ag" = (/obj/machinery/cooker/grill,/obj/machinery/camera/network/civilian_west{c_tag = "Refectory Module 1F - Kitchen"},/turf/simulated/floor/tiled/white,/area/entrepot/cafe_1)
+"ah" = (/obj/machinery/cooker/fryer,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/white,/area/entrepot/cafe_1)
+"ai" = (/obj/structure/table/marble,/obj/item/material/knife/butch,/obj/item/material/kitchen/rollingpin,/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled/white,/area/entrepot/cafe_1)
+"aj" = (/obj/structure/table/marble,/obj/item/material/knife/kitchen,/turf/simulated/floor/tiled/white,/area/entrepot/cafe_1)
+"ak" = (/obj/structure/table/marble,/obj/machinery/reagentgrinder{pixel_y = 10},/turf/simulated/floor/tiled/white,/area/entrepot/cafe_1)
+"al" = (/obj/machinery/chem_master/condimaster{name = "CondiMaster Neo"},/obj/machinery/camera/network/civilian_west{c_tag = "Refectory Module 1F - Freezer"},/turf/simulated/floor/tiled/freezer,/area/entrepot/cafe_1)
+"am" = (/obj/structure/closet/secure_closet/freezer/fridge,/obj/item/reagent_containers/vessel/plastic/milk,/obj/item/reagent_containers/vessel/plastic/milk,/obj/item/reagent_containers/vessel/plastic/soymilk,/obj/item/reagent_containers/vessel/plastic/soymilk,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/freezer,/area/entrepot/cafe_1)
+"an" = (/obj/structure/closet/secure_closet/freezer/meat,/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled/freezer,/area/entrepot/cafe_1)
+"ao" = (/turf/simulated/wall,/area/entrepot/cafe_1)
+"ap" = (/turf/simulated/floor/tiled/white,/area/entrepot/cafe_1)
+"aq" = (/obj/machinery/icecream_vat,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/white,/area/entrepot/cafe_1)
+"ar" = (/turf/simulated/floor/tiled/freezer,/area/entrepot/cafe_1)
+"as" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled/freezer,/area/entrepot/cafe_1)
+"at" = (/obj/structure/table/marble,/obj/machinery/cooker/cereal{pixel_y = 6},/obj/item/reagent_containers/vessel/plastic/milk,/turf/simulated/floor/tiled/white,/area/entrepot/cafe_1)
+"au" = (/obj/structure/table/marble,/obj/machinery/cooker/candy{pixel_y = 6},/obj/item/storage/fancy/egg_box,/turf/simulated/floor/tiled/freezer,/area/entrepot/cafe_1)
+"av" = (/obj/structure/sink/kitchen{dir = 8; pixel_x = 18},/obj/machinery/alarm{dir = 8; pixel_x = 24},/turf/simulated/floor/tiled/white,/area/entrepot/cafe_1)
+"aw" = (/obj/machinery/slot_machine,/obj/effect/floor_decal/siding/wood{dir = 1},/obj/effect/floor_decal/siding/wood{dir = 8},/turf/simulated/floor/trim/darkwood,/area/entrepot/cafe_1)
+"ax" = (/obj/item/stool/bar/padded,/obj/effect/floor_decal/siding/wood{dir = 1},/turf/simulated/floor/trim/darkwood,/area/entrepot/cafe_1)
+"ay" = (/obj/effect/floor_decal/siding/wood{dir = 4},/obj/effect/floor_decal/siding/wood{dir = 1},/turf/simulated/floor/trim/darkwood,/area/entrepot/cafe_1)
+"az" = (/obj/structure/bed/couch/right/sofa,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_1)
+"aA" = (/obj/structure/bed/couch/left/sofa,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_1)
+"aB" = (/obj/machinery/vending/dinnerware,/turf/simulated/floor/tiled/freezer,/area/entrepot/cafe_1)
+"aC" = (/obj/structure/kitchenspike,/turf/simulated/floor/tiled/freezer,/area/entrepot/cafe_1)
+"aD" = (/obj/machinery/smartfridge,/turf/simulated/wall,/area/entrepot/cafe_1)
+"aE" = (/obj/structure/table/woodentable,/obj/item/reagent_containers/vessel/coffeepot,/obj/item/reagent_containers/vessel/teapot,/obj/item/reagent_containers/vessel/pitcher,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_1)
+"aF" = (/obj/structure/table/woodentable,/obj/machinery/reagentgrinder{pixel_y = 10},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_1)
+"aG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/junction,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_1)
+"aH" = (/obj/machinery/slot_machine,/obj/effect/floor_decal/siding/wood{dir = 8},/obj/machinery/light/small/hl{dir = 8},/turf/simulated/floor/trim/darkwood,/area/entrepot/cafe_1)
+"aI" = (/obj/item/stool/bar/padded,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/trim/darkwood,/area/entrepot/cafe_1)
+"aJ" = (/obj/effect/floor_decal/siding/wood{dir = 4},/turf/simulated/floor/trim/darkwood,/area/entrepot/cafe_1)
+"aK" = (/obj/structure/table/darkwood_reinforced,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_1)
+"aL" = (/obj/structure/table/darkwood_reinforced,/obj/item/material/ashtray/bronze{pixel_x = -10},/obj/item/device/flashlight/lamp/brown{pixel_x = 4; pixel_y = 6},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_1)
+"aM" = (/obj/structure/closet/crate/freezer,/obj/item/reagent_containers/food/meat,/obj/item/reagent_containers/food/meat,/obj/item/reagent_containers/food/meat,/turf/simulated/floor/tiled/freezer,/area/entrepot/cafe_1)
+"aN" = (/obj/machinery/gibber,/turf/simulated/floor/tiled/freezer,/area/entrepot/cafe_1)
+"aO" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/tiled/white,/area/entrepot/cafe_1)
+"aP" = (/obj/structure/table/marble,/obj/machinery/microwave,/obj/machinery/light,/turf/simulated/floor/tiled/white,/area/entrepot/cafe_1)
+"aQ" = (/obj/structure/table/marble,/obj/item/storage/box/donkpockets,/turf/simulated/floor/tiled/white,/area/entrepot/cafe_1)
+"aR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/entrepot/cafe_1)
+"aS" = (/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_1)
+"aT" = (/obj/machinery/media/jukebox,/obj/effect/floor_decal/siding/wood{dir = 8},/turf/simulated/floor/trim/darkwood,/area/entrepot/cafe_1)
+"aU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/disposalpipe/segment{icon_state = "pipe-c"; dir = 4},/turf/simulated/floor/tiled/white,/area/entrepot/cafe_1)
+"aV" = (/obj/structure/bed/couch/left/sofa{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_1)
+"aW" = (/obj/structure/bed/couch/right/sofa{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_1)
+"aX" = (/obj/machinery/door/airlock/freezer{name = "Kitchen cold room"; req_access = list(28)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/firedoor,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_1)
+"aY" = (/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/white,/area/entrepot/cafe_1)
+"aZ" = (/obj/structure/table/darkwood_reinforced,/obj/effect/floor_decal/siding/wood{dir = 8},/obj/item/flame/lighter/zippo,/obj/item/music_tape_box/jazz,/obj/item/music_tape_box/exodus,/obj/item/music_tape_box/frontier,/obj/effect/landmark/roundstart/monkeyportrait{pixel_y = 28},/obj/effect/floor_decal/siding/wood{dir = 1},/turf/simulated/floor/trim/darkwood,/area/entrepot/cafe_1)
+"ba" = (/obj/item/stool/bar_new/padded,/obj/effect/floor_decal/siding/wood/corner{dir = 1},/turf/simulated/floor/trim/darkwood,/area/entrepot/cafe_1)
+"bb" = (/obj/machinery/seed_extractor,/turf/simulated/floor/tiled/freezer,/area/entrepot/cafe_1)
+"bc" = (/obj/structure/closet/crate/hydroponics/prespawned,/obj/machinery/camera/network/civilian_west{c_tag = "Refectory Module 1F - Growing Room"},/turf/simulated/floor/tiled/freezer,/area/entrepot/cafe_1)
+"bd" = (/obj/structure/reagent_dispensers/watertank,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4; layer = 2.4; level = 2},/turf/simulated/floor/tiled/freezer,/area/entrepot/cafe_1)
+"be" = (/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/floor/tiled/freezer,/area/entrepot/cafe_1)
+"bf" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{icon_state = "conpipe-c"; dir = 2},/turf/simulated/floor/tiled/white,/area/entrepot/cafe_1)
+"bg" = (/obj/structure/table/woodentable,/obj/machinery/chemical_dispenser/bar_soft/full,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_1)
+"bh" = (/obj/structure/table/darkwood_reinforced,/obj/effect/floor_decal/siding/wood{dir = 8},/turf/simulated/floor/trim/darkwood,/area/entrepot/cafe_1)
+"bi" = (/obj/item/stool/bar_new/padded,/turf/simulated/floor/trim/darkwood,/area/entrepot/cafe_1)
+"bj" = (/obj/structure/table/woodentable,/obj/machinery/chemical_dispenser/bar_alc/full,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_1)
+"bk" = (/obj/effect/floor_decal/siding/wood{dir = 8},/obj/structure/table/darkwood_reinforced,/turf/simulated/floor/trim/darkwood,/area/entrepot/cafe_1)
+"bl" = (/obj/machinery/vending/hydronutrients,/turf/simulated/floor/tiled/freezer,/area/entrepot/cafe_1)
+"bm" = (/obj/machinery/seed_storage,/obj/machinery/light/he,/turf/simulated/floor/tiled/freezer,/area/entrepot/cafe_1)
+"bn" = (/obj/structure/reagent_dispensers/composttank,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/freezer,/area/entrepot/cafe_1)
+"bo" = (/obj/machinery/vending/boozeomat,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_1)
+"bp" = (/obj/structure/table/darkwood_reinforced,/obj/effect/floor_decal/siding/wood{dir = 8},/obj/item/material/ashtray/bronze,/turf/simulated/floor/trim/darkwood,/area/entrepot/cafe_1)
+"bq" = (/obj/structure/flora/ausbushes/ppflowers,/obj/effect/floor_decal/spline/plain/black{dir = 9},/turf/simulated/floor/natural/grass,/area/entrepot/deck_1)
+"br" = (/obj/structure/flora/ausbushes/brflowers,/obj/effect/floor_decal/spline/plain/black{dir = 1},/obj/structure/bed/pew/pewchapel/left,/turf/simulated/floor/natural/grass,/area/entrepot/deck_1)
+"bs" = (/obj/item/stool/padded,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_1)
+"bt" = (/obj/structure/synthesized_instrument/synthesizer/minimoog/chaotic{icon_state = "minipiano_right"; dir = 8},/obj/machinery/light/small/hl{dir = 4},/obj/machinery/camera/network/civilian_west{dir = 8; c_tag = "Refectory Module 1F"},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_1)
+"bu" = (/obj/machinery/status_display,/turf/simulated/wall,/area/entrepot/cafe_1)
+"bv" = (/obj/effect/floor_decal/siding/wood{dir = 4},/obj/structure/table/darkwood_reinforced,/obj/item/plant_pot/stoutbush,/obj/item/device/synthesized_instrument/guitar,/obj/machinery/light/small/hl{dir = 8},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_1)
+"bw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/entrepot/cafe_1)
+"bx" = (/obj/structure/table/darkwood_reinforced,/obj/effect/floor_decal/siding/wood{dir = 1},/obj/item/reagent_containers/rag,/turf/simulated/floor/trim/darkwood,/area/entrepot/cafe_1)
+"by" = (/obj/structure/table/darkwood_reinforced,/obj/effect/floor_decal/siding/wood/corner{dir = 1},/obj/item/storage/box/donut,/turf/simulated/floor/trim/darkwood,/area/entrepot/cafe_1)
+"bz" = (/obj/effect/floor_decal/siding/wood/corner{dir = 4},/turf/simulated/floor/trim/darkwood,/area/entrepot/cafe_1)
+"bA" = (/obj/effect/floor_decal/siding/wood{dir = 1},/turf/simulated/floor/trim/darkwood,/area/entrepot/cafe_1)
+"bB" = (/obj/structure/flora/ausbushes/ppflowers,/obj/effect/floor_decal/spline/plain/black{dir = 1},/obj/structure/bed/pew/pewchapel/middle,/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/light/he{dir = 1},/turf/simulated/floor/natural/grass,/area/entrepot/deck_1)
+"bC" = (/obj/structure/window_frame/reinforced/hull,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/entrepot/engi_1)
+"bD" = (/obj/effect/floor_decal/siding/wood{dir = 1},/obj/effect/floor_decal/siding/wood{dir = 4},/obj/machinery/alarm{dir = 8; pixel_x = 24},/turf/simulated/floor/trim/darkwood,/area/entrepot/cafe_1)
+"bE" = (/obj/structure/bed/couch/left/blue,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_1)
+"bF" = (/obj/structure/bed/couch/right/blue,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_1)
+"bG" = (/obj/machinery/recharge_station,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled/dark,/area/entrepot/cafe_1)
+"bH" = (/obj/machinery/door/airlock,/turf/simulated/floor/tiled/dark,/area/entrepot/cafe_1)
+"bI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled/dark,/area/entrepot/cafe_1)
+"bJ" = (/obj/machinery/atmospherics/pipe/simple/visible/black,/obj/structure/window_frame/reinforced/hull,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/entrepot/engi_1)
+"bK" = (/obj/structure/flora/ausbushes/leafybush,/obj/effect/floor_decal/spline/plain/black{dir = 1},/obj/structure/bed/pew/pewchapel/right,/turf/simulated/floor/natural/grass,/area/entrepot/deck_1)
+"bL" = (/obj/structure/sink{dir = 4; pixel_x = 10},/obj/structure/mirror{pixel_x = 28},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/dark,/area/entrepot/cafe_1)
+"bM" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_1)
+"bN" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/disposalpipe/segment{icon_state = "pipe-c"; dir = 1},/turf/simulated/floor/tiled/white,/area/entrepot/cafe_1)
+"bO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled/dark,/area/entrepot/cafe_1)
+"bP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark,/area/entrepot/cafe_1)
+"bQ" = (/obj/effect/floor_decal/siding/wood,/turf/simulated/floor/trim/darkwood,/area/entrepot/cafe_1)
+"bR" = (/turf/simulated/wall/r_wall,/area/entrepot/crew_1/dorm)
+"bS" = (/obj/structure/window_frame/reinforced/hull,/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/entrepot/crew_1/dorm)
+"bT" = (/obj/structure/closet/secure_closet/personal/empty,/obj/structure/window/reinforced,/obj/effect/floor_decal/spline/plain/black{dir = 9},/obj/item/clothing/under/pj/blue,/obj/item/clothing/shoes/slippers,/turf/simulated/floor/trim/lino,/area/entrepot/crew_1/dorm)
+"bU" = (/obj/structure/table/darkwood_reinforced,/obj/item/reagent_containers/vessel/bottle/syrup_bottle/caramel{pixel_x = 7; pixel_y = 6},/obj/item/reagent_containers/vessel/bottle/syrup_bottle/liqueur{pixel_x = 17; pixel_y = 6},/obj/structure/coffee_condi_display{pixel_x = -6; pixel_y = 4},/obj/effect/floor_decal/siding/wood,/obj/structure/railing/darkwood,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_1)
+"bV" = (/obj/structure/table/darkwood_reinforced,/obj/machinery/coffeemaker{pixel_x = 4; pixel_y = 3},/obj/effect/floor_decal/siding/wood,/obj/structure/railing/darkwood,/obj/effect/floor_decal/siding/wood{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_1)
+"bW" = (/obj/structure/sign/warning/smoking,/turf/simulated/wall,/area/entrepot/cafe_1)
+"bX" = (/obj/item/stool/bar,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_1)
+"bY" = (/obj/structure/toilet{dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled/dark,/area/entrepot/cafe_1)
+"bZ" = (/obj/machinery/vending/cigars,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_1)
+"ca" = (/obj/effect/floor_decal/siding/wood,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/cable{icon_state = "2-4"; d2 = 4; d1 = 2},/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 4},/turf/simulated/floor/trim/darkwood,/area/entrepot/cafe_1)
+"cb" = (/obj/machinery/vending/coffee,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_1)
+"cc" = (/obj/structure/railing/darkwood,/turf/simulated/floor/trim/darkwood,/area/entrepot/cafe_1)
+"cd" = (/obj/structure/window_frame/reinforced/hull,/obj/machinery/door/firedoor,/turf/simulated/floor/shuttle/blue,/area/entrepot/deck_1)
+"ce" = (/obj/structure/closet/emcloset,/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_1)
+"cf" = (/obj/effect/floor_decal/spline/plain/black{dir = 8},/turf/simulated/floor/tiled/dark,/area/entrepot/deck_1)
+"cg" = (/obj/effect/floor_decal/spline/plain/black{dir = 4},/turf/simulated/floor/tiled/dark,/area/entrepot/deck_1)
+"ch" = (/obj/structure/bed/chair/black,/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_1)
+"ci" = (/obj/structure/table/standard,/obj/machinery/cell_charger,/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_1)
+"cj" = (/obj/structure/bed/chair/black{dir = 1},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_1)
+"ck" = (/obj/structure/table/standard,/obj/machinery/recharger,/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_1)
+"cl" = (/obj/structure/window_frame/grille,/turf/simulated/wall/r_wall,/area/entrepot/engi_1)
+"cm" = (/obj/structure/bed/chair/black{dir = 4},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_1)
+"cn" = (/obj/structure/bed/chair/black{dir = 8},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_1)
+"co" = (/turf/simulated/floor/reinforced/nitrogen,/area/entrepot/engi_1)
+"cp" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/reinforced/nitrogen,/area/entrepot/engi_1)
+"cq" = (/turf/simulated/floor/reinforced/oxygen,/area/entrepot/engi_1)
+"cr" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/reinforced/oxygen,/area/entrepot/engi_1)
+"cs" = (/turf/simulated/floor/reinforced/airmix,/area/entrepot/engi_1)
+"ct" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/reinforced/airmix,/area/entrepot/engi_1)
+"cu" = (/obj/machinery/portable_atmospherics/canister/empty/nitrogen,/turf/simulated/floor/reinforced/nitrogen,/area/entrepot/engi_1)
+"cv" = (/obj/machinery/portable_atmospherics/canister/empty/oxygen,/turf/simulated/floor/reinforced/oxygen,/area/entrepot/engi_1)
+"cw" = (/obj/machinery/portable_atmospherics/canister/empty/air,/turf/simulated/floor/reinforced/airmix,/area/entrepot/engi_1)
+"cx" = (/obj/structure/flora/ausbushes/ywflowers,/obj/effect/floor_decal/spline/plain/black{dir = 5},/obj/structure/railing/steel{dir = 4},/turf/simulated/floor/natural/grass,/area/entrepot/deck_1)
+"cy" = (/obj/machinery/atmospherics/unary/outlet_injector{frequency = 1441; id = "n2_in"; use_power = 1},/turf/simulated/floor/reinforced/nitrogen,/area/entrepot/engi_1)
+"cz" = (/obj/machinery/air_sensor{frequency = 1441; id_tag = "n2_sensor"},/turf/simulated/floor/reinforced/nitrogen,/area/entrepot/engi_1)
+"cA" = (/obj/machinery/atmospherics/unary/vent_pump{icon_state = "map_vent_in"; frequency = 1441; use_power = 1; id_tag = "n2_out"; pump_direction = 0; external_pressure_bound = 0; pressure_checks = 2; internal_pressure_bound = 4000; external_pressure_bound_default = 0; internal_pressure_bound_default = 4000; pressure_checks_default = 2; initialize_directions = 1},/turf/simulated/floor/reinforced/nitrogen,/area/entrepot/engi_1)
+"cB" = (/obj/machinery/atmospherics/unary/outlet_injector{frequency = 1441; id = "o2_in"; use_power = 1},/turf/simulated/floor/reinforced/oxygen,/area/entrepot/engi_1)
+"cC" = (/obj/machinery/air_sensor{frequency = 1441; id_tag = "o2_sensor"},/turf/simulated/floor/reinforced/oxygen,/area/entrepot/engi_1)
+"cD" = (/obj/machinery/atmospherics/unary/vent_pump{icon_state = "map_vent_in"; frequency = 1441; use_power = 1; id_tag = "o2_out"; pump_direction = 0; external_pressure_bound = 0; pressure_checks = 2; internal_pressure_bound = 4000; external_pressure_bound_default = 0; internal_pressure_bound_default = 4000; pressure_checks_default = 2; initialize_directions = 1},/turf/simulated/floor/reinforced/oxygen,/area/entrepot/engi_1)
+"cE" = (/obj/machinery/atmospherics/unary/outlet_injector{frequency = 1443; id = "air_in"; use_power = 1},/turf/simulated/floor/reinforced/airmix,/area/entrepot/engi_1)
+"cF" = (/obj/machinery/air_sensor{frequency = 1443; output = 7; id_tag = "air_sensor"},/turf/simulated/floor/reinforced/airmix,/area/entrepot/engi_1)
+"cG" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{icon_state = "map_vent_in"; frequency = 1443; use_power = 1; id_tag = "air_out"; pump_direction = 0; external_pressure_bound = 0; pressure_checks = 2; internal_pressure_bound = 2000; external_pressure_bound_default = 0; internal_pressure_bound_default = 2000; pressure_checks_default = 2},/turf/simulated/floor/reinforced/airmix,/area/entrepot/engi_1)
+"cH" = (/turf/simulated/floor/tiled/dark,/area/entrepot/deck_1)
+"cI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/entrepot/cafe_1)
+"cJ" = (/obj/structure/flora/ausbushes/ppflowers,/obj/effect/floor_decal/spline/plain/black{dir = 9},/obj/structure/railing/steel{dir = 8},/turf/simulated/floor/natural/grass,/area/entrepot/deck_1)
+"cK" = (/obj/structure/flora/ausbushes/ywflowers,/obj/effect/floor_decal/spline/plain/black{dir = 1},/obj/structure/bed/pew/pewchapel/left,/turf/simulated/floor/natural/grass,/area/entrepot/deck_1)
+"cL" = (/obj/structure/flora/ausbushes/sparsegrass,/obj/effect/floor_decal/spline/plain/black{dir = 1},/obj/structure/bed/pew/pewchapel/middle,/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/light/he{dir = 1},/turf/simulated/floor/natural/grass,/area/entrepot/deck_1)
+"cM" = (/obj/structure/flora/ausbushes/brflowers,/obj/effect/floor_decal/spline/plain/black{dir = 1},/obj/structure/bed/pew/pewchapel/right,/turf/simulated/floor/natural/grass,/area/entrepot/deck_1)
+"cN" = (/obj/structure/flora/ausbushes/ppflowers,/obj/effect/floor_decal/spline/plain/black{dir = 5},/turf/simulated/floor/natural/grass,/area/entrepot/deck_1)
+"cO" = (/obj/structure/window_frame/reinforced/hull,/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/entrepot/deck_1)
+"cP" = (/obj/structure/flora/ausbushes/sparsegrass,/obj/effect/floor_decal/spline/plain/black{dir = 10},/turf/simulated/floor/natural/grass,/area/entrepot/deck_1)
+"cQ" = (/obj/structure/flora/ausbushes/ywflowers,/obj/effect/floor_decal/spline/plain/black,/turf/simulated/floor/natural/grass,/area/entrepot/deck_1)
+"cR" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/structure/window_frame/reinforced,/turf/simulated/wall/r_wall,/area/entrepot/engi_1)
+"cS" = (/obj/machinery/door/firedoor/border_only,/obj/structure/window_frame/reinforced/hull,/turf/simulated/floor/plating,/area/entrepot/engi_1)
+"cT" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/visible/yellow,/obj/structure/window_frame/reinforced,/turf/simulated/wall/r_wall,/area/entrepot/engi_1)
+"cU" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/machinery/atmospherics/binary/pump/on{name = "Air to Supply"; dir = 1},/obj/structure/window_frame/reinforced,/turf/simulated/wall/r_wall,/area/entrepot/engi_1)
+"cV" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/meter{name = "Mixed Air Tank Out"; frequency = 1443; id = "mair_out_meter"},/obj/structure/window_frame/reinforced,/turf/simulated/wall/r_wall,/area/entrepot/engi_1)
+"cW" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/meter{name = "Mixed Air Tank In"; frequency = 1443; id = "mair_in_meter"},/obj/structure/window_frame/reinforced,/turf/simulated/wall/r_wall,/area/entrepot/engi_1)
+"cX" = (/obj/structure/flora/ausbushes/ppflowers,/obj/effect/floor_decal/spline/plain/black,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/natural/grass,/area/entrepot/deck_1)
+"cY" = (/obj/structure/flora/ausbushes/brflowers,/obj/effect/floor_decal/spline/plain/black,/turf/simulated/floor/natural/grass,/area/entrepot/deck_1)
+"cZ" = (/obj/structure/flora/ausbushes/sparsegrass,/obj/effect/floor_decal/spline/plain/black{dir = 6},/obj/structure/railing/steel{dir = 4},/turf/simulated/floor/natural/grass,/area/entrepot/deck_1)
+"da" = (/obj/effect/floor_decal/stairs{dir = 1},/obj/effect/floor_decal/spline/plain/black,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/deck_1)
+"db" = (/obj/effect/floor_decal/siding/wood,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/structure/cable{icon_state = "2-8"; d2 = 8; d1 = 2},/obj/structure/disposalpipe/junction,/turf/simulated/floor/trim/darkwood,/area/entrepot/cafe_1)
+"dc" = (/obj/structure/flora/ausbushes/leafybush,/obj/effect/floor_decal/spline/plain/black{dir = 10},/obj/structure/railing/steel{dir = 8},/turf/simulated/floor/natural/grass,/area/entrepot/deck_1)
+"dd" = (/obj/structure/stairs/east,/obj/structure/railing/darkwood,/turf/simulated/floor/trim/darkwood,/area/entrepot/cafe_1)
+"de" = (/obj/structure/flora/ausbushes/brflowers,/obj/effect/floor_decal/spline/plain/black{dir = 6},/turf/simulated/floor/natural/grass,/area/entrepot/deck_1)
+"df" = (/turf/simulated/floor/tiled/dark/rough,/area/entrepot/deck_1)
+"dg" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/black,/turf/space,/area/entrepot/engi_1)
+"dh" = (/obj/structure/lattice,/turf/space,/area/entrepot/engi_1)
+"di" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/space,/area/entrepot/engi_1)
+"dj" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/blue,/turf/space,/area/entrepot/engi_1)
+"dk" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/trim/darkwood,/area/entrepot/cafe_1)
+"dl" = (/obj/structure/cable{icon_state = "2-4"; d2 = 4; d1 = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_1)
+"dm" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{dir = 8},/obj/structure/window_frame/reinforced/hull,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/entrepot/engi_1)
+"dn" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 10},/obj/structure/window_frame/reinforced/hull,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/entrepot/engi_1)
+"do" = (/obj/machinery/atmospherics/pipe/simple/visible/blue,/obj/structure/window_frame/reinforced/hull,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/entrepot/engi_1)
+"dp" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/structure/window_frame/reinforced/hull,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/entrepot/engi_1)
+"dq" = (/turf/simulated/wall/r_wall,/area/entrepot/engi_1)
+"dr" = (/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"ds" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/disposalpipe/segment{icon_state = "pipe-c"; dir = 4},/turf/simulated/floor/trim/darkwood,/area/entrepot/cafe_1)
+"dt" = (/turf/simulated/wall/r_wall,/area/entrepot/cargo)
+"du" = (/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_1)
+"dv" = (/obj/machinery/door/airlock/glass,/obj/machinery/door/firedoor,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/deck_1)
+"dw" = (/obj/structure/flora/ausbushes/ppflowers,/obj/effect/floor_decal/spline/plain/black,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/natural/grass,/area/entrepot/deck_1)
+"dx" = (/obj/machinery/atmospherics/pipe/simple/visible/black,/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"dy" = (/obj/machinery/computer/general_air_control/large_tank_control{name = "Nitrogen Supply Control"; sensors = list(n2_sensor="Tank"); input_tag = "n2_in"; output_tag = "n2_out"},/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"dz" = (/obj/machinery/atmospherics/valve/digital/open{name = "Nitrogen Outlet Valve"},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"dA" = (/obj/machinery/atmospherics/binary/pump{name = "N2 to Connector"},/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"dB" = (/obj/machinery/computer/general_air_control/large_tank_control{name = "Oxygen Supply Control"; sensors = list(o2_sensor="Tank"); input_tag = "o2_in"; output_tag = "o2_out"},/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"dC" = (/obj/machinery/atmospherics/valve/digital/open{name = "Oxygen Outlet Valve"},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"dD" = (/obj/machinery/atmospherics/binary/pump{name = "O2 to Connector"},/obj/machinery/camera/network/engineering{c_tag = "Atmospherics Tank - Air"},/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"dE" = (/obj/machinery/atmospherics/pipe/simple/visible/blue,/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"dF" = (/obj/machinery/computer/general_air_control/large_tank_control{name = "Mixed Air Supply Control"; frequency = 1443; sensors = list(air_sensor="Tank"); input_tag = "air_in"; output_tag = "air_out"; pressure_setting = 2000},/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"dG" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{dir = 8},/obj/machinery/meter,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"dH" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 10},/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"dI" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"dJ" = (/obj/effect/floor_decal/techgrid,/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_1)
+"dK" = (/obj/effect/floor_decal/techgrid,/obj/effect/floor_decal/techgrid{dir = 8},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_1)
+"dL" = (/obj/effect/floor_decal/techgrid{dir = 8},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_1)
+"dM" = (/obj/machinery/door/airlock/glass,/obj/machinery/door/firedoor,/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_1)
+"dN" = (/obj/structure/closet/crate/internals,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled/dirty,/area/entrepot/cargo)
+"dO" = (/turf/simulated/floor/tiled/dirty,/area/entrepot/cargo)
+"dP" = (/obj/structure/closet/crate/freezer/rations,/obj/effect/floor_decal/industrial/outline/yellow,/obj/item/reagent_containers/food/liquidfood,/obj/item/reagent_containers/food/liquidfood,/obj/item/reagent_containers/food/liquidfood,/obj/item/reagent_containers/food/liquidfood,/obj/item/reagent_containers/food/liquidfood,/obj/item/reagent_containers/food/liquidfood,/obj/item/reagent_containers/food/liquidfood,/obj/item/reagent_containers/food/liquidfood,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/dirty,/area/entrepot/cargo)
+"dQ" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow,/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"dR" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"dS" = (/obj/machinery/atmospherics/pipe/simple/visible/black,/obj/machinery/meter,/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"dT" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 6},/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"dU" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 9},/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"dV" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 6},/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"dW" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 9},/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"dX" = (/obj/structure/closet/crate/rcd,/obj/effect/floor_decal/industrial/outline/yellow,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/turf/simulated/floor/tiled/dirty,/area/entrepot/cargo)
+"dY" = (/obj/structure/table/rack,/obj/effect/floor_decal/industrial/outline/yellow,/obj/item/storage/box/monkeycubes,/obj/item/storage/box/monkeycubes,/obj/item/inflatable_dispenser,/obj/item/storage/briefcase/inflatable,/obj/item/storage/briefcase/inflatable,/turf/simulated/floor/tiled/dirty,/area/entrepot/cargo)
+"dZ" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/portable_atmospherics/canister/oxygen,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/dirty,/area/entrepot/cargo)
+"ea" = (/obj/structure/table/rack,/obj/effect/floor_decal/industrial/outline/yellow,/obj/item/tank/jetpack,/obj/item/tank/jetpack,/obj/item/tank/jetpack,/obj/item/tank/oxygen,/obj/item/tank/oxygen,/obj/item/tank/oxygen,/obj/item/tank/oxygen,/obj/item/tank/oxygen,/obj/item/tank/oxygen,/obj/item/tank/oxygen,/obj/item/tank/oxygen,/turf/simulated/floor/tiled/dirty,/area/entrepot/cargo)
+"eb" = (/obj/structure/flora/ausbushes/sparsegrass,/obj/effect/floor_decal/spline/plain/black{dir = 10},/obj/effect/floor_decal/spline/plain/black{dir = 1},/turf/simulated/floor/natural/grass,/area/entrepot/deck_1)
+"ec" = (/obj/structure/flora/ausbushes/brflowers,/obj/effect/floor_decal/spline/plain/black{dir = 5},/obj/effect/floor_decal/spline/plain/corner/black{dir = 8},/turf/simulated/floor/natural/grass,/area/entrepot/deck_1)
+"ed" = (/obj/structure/cable{icon_state = "2-4"; d2 = 4; d1 = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/disposalpipe/segment{icon_state = "pipe-c"; dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/deck_1)
+"ee" = (/obj/effect/floor_decal/techgrid,/obj/effect/floor_decal/techgrid{dir = 4},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_1)
+"ef" = (/obj/structure/window_frame/reinforced/hull,/obj/machinery/door/firedoor,/obj/machinery/status_display,/turf/simulated/floor/grid/greengrid,/area/entrepot/deck_1)
+"eg" = (/obj/structure/window_frame/reinforced/hull,/obj/machinery/door/firedoor,/turf/simulated/floor/grid/greengrid,/area/entrepot/deck_1)
+"eh" = (/obj/effect/floor_decal/techgrid{dir = 1},/obj/effect/floor_decal/techgrid{dir = 8},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_1)
+"ei" = (/obj/structure/flora/ausbushes/leafybush,/obj/effect/floor_decal/spline/plain/black{dir = 9},/obj/effect/floor_decal/spline/plain/corner/black,/turf/simulated/floor/natural/grass,/area/entrepot/deck_1)
+"ej" = (/obj/structure/flora/ausbushes/brflowers,/obj/effect/floor_decal/spline/plain/black{dir = 6},/obj/effect/floor_decal/spline/plain/black{dir = 1},/turf/simulated/floor/natural/grass,/area/entrepot/deck_1)
+"ek" = (/obj/structure/closet/crate/hydroponics/beekeeping,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled/dirty,/area/entrepot/cargo)
+"el" = (/mob/living/simple_animal/corgi/Lisa,/turf/simulated/floor/tiled/dirty,/area/entrepot/cargo)
+"em" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/power/port_gen/pacman{sheets = 25},/turf/simulated/floor/tiled/dirty,/area/entrepot/cargo)
+"en" = (/obj/structure/table/rack,/obj/effect/floor_decal/industrial/outline/yellow,/obj/item/storage/box/bodybags,/turf/simulated/floor/tiled/dirty,/area/entrepot/cargo)
+"eo" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/tiled/dirty,/area/entrepot/cargo)
+"ep" = (/obj/structure/table/rack,/obj/effect/floor_decal/industrial/outline/yellow,/obj/item/clothing/suit/space,/obj/item/clothing/suit/space,/obj/item/clothing/suit/space,/obj/item/clothing/suit/space,/obj/item/clothing/suit/space,/obj/item/clothing/suit/space,/obj/item/clothing/suit/space,/obj/item/clothing/suit/space,/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/head/helmet/space,/obj/item/clothing/head/helmet/space,/obj/item/clothing/head/helmet/space,/obj/item/clothing/head/helmet/space,/turf/simulated/floor/tiled/dirty,/area/entrepot/cargo)
+"eq" = (/obj/structure/window_frame/grille/rglass,/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/entrepot/engi_1)
+"er" = (/obj/structure/railing/steel,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/deck_1)
+"es" = (/obj/machinery/status_display,/obj/structure/railing/steel,/turf/simulated/wall,/area/entrepot/deck_1)
+"et" = (/turf/simulated/wall,/area/entrepot/deck_1)
+"eu" = (/obj/structure/bed/padded,/obj/structure/curtain/open/bed{anchored = 1},/obj/effect/floor_decal/spline/plain/black{dir = 1},/obj/item/bedsheet/nt,/turf/simulated/floor/trim/lino,/area/entrepot/crew_1/dorm)
+"ev" = (/obj/structure/flora/ausbushes/ywflowers,/obj/effect/floor_decal/spline/plain/black{dir = 4},/obj/effect/floor_decal/spline/plain/black{dir = 8},/obj/machinery/light/he{dir = 8},/turf/simulated/floor/natural/grass,/area/entrepot/deck_1)
+"ew" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable{icon_state = "2-4"; d2 = 4; d1 = 2},/obj/structure/disposalpipe/junction{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_1)
+"ex" = (/obj/effect/floor_decal/corner/black/three_quarters{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/structure/disposalpipe/junction{dir = 1},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1)
+"ey" = (/obj/structure/flora/ausbushes/ppflowers,/obj/effect/floor_decal/spline/plain/black{dir = 8},/obj/effect/floor_decal/spline/plain/black{dir = 4},/obj/machinery/alarm{dir = 8; pixel_x = 24},/obj/machinery/light/he{dir = 4},/turf/simulated/floor/natural/grass,/area/entrepot/deck_1)
+"ez" = (/obj/structure/window_frame/grille/rglass,/obj/structure/sign/cargo,/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/entrepot/cargo)
+"eA" = (/obj/effect/floor_decal/techfloor{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cargo)
+"eB" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_1)
+"eC" = (/obj/structure/window_frame/reinforced/hull,/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/entrepot/cargo)
+"eD" = (/obj/structure/window_frame/grille/rglass,/obj/structure/sign/engineering,/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/entrepot/deck_1)
+"eE" = (/obj/structure/railing/steel,/turf/simulated/floor/plating,/area/entrepot/deck_1)
+"eF" = (/obj/structure/stairs/east,/obj/structure/railing/steel,/turf/simulated/floor/plating,/area/entrepot/deck_1)
+"eG" = (/obj/structure/flora/ausbushes/ppflowers,/obj/effect/floor_decal/spline/plain/black{dir = 9},/obj/machinery/vending/coffee,/turf/simulated/floor/natural/grass,/area/entrepot/deck_1)
+"eH" = (/obj/effect/floor_decal/spline/plain/black{dir = 1},/turf/simulated/floor/tiled/dark,/area/entrepot/deck_1)
+"eI" = (/obj/structure/flora/ausbushes/ppflowers,/obj/effect/floor_decal/spline/plain/black{dir = 4},/obj/effect/floor_decal/spline/plain/corner/black{dir = 4},/turf/simulated/floor/natural/grass,/area/entrepot/deck_1)
+"eJ" = (/obj/structure/flora/ausbushes/brflowers,/obj/effect/floor_decal/spline/plain/black{dir = 8},/obj/effect/floor_decal/spline/plain/corner/black{dir = 1},/turf/simulated/floor/natural/grass,/area/entrepot/deck_1)
+"eK" = (/obj/structure/flora/ausbushes/ppflowers,/obj/effect/floor_decal/spline/plain/black{dir = 5},/obj/machinery/vending/cola,/turf/simulated/floor/natural/grass,/area/entrepot/deck_1)
+"eL" = (/obj/structure/stairs/west,/obj/structure/railing/steel,/turf/simulated/floor/plating,/area/entrepot/deck_1)
+"eM" = (/obj/machinery/door/airlock/centcom{name = "Warehouse"},/obj/machinery/door/firedoor,/turf/simulated/floor/tiled/dark/mono,/area/entrepot/cargo)
+"eN" = (/turf/simulated/floor/tiled/dark/mono,/area/entrepot/cargo)
+"eO" = (/obj/effect/floor_decal/spline/plain/black{dir = 9},/turf/simulated/floor/trim/carpet/gpurple,/area/entrepot/crew_1/dorm)
+"eP" = (/obj/structure/railing/steel,/turf/simulated/floor/plating,/area/entrepot/cargo)
+"eQ" = (/obj/structure/stairs/east,/obj/structure/railing/steel,/turf/simulated/floor/plating,/area/entrepot/cargo)
+"eR" = (/obj/machinery/door/airlock/glass_engineering{name = "Engineering Wing"},/obj/machinery/door/firedoor,/turf/simulated/floor/tiled/dark,/area/entrepot/engi_1)
+"eS" = (/obj/machinery/power/apc{name = "north bump"; dir = 1; pixel_y = 24},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/deck_1)
+"eT" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/entrepot/crew_1)
+"eU" = (/turf/simulated/wall/r_wall,/area/entrepot/crew_1)
+"eV" = (/obj/structure/sign/flag/nt,/turf/simulated/wall/r_wall,/area/entrepot/crew_1)
+"eW" = (/obj/structure/window_frame/glass,/turf/simulated/floor/plating,/area/entrepot/crew_1)
+"eX" = (/obj/effect/floor_decal/corner/black{dir = 10},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1)
+"eY" = (/obj/structure/cable{icon_state = "2-8"; d2 = 8; d1 = 2},/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/disposalpipe/segment{icon_state = "conpipe-c"; dir = 2},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_1)
+"eZ" = (/obj/structure/window_frame/glass,/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/entrepot/crew_1)
+"fa" = (/obj/effect/floor_decal/stairs,/obj/effect/floor_decal/spline/plain/black,/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_1)
+"fb" = (/obj/structure/sign/custodian,/turf/simulated/wall/r_wall,/area/entrepot/crew_1)
+"fc" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1)
+"fd" = (/obj/machinery/vending/cigarette,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1)
+"fe" = (/obj/machinery/vending/coffee,/obj/machinery/alarm{pixel_y = 24},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1)
+"ff" = (/turf/simulated/wall,/area/entrepot/crew_1/fitness)
+"fg" = (/obj/structure/table/standard,/obj/item/storage/fancy/crayons,/obj/item/storage/box/chalk,/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1)
+"fh" = (/obj/effect/floor_decal/corner/black{dir = 6},/obj/structure/flora/pottedplant/stoutbush,/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1)
+"fi" = (/obj/effect/floor_decal/spline/plain/black{dir = 5},/turf/simulated/floor/trim/carpet/gpurple,/area/entrepot/crew_1/dorm)
+"fj" = (/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_1)
+"fk" = (/obj/machinery/door/airlock/glass,/obj/machinery/door/firedoor,/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1)
+"fl" = (/obj/effect/floor_decal/corner/black{dir = 9},/obj/structure/flora/pottedplant/stoutbush,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1)
+"fm" = (/obj/machinery/door/airlock/glass{name = "Holodeck Controls"},/obj/machinery/door/firedoor,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_1)
+"fn" = (/obj/structure/table/standard,/obj/item/storage/toolbox/emergency,/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1)
+"fo" = (/obj/machinery/vending/snack,/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1)
+"fp" = (/obj/machinery/vending/cola,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1)
+"fq" = (/obj/structure/closet/secure_closet/personal/empty,/obj/structure/window/reinforced,/obj/effect/floor_decal/spline/plain/black{dir = 5},/obj/item/clothing/under/pj/red,/obj/item/clothing/shoes/slippers,/turf/simulated/floor/trim/lino,/area/entrepot/crew_1/dorm)
+"fr" = (/obj/structure/table/standard,/obj/item/storage/bible,/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1)
+"fs" = (/obj/structure/closet/jcloset,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_1)
+"ft" = (/obj/structure/sink{dir = 1; pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_1)
+"fu" = (/obj/machinery/door/airlock{name = "Cleaning Supplies"},/obj/machinery/door/firedoor,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_1)
+"fv" = (/obj/structure/bed/chair,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_1)
+"fw" = (/turf/simulated/wall,/area/entrepot/crew_1/dorm)
+"fx" = (/obj/structure/railing/steel{dir = 8},/obj/structure/window_frame/glass,/turf/simulated/floor/plating,/area/entrepot/crew_1)
+"fy" = (/obj/effect/floor_decal/corner/black{dir = 9},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1)
+"fz" = (/obj/structure/table/rack,/obj/item/storage/box/lights/mixed,/obj/item/storage/box/lights/mixed,/obj/item/storage/box/lights/mixed/he,/obj/item/storage/box/lights/bulbs/old,/obj/machinery/alarm{dir = 4; pixel_x = -24},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_1)
+"fA" = (/obj/structure/janitorialcart,/obj/item/reagent_containers/vessel/bucket,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/light/small/he{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_1)
+"fB" = (/turf/simulated/wall,/area/entrepot/crew_1)
+"fC" = (/obj/effect/floor_decal/corner/black{dir = 5},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1)
+"fD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/light/small/hl,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_1)
+"fE" = (/obj/structure/bed/chair/comfy/black{dir = 8},/obj/effect/floor_decal/spline/plain/black{dir = 4},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1)
+"fF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/computer/holodeck,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_1)
+"fG" = (/obj/structure/railing/steel{dir = 8},/obj/structure/stairs/north,/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1)
+"fH" = (/obj/structure/bed/couch/left/brown,/obj/effect/floor_decal/corner/black/three_quarters{dir = 8},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1/dorm)
+"fI" = (/obj/structure/bed/couch/right/brown,/obj/effect/floor_decal/corner/black{dir = 5},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1/dorm)
+"fJ" = (/obj/effect/floor_decal/corner/black{dir = 5},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1/dorm)
+"fK" = (/obj/effect/floor_decal/corner/black/three_quarters{dir = 1},/obj/structure/flora/pottedplant/unusual,/obj/machinery/power/apc{name = "north bump"; dir = 1; pixel_y = 24},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1/dorm)
+"fL" = (/obj/machinery/atmospherics/valve/digital/open{name = "Mixed Air Outlet Valve"; dir = 2},/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"fM" = (/obj/structure/closet/secure_closet/personal/empty,/obj/structure/window/reinforced,/obj/effect/floor_decal/spline/plain/black{dir = 9},/obj/item/clothing/under/pj/red,/obj/item/clothing/shoes/slippers,/turf/simulated/floor/trim/lino,/area/entrepot/crew_1/dorm)
+"fN" = (/obj/effect/floor_decal/spline/plain/black{dir = 8},/turf/simulated/floor/trim/carpet/gpurple,/area/entrepot/crew_1/dorm)
+"fO" = (/obj/effect/floor_decal/spline/plain/black{dir = 4},/turf/simulated/floor/trim/carpet/gpurple,/area/entrepot/crew_1/dorm)
+"fP" = (/turf/simulated/floor/tiled/dark/mono,/area/entrepot/crew_1)
+"fQ" = (/obj/structure/railing/steel,/turf/simulated/floor/tiled/dark/mono,/area/entrepot/crew_1)
+"fR" = (/obj/effect/floor_decal/corner/black/three_quarters{dir = 8},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1)
+"fS" = (/obj/structure/table/rack,/obj/item/grenade/chem_grenade/cleaner,/obj/item/grenade/chem_grenade/cleaner,/obj/item/grenade/chem_grenade/cleaner,/obj/item/reagent_containers/spray/cleaner,/obj/item/storage/box/cleanerpods,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_1)
+"fT" = (/obj/structure/table/standard,/obj/item/material/ashtray/plastic,/obj/effect/floor_decal/spline/plain/black{dir = 4},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1)
+"fU" = (/turf/simulated/floor/reinforced{name = "Holodeck Projector Floor"},/area/holodeck)
+"fV" = (/obj/structure/closet/secure_closet/personal/empty,/obj/structure/window/reinforced,/obj/effect/floor_decal/spline/plain/black{dir = 5},/obj/item/clothing/under/pj/blue,/obj/item/clothing/shoes/slippers,/turf/simulated/floor/trim/lino,/area/entrepot/crew_1/dorm)
+"fW" = (/obj/structure/sign/flag/nt,/turf/simulated/wall,/area/entrepot/crew_1/dorm)
+"fX" = (/obj/structure/table/standard,/obj/item/material/ashtray,/obj/effect/floor_decal/corner/black{dir = 9},/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1/dorm)
+"fY" = (/obj/structure/table/standard,/obj/machinery/recharger,/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1/dorm)
+"fZ" = (/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1/dorm)
+"ga" = (/obj/structure/railing/steel{dir = 1},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/crew_1)
+"gb" = (/obj/item/stool/padded,/obj/effect/floor_decal/corner/black{dir = 10},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1)
+"gc" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/structure/table/rack,/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cargo)
+"gd" = (/obj/effect/floor_decal/corner/black{dir = 6},/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1/dorm)
+"ge" = (/obj/effect/floor_decal/corner/black/three_quarters{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{icon_state = "1-8"; d2 = 8; d1 = 1},/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1)
+"gf" = (/obj/structure/bed/couch/left/brown{dir = 1},/obj/effect/floor_decal/corner/black{dir = 9},/obj/machinery/alarm{dir = 4; pixel_x = -24},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1/dorm)
+"gg" = (/obj/effect/floor_decal/corner/black{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1)
+"gh" = (/obj/structure/table/standard,/obj/item/device/camera,/obj/item/device/camera_film,/obj/item/device/camera_film,/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1)
+"gi" = (/obj/machinery/vending/fashionvend,/obj/machinery/light,/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1)
+"gj" = (/obj/machinery/lapvend,/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1)
+"gk" = (/obj/structure/table/standard,/obj/machinery/vending/wallmed1{pixel_y = -28},/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/ointment,/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1)
+"gl" = (/obj/machinery/vending/games,/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1)
+"gm" = (/obj/structure/closet/lasertag/red,/obj/machinery/alarm{dir = 1; pixel_y = -24},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1)
+"gn" = (/obj/structure/bed/couch/right/brown{dir = 1},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1/dorm)
+"go" = (/obj/effect/floor_decal/corner/black{dir = 9},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1/dorm)
+"gp" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/entrepot/crew_1/dorm)
+"gq" = (/obj/machinery/door/airlock/glass{name = "Holodeck"},/obj/machinery/door/firedoor,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_1)
+"gr" = (/obj/structure/disposalpipe/segment{icon_state = "conpipe-c"; dir = 2},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/crew_1)
+"gs" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/cable{icon_state = "1-8"; d2 = 8; d1 = 1},/obj/structure/cable{icon_state = "1-4"; d2 = 4; d1 = 1},/obj/structure/disposalpipe/segment{icon_state = "pipe-c"; dir = 8},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_1)
+"gt" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/structure/disposalpipe/segment{icon_state = "pipe-c"; dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_1)
+"gu" = (/obj/structure/table/darkwood_reinforced,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_1)
+"gv" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/crew_1)
+"gw" = (/obj/structure/closet/secure_closet/personal/empty,/obj/structure/window/reinforced,/obj/effect/floor_decal/spline/plain/black{dir = 9},/obj/item/clothing/under/pj/blue,/obj/item/clothing/shoes/slippers,/obj/machinery/light/small/hl{dir = 1},/turf/simulated/floor/trim/lino,/area/entrepot/crew_1/dorm)
+"gx" = (/obj/structure/table/woodentable,/obj/machinery/microwave,/obj/effect/floor_decal/spline/plain/black,/turf/simulated/floor/trim/carpet/gpurple,/area/entrepot/crew_1/dorm)
+"gy" = (/obj/structure/table/woodentable,/obj/item/storage/box/donkpockets,/obj/effect/floor_decal/spline/plain/black,/obj/item/storage/box/cups,/turf/simulated/floor/trim/carpet/gpurple,/area/entrepot/crew_1/dorm)
+"gz" = (/obj/structure/table/woodentable,/obj/effect/floor_decal/spline/plain/black,/obj/structure/bedsheetbin,/turf/simulated/floor/trim/carpet/gpurple,/area/entrepot/crew_1/dorm)
+"gA" = (/obj/structure/toilet{dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled/freezer,/area/entrepot/crew_1/fitness)
+"gB" = (/obj/machinery/door/airlock,/turf/simulated/floor/tiled/freezer,/area/entrepot/crew_1/fitness)
+"gC" = (/obj/machinery/alarm{pixel_y = 24},/turf/simulated/floor/tiled/freezer,/area/entrepot/crew_1/fitness)
+"gD" = (/obj/structure/table/standard,/obj/item/soap/nanotrasen,/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled/freezer,/area/entrepot/crew_1/fitness)
+"gE" = (/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_1/fitness)
+"gF" = (/obj/structure/table/woodentable,/obj/item/paper_bin,/obj/item/paper,/obj/item/pen/blue,/obj/item/pen/blue,/obj/effect/floor_decal/spline/plain/black,/turf/simulated/floor/trim/carpet/gpurple,/area/entrepot/crew_1/dorm)
+"gG" = (/obj/structure/closet/secure_closet/personal/empty,/obj/structure/window/reinforced,/obj/effect/floor_decal/spline/plain/black{dir = 5},/obj/item/clothing/under/pj/red,/obj/item/clothing/shoes/slippers,/obj/machinery/light/small/hl{dir = 1},/turf/simulated/floor/trim/lino,/area/entrepot/crew_1/dorm)
+"gH" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1)
+"gI" = (/obj/structure/disposaloutlet{dir = 8},/obj/structure/disposalpipe/trunk{dir = 1},/obj/effect/floor_decal/industrial/warning/full,/turf/space,/turf/simulated/floor/plating,/area/entrepot/engi_1)
+"gJ" = (/obj/effect/floor_decal/corner/black{dir = 10},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1/dorm)
+"gK" = (/obj/effect/floor_decal/corner/black{dir = 10},/obj/structure/closet/wardrobe/mixed,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1/dorm)
+"gL" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1/fitness)
+"gM" = (/obj/structure/closet/secure_closet/personal/empty,/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1/fitness)
+"gN" = (/obj/structure/reagent_dispensers/water_cooler,/obj/effect/floor_decal/spline/plain/black{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/trim/carpet/gpurple,/area/entrepot/crew_1/dorm)
+"gO" = (/obj/machinery/door/airlock{name = "Public Bedroom"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/firedoor,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_1/dorm)
+"gP" = (/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1/fitness)
+"gQ" = (/obj/item/stool,/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1/fitness)
+"gR" = (/obj/machinery/shower,/obj/structure/window/reinforced{dir = 4},/obj/structure/curtain/open/shower{anchored = 1},/obj/effect/floor_decal/floordetail/edgedrain{dir = 1},/turf/simulated/floor/tiled/freezer,/area/entrepot/crew_1/fitness)
+"gS" = (/obj/structure/sink{dir = 4; pixel_x = 10},/obj/structure/mirror{pixel_x = 28},/turf/simulated/floor/tiled/freezer,/area/entrepot/crew_1/fitness)
+"gT" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1/fitness)
+"gU" = (/obj/structure/stairs/south,/obj/structure/railing/steel{dir = 4},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1/fitness)
+"gV" = (/obj/structure/flora/pottedplant/unusual,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/crew_1/fitness)
+"gW" = (/obj/structure/stairs/south,/obj/structure/railing/steel{dir = 8},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1/fitness)
+"gX" = (/obj/machinery/shower{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/curtain/open/shower{anchored = 1},/obj/effect/floor_decal/floordetail/edgedrain,/turf/simulated/floor/tiled/freezer,/area/entrepot/crew_1/fitness)
+"gY" = (/obj/structure/window_frame/glass,/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/entrepot/crew_1/fitness)
+"gZ" = (/turf/simulated/wall/r_wall,/area/entrepot/crew_1/fitness)
+"ha" = (/obj/machinery/status_display,/turf/simulated/wall,/area/entrepot/crew_1/fitness)
+"hb" = (/obj/structure/closet/emcloset,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/dark/mono,/area/entrepot/crew_1/fitness)
+"hc" = (/obj/structure/closet/athletic_mixed,/turf/simulated/floor/tiled/dark/mono,/area/entrepot/crew_1/fitness)
+"hd" = (/obj/structure/window_frame/reinforced/hull,/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/entrepot/crew_1/fitness)
+"he" = (/obj/structure/table/standard,/obj/item/clothing/shoes/swimmingfins,/obj/item/inflatable_duck,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_1/fitness)
+"hf" = (/obj/item/stool,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_1/fitness)
+"hg" = (/obj/structure/bed/chair/wheelchair,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_1/fitness)
+"hh" = (/obj/structure/bed/chair/blue,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_1/fitness)
+"hi" = (/obj/structure/table/standard,/obj/item/reagent_containers/vessel/plastic/waterbottle,/obj/item/reagent_containers/vessel/plastic/waterbottle,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4; layer = 2.4; level = 2},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_1/fitness)
+"hj" = (/obj/machinery/door/window/southleft{name = "Sauna"},/obj/machinery/alarm{dir = 4; pixel_x = -24},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_1/fitness)
+"hk" = (/obj/machinery/disposal,/obj/effect/floor_decal/corner/black/three_quarters,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1/dorm)
+"hl" = (/obj/structure/table/standard,/obj/machinery/chemical_dispenser/bar_soft/full,/turf/simulated/floor/tiled/dark/mono,/area/entrepot/crew_1/fitness)
+"hm" = (/obj/structure/flora/ausbushes/ppflowers,/obj/effect/floor_decal/spline/plain/black{dir = 4},/obj/effect/floor_decal/spline/plain/black{dir = 8},/obj/machinery/alarm{dir = 4; pixel_x = -24},/obj/machinery/light/he{dir = 8},/turf/simulated/floor/natural/grass,/area/entrepot/deck_1)
+"hn" = (/obj/effect/floor_decal/spline/plain/black{dir = 1},/turf/simulated/floor/tiled/white/mono,/area/entrepot/crew_1/fitness)
+"ho" = (/obj/structure/flora/ausbushes/ppflowers,/obj/effect/floor_decal/spline/plain/black{dir = 8},/obj/effect/floor_decal/spline/plain/black{dir = 4},/obj/machinery/light/he{dir = 4},/turf/simulated/floor/natural/grass,/area/entrepot/deck_1)
+"hp" = (/obj/effect/floor_decal/siding/wood{dir = 8},/obj/effect/floor_decal/siding/wood{dir = 1},/obj/structure/table/darkwood_reinforced,/obj/structure/railing/wood{dir = 8},/turf/simulated/floor/trim/darkwood,/area/entrepot/crew_1/fitness)
+"hq" = (/obj/effect/floor_decal/siding/wood{dir = 1},/obj/structure/table/darkwood_reinforced,/obj/item/towel,/obj/machinery/light/small/hl{dir = 1},/turf/simulated/floor/trim/darkwood,/area/entrepot/crew_1/fitness)
+"hr" = (/obj/effect/floor_decal/siding/wood{dir = 4},/obj/effect/floor_decal/siding/wood{dir = 1},/obj/structure/table/darkwood_reinforced,/obj/structure/railing/wood{dir = 4},/turf/simulated/floor/trim/darkwood,/area/entrepot/crew_1/fitness)
+"hs" = (/obj/effect/floor_decal/siding/wood{dir = 1},/turf/simulated/floor/trim/wood,/area/entrepot/crew_1/fitness)
+"ht" = (/obj/structure/window/reinforced{dir = 4},/obj/effect/floor_decal/siding/wood{dir = 4},/obj/effect/floor_decal/siding/wood{dir = 1},/obj/structure/closet/crate/bin,/obj/item/towel,/obj/item/towel,/obj/item/towel,/obj/item/towel,/obj/item/towel,/obj/item/towel,/obj/item/clothing/head/ushanka,/turf/simulated/floor/trim/wood,/area/entrepot/crew_1/fitness)
+"hu" = (/obj/structure/table/standard,/obj/item/storage/box/cups,/obj/item/storage/box/cups,/turf/simulated/floor/tiled/dark/mono,/area/entrepot/crew_1/fitness)
+"hv" = (/obj/effect/floor_decal/spline/plain{dir = 4},/obj/effect/floor_decal/spline/plain/black{dir = 8},/turf/simulated/floor/tiled/white/mono,/area/entrepot/crew_1/fitness)
+"hw" = (/obj/effect/floor_decal/spline/plain{dir = 1},/obj/effect/floor_decal/spline/plain/grey{dir = 1},/obj/effect/floor_decal/spline/plain/grey{dir = 8},/turf/simulated/floor/water/fountain,/area/entrepot/crew_1/fitness)
+"hx" = (/obj/effect/floor_decal/spline/plain{dir = 1},/obj/effect/floor_decal/spline/plain/grey{dir = 1},/turf/simulated/floor/water/fountain,/area/entrepot/crew_1/fitness)
+"hy" = (/obj/effect/floor_decal/spline/plain{dir = 1},/obj/effect/floor_decal/spline/plain{dir = 1},/obj/effect/floor_decal/spline/plain/grey{dir = 1},/turf/simulated/floor/water/fountain,/area/entrepot/crew_1/fitness)
+"hz" = (/obj/effect/floor_decal/spline/plain{dir = 8},/obj/effect/floor_decal/spline/plain/black{dir = 4},/turf/simulated/floor/tiled/white/mono,/area/entrepot/crew_1/fitness)
+"hA" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 5},/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"hB" = (/obj/effect/floor_decal/siding/wood{dir = 8},/obj/effect/floor_decal/siding/wood,/obj/structure/bed/pew/pewchapel/left,/turf/simulated/floor/trim/darkwood,/area/entrepot/crew_1/fitness)
+"hC" = (/obj/effect/floor_decal/siding/wood,/obj/structure/bed/pew/pewchapel/middle,/turf/simulated/floor/trim/darkwood,/area/entrepot/crew_1/fitness)
+"hD" = (/obj/effect/floor_decal/siding/wood{dir = 4},/obj/effect/floor_decal/siding/wood,/obj/structure/bed/pew/pewchapel/right,/turf/simulated/floor/trim/darkwood,/area/entrepot/crew_1/fitness)
+"hE" = (/obj/effect/floor_decal/siding/wood,/turf/simulated/floor/trim/wood,/area/entrepot/crew_1/fitness)
+"hF" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/sink{dir = 4},/obj/effect/floor_decal/siding/wood{dir = 4},/obj/effect/floor_decal/siding/wood,/turf/simulated/floor/trim/wood,/area/entrepot/crew_1/fitness)
+"hG" = (/obj/structure/reagent_dispensers/water_cooler,/turf/simulated/floor/tiled/dark/mono,/area/entrepot/crew_1/fitness)
+"hH" = (/obj/effect/floor_decal/spline/plain/grey{dir = 8},/turf/simulated/floor/water/fountain,/area/entrepot/crew_1/fitness)
+"hI" = (/turf/simulated/floor/water/fountain,/area/entrepot/crew_1/fitness)
+"hJ" = (/obj/machinery/sauna,/turf/simulated/floor/trim/darkwood,/area/entrepot/crew_1/fitness)
+"hK" = (/obj/effect/floor_decal/siding/wood{dir = 8},/turf/simulated/floor/trim/wood,/area/entrepot/crew_1/fitness)
+"hL" = (/turf/simulated/floor/trim/wood,/area/entrepot/crew_1/fitness)
+"hM" = (/obj/effect/floor_decal/siding/wood{dir = 4},/turf/simulated/floor/trim/wood,/area/entrepot/crew_1/fitness)
+"hN" = (/obj/machinery/door/window/eastright{name = "Sauna"},/obj/effect/floor_decal/siding/wood{dir = 4},/turf/simulated/floor/trim/wood,/area/entrepot/crew_1/fitness)
+"hO" = (/obj/item/beach_ball,/turf/simulated/floor/water/fountain,/area/entrepot/crew_1/fitness)
+"hP" = (/obj/effect/floor_decal/siding/wood{dir = 8},/obj/effect/floor_decal/siding/wood{dir = 1},/obj/structure/bed/pew/pewchapel/left{name = "bench"; icon_state = "chair_pewchapel_left_over"; dir = 1},/turf/simulated/floor/trim/darkwood,/area/entrepot/crew_1/fitness)
+"hQ" = (/obj/effect/floor_decal/siding/wood{dir = 1},/obj/structure/bed/pew/pewchapel/middle{icon_state = "chair_pewchapel_middle_over"; dir = 1},/turf/simulated/floor/trim/darkwood,/area/entrepot/crew_1/fitness)
+"hR" = (/obj/effect/floor_decal/spline/plain/black{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark,/area/entrepot/deck_1)
+"hS" = (/obj/structure/flora/pottedplant/unusual,/obj/structure/railing/steel,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/deck_1)
+"hT" = (/obj/structure/sign/deck/first,/turf/simulated/wall,/area/entrepot/deck_1)
+"hU" = (/obj/machinery/disposal,/obj/effect/floor_decal/spline/plain/black{dir = 8},/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor/natural/grass,/area/entrepot/deck_1)
+"hV" = (/obj/structure/cable{icon_state = "2-4"; d2 = 4; d1 = 2},/obj/machinery/atmospherics/pipe/simple/visible/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{dir = 6},/obj/structure/disposalpipe/segment{icon_state = "conpipe-c"; dir = 4},/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"hW" = (/obj/effect/floor_decal/spline/plain/black,/turf/simulated/floor/tiled/dark,/area/entrepot/deck_1)
+"hX" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"hY" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/black,/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"hZ" = (/obj/machinery/atmospherics/omni/mixer{tag_north_con = 0.21; tag_south_con = 0; tag_east_con = 0; tag_west_con = 0.79; tag_north = 1; tag_east = 2; tag_west = 1},/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"ia" = (/obj/machinery/atmospherics/pipe/simple/visible/blue{dir = 4},/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"ib" = (/obj/machinery/atmospherics/pipe/simple/visible/blue{dir = 9},/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"ic" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 4; use_power = 1; volume_rate = 200; initialize_directions = 4},/obj/effect/floor_decal/industrial/warning/full,/turf/simulated/floor/plating,/area/entrepot/engi_1)
+"id" = (/obj/machinery/atmospherics/pipe/simple/visible/red{dir = 10},/obj/structure/lattice,/turf/space,/area/entrepot/engi_1)
+"ie" = (/obj/machinery/atmospherics/pipe/simple/visible/red{dir = 6},/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"if" = (/obj/machinery/atmospherics/pipe/simple/visible/red{dir = 4},/obj/machinery/atmospherics/binary/pump/on{name = "Air to Supply"; dir = 2},/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"ig" = (/obj/machinery/atmospherics/pipe/simple/visible/red{dir = 10},/obj/machinery/alarm{dir = 8; pixel_x = 24},/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"ih" = (/obj/structure/window_frame/reinforced/hull,/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/visible/red{dir = 4},/turf/simulated/floor/plating,/area/entrepot/engi_1)
+"ii" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/obj/structure/lattice,/turf/space,/area/space)
+"ij" = (/obj/machinery/atmospherics/pipe/simple/visible/red{dir = 4},/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"ik" = (/obj/machinery/atmospherics/omni/filter{tag_north = 4; tag_south = 0; tag_east = 1; tag_west = 2},/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"il" = (/obj/machinery/atmospherics/pipe/simple/visible/black{dir = 4},/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"im" = (/obj/machinery/atmospherics/omni/filter{tag_north = 3; tag_south = 0; tag_east = 1; tag_west = 2},/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"in" = (/obj/machinery/atmospherics/pipe/simple/visible/red{dir = 9},/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"io" = (/obj/machinery/atmospherics/pipe/simple/visible/universal,/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"ip" = (/obj/structure/window_frame/grille,/obj/structure/lattice,/turf/space,/area/space)
+"iq" = (/obj/structure/sign/flag/nt,/turf/simulated/wall/r_wall,/area/entrepot/engi_1)
+"ir" = (/obj/structure/ladder/up,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"is" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/visible/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"it" = (/obj/structure/window_frame/grille,/turf/space,/area/space)
+"iu" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/supply{dir = 4},/obj/machinery/light,/obj/structure/table/rack,/obj/item/backwear/powered/rpd/loaded,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"iv" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/red,/turf/space,/area/space)
+"iw" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/red{dir = 5},/turf/space,/area/space)
+"ix" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/supply{dir = 4},/obj/item/construction/rcd/loaded/upgraded,/obj/structure/table/rack,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"iy" = (/obj/structure/cable{icon_state = "2-4"; d2 = 4; d1 = 2},/obj/structure/cable{icon_state = "2-8"; d2 = 8; d1 = 2},/obj/machinery/atmospherics/pipe/manifold/visible/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/visible/scrubbers{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"iz" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"iA" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/manifold/visible/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{dir = 4},/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"iB" = (/obj/structure/flora/ausbushes/brflowers,/obj/effect/floor_decal/spline/plain/black{dir = 4},/turf/simulated/floor/natural/grass,/area/entrepot/deck_1)
+"iC" = (/obj/effect/floor_decal/spline/plain/black,/turf/space,/turf/simulated/floor/tiled/dark,/area/entrepot/deck_1)
+"iD" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/manifold/visible/scrubbers{dir = 4},/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"iE" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/deck_1)
+"iF" = (/obj/machinery/door/airlock/centcom,/obj/machinery/door/firedoor,/turf/simulated/floor/tiled/dark,/area/entrepot/deck_1)
+"iG" = (/turf/simulated/wall,/area/entrepot/engi_1)
+"iH" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/supply{dir = 4},/obj/structure/sign/atmosplaque{dir = 1; pixel_y = -30},/obj/machinery/light,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"iI" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/manifold/visible/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/visible/scrubbers{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"iJ" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/door/airlock/hatch{name = "Power Storage"},/obj/machinery/atmospherics/pipe/simple/visible/scrubbers,/obj/machinery/atmospherics/pipe/simple/visible/supply,/turf/simulated/floor/grid/bluegrid,/area/entrepot/engi_1)
+"iK" = (/obj/machinery/status_display,/turf/simulated/wall,/area/entrepot/engi_1)
+"iL" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/supply{dir = 4},/obj/machinery/light,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"iM" = (/obj/machinery/disposal,/obj/effect/floor_decal/spline/plain/black{dir = 4},/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/natural/grass,/area/entrepot/deck_1)
+"iN" = (/obj/machinery/atmospherics/pipe/simple/visible/supply,/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"iO" = (/obj/machinery/atmospherics/pipe/simple/visible/scrubbers,/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"iP" = (/obj/structure/railing/steel,/obj/structure/railing/steel,/obj/structure/flora/pottedplant/unusual,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/deck_1)
+"iQ" = (/obj/structure/cable{icon_state = "2-8"; d2 = 8; d1 = 2},/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/supply{dir = 4},/obj/structure/disposalpipe/segment{icon_state = "conpipe-c"; dir = 2},/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"iR" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_1)
+"iS" = (/obj/effect/floor_decal/techfloor{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cargo)
+"iT" = (/obj/effect/floor_decal/techfloor{dir = 1},/obj/structure/railing/steel,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cargo)
+"iU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/effect/decal/cleanable/cobweb,/obj/structure/cable{icon_state = "16-0"; d2 = 0; d1 = 16},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/alarm{pixel_y = 24},/obj/machinery/camera/network/civilian_west{dir = 4; c_tag = "Technical Module 1F - Junkyard"},/turf/simulated/floor/plating,/area/entrepot/engi_1)
+"iV" = (/obj/machinery/door/airlock/hatch{name = "Maintenance"},/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/visible/supply,/obj/machinery/atmospherics/pipe/simple/visible/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/engi_1)
+"iW" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"iX" = (/turf/simulated/floor/grid/bluegrid,/area/entrepot/engi_1)
+"iY" = (/obj/machinery/door/airlock/hatch{name = "Communications Relay"},/obj/machinery/atmospherics/pipe/simple/visible/scrubbers,/obj/machinery/atmospherics/pipe/simple/visible/supply,/turf/simulated/floor/grid/bluegrid,/area/entrepot/engi_1)
+"iZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark/mono,/area/entrepot/cargo)
+"ja" = (/obj/machinery/power/apc{name = "north bump"; dir = 1; pixel_y = 24},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/tiled/dirty,/area/entrepot/cargo)
+"jb" = (/obj/structure/cable{icon_state = "1-4"; d2 = 4; d1 = 1},/obj/structure/table/rack,/obj/item/stack/material/wood/fifty,/obj/item/stack/material/wood/fifty,/obj/item/stack/material/darkwood/fifty,/obj/item/stack/material/glass/fifty,/obj/item/stack/material/glass/fifty,/obj/item/stack/material/glass/fifty,/obj/item/stack/material/marble/fifty,/obj/effect/floor_decal/industrial/box,/obj/machinery/power/apc{name = "west bump"; dir = 8; pixel_x = -24},/obj/structure/cable,/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"jc" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/turf/simulated/floor/tiled/dirty,/area/entrepot/cargo)
+"jd" = (/obj/structure/railing/steel,/obj/machinery/autolathe{name = "Unlocked Autolathe"; desc = "Your typical Autolathe. It appears to have much more options than your regular one, however..."; hacked = 1},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cargo)
+"je" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/light/he{dir = 8},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cargo)
+"jf" = (/obj/structure/flora/ausbushes/sparsegrass,/obj/effect/floor_decal/spline/plain/black{dir = 10},/obj/machinery/vending/cigarette,/turf/simulated/floor/natural/grass,/area/entrepot/deck_1)
+"jg" = (/obj/structure/flora/ausbushes/ywflowers,/obj/effect/floor_decal/spline/plain/black{dir = 4},/obj/effect/floor_decal/spline/plain/corner/black{dir = 8},/turf/simulated/floor/natural/grass,/area/entrepot/deck_1)
+"jh" = (/obj/structure/flora/ausbushes/ywflowers,/obj/effect/floor_decal/spline/plain/black{dir = 8},/obj/effect/floor_decal/spline/plain/corner/black,/turf/simulated/floor/natural/grass,/area/entrepot/deck_1)
+"ji" = (/obj/structure/flora/ausbushes/brflowers,/obj/effect/floor_decal/spline/plain/black{dir = 6},/obj/machinery/vending/snack,/turf/simulated/floor/natural/grass,/area/entrepot/deck_1)
+"jj" = (/obj/machinery/status_display,/turf/simulated/wall,/area/entrepot/deck_1)
+"jk" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/structure/table/rack,/obj/item/storage/toolbox/mechanical,/obj/item/storage/toolbox/mechanical,/obj/item/storage/toolbox/mechanical,/obj/structure/window/reinforced{dir = 1; health = null},/obj/effect/floor_decal/industrial/box,/obj/item/device/handcharger,/obj/structure/disposalpipe/segment{icon_state = "pipe-c"; dir = 1},/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"jl" = (/obj/machinery/atmospherics/pipe/simple/visible/supply,/obj/structure/disposalpipe/segment{icon_state = "pipe-c"; dir = 2},/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"jm" = (/obj/structure/cable{icon_state = "1-8"; d2 = 8; d1 = 1},/obj/machinery/atmospherics/pipe/simple/visible/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{dir = 9},/obj/structure/disposalpipe/segment{icon_state = "pipe-c"; dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/engi_1)
+"jn" = (/obj/machinery/atmospherics/pipe/zpipe/up/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/zpipe/up/supply{dir = 1},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/light/small/he{dir = 8},/turf/simulated/floor{icon_state = "dmg2"},/area/entrepot/engi_1)
+"jo" = (/obj/structure/table/standard,/obj/random/maintenance,/obj/structure/disposalpipe/segment{icon_state = "conpipe-c"; dir = 2},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/engi_1)
+"jp" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"jq" = (/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{dir = 6},/obj/machinery/alarm{pixel_y = 24},/obj/machinery/camera/network/civilian_west{dir = 4; c_tag = "Technical Module 1F - Power Storage"},/turf/simulated/floor/grid/bluegrid,/area/entrepot/engi_1)
+"jr" = (/obj/machinery/power/smes/magical,/obj/structure/cable,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/grid/bluegrid,/area/entrepot/engi_1)
+"js" = (/obj/structure/cable/yellow{icon_state = "1-2"; d2 = 2; d1 = 1},/turf/simulated/floor/plating/airless,/area/space)
+"jt" = (/obj/structure/cable/yellow{icon_state = "2-4"; d2 = 4; d1 = 2},/turf/simulated/floor/plating/airless,/area/space)
+"ju" = (/obj/structure/cable/yellow{icon_state = "4-8"; d2 = 8; d1 = 4},/turf/simulated/floor/plating/airless,/area/space)
+"jv" = (/obj/structure/cable/yellow{icon_state = "1-8"; d2 = 8; d1 = 1},/obj/structure/cable/yellow{icon_state = "1-4"; d2 = 4; d1 = 1},/turf/simulated/floor/plating/airless,/area/space)
+"jw" = (/obj/structure/cable/yellow{icon_state = "2-8"; d2 = 8; d1 = 2},/turf/simulated/floor/plating/airless,/area/space)
+"jx" = (/obj/structure/lattice,/obj/structure/window_frame/grille,/turf/space,/area/space)
+"jy" = (/obj/machinery/power/solar,/obj/structure/cable/yellow{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless,/area/space)
+"jz" = (/obj/structure/cable/yellow{icon_state = "1-8"; d2 = 8; d1 = 1},/obj/structure/cable/yellow{icon_state = "1-4"; d2 = 4; d1 = 1},/obj/structure/cable/yellow{icon_state = "1-2"; d2 = 2; d1 = 1},/turf/simulated/floor/plating/airless,/area/space)
+"jA" = (/obj/machinery/power/solar,/obj/structure/cable/yellow{icon_state = "0-8"; d2 = 8},/turf/simulated/floor/plating/airless,/area/space)
+"jB" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/visible/supply{dir = 5},/turf/simulated/floor/grid/bluegrid,/area/entrepot/engi_1)
+"jC" = (/obj/machinery/atmospherics/pipe/simple/visible/supply{dir = 10},/turf/simulated/floor/grid/bluegrid,/area/entrepot/engi_1)
+"jD" = (/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/telecomms/relay/preset/station,/turf/simulated/floor/grid/bluegrid,/area/entrepot/engi_1)
+"jE" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/manifold/visible/supply{dir = 8},/obj/structure/disposalpipe/segment{icon_state = "pipe-c"; dir = 1},/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"jF" = (/obj/structure/closet/secure_closet/engineering_welding,/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"jG" = (/obj/machinery/atmospherics/pipe/simple/visible/red{dir = 4},/obj/structure/closet/secure_closet/engineering_electrical,/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"jH" = (/obj/machinery/atmospherics/pipe/simple/visible/supply{dir = 4},/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/manifold/visible/scrubbers{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"jI" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/grid/bluegrid,/area/entrepot/engi_1)
+"jJ" = (/obj/structure/cable/yellow{icon_state = "0-2"; d2 = 2},/obj/machinery/power/terminal{dir = 1},/turf/simulated/floor/grid/bluegrid,/area/entrepot/engi_1)
+"jK" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/grid/bluegrid,/area/entrepot/engi_1)
+"jL" = (/obj/machinery/portable_atmospherics/canister/empty,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"jM" = (/obj/structure/cable/yellow{icon_state = "1-4"; d2 = 4; d1 = 1},/turf/simulated/wall/r_wall,/area/entrepot/engi_1)
+"jN" = (/obj/structure/window_frame/grille,/turf/space,/area/entrepot/engi_1)
+"jO" = (/obj/machinery/door/blast/regular{name = "disposal mass driver"; id = "trash"},/obj/machinery/shield_diffuser,/turf/simulated/floor/plating/airless,/area/entrepot/engi_1)
+"jP" = (/obj/structure/flora/ausbushes/brflowers,/obj/effect/floor_decal/spline/plain/black,/obj/structure/table/woodentable,/obj/item/storage/box/checkers,/obj/item/storage/box/checkers/chess,/obj/item/storage/box/checkers/chess/red,/obj/item/board,/obj/machinery/light/he,/turf/simulated/floor/natural/grass,/area/entrepot/deck_1)
+"jQ" = (/obj/structure/table/glass,/obj/item/material/ashtray/glass,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_1)
+"jR" = (/obj/structure/railing/steel{dir = 8},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1)
+"jS" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/trim/darkwood,/area/entrepot/cafe_1)
+"jT" = (/obj/structure/cable/yellow{icon_state = "4-8"; d2 = 8; d1 = 4},/turf/simulated/wall/r_wall,/area/entrepot/engi_1)
+"jU" = (/obj/effect/floor_decal/techfloor,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cargo)
+"jV" = (/obj/structure/flora/ausbushes/ppflowers,/obj/effect/floor_decal/spline/plain/black{dir = 9},/obj/effect/floor_decal/spline/plain/black,/turf/simulated/floor/natural/grass,/area/entrepot/deck_1)
+"jW" = (/obj/structure/flora/ausbushes/leafybush,/obj/effect/floor_decal/spline/plain/black{dir = 6},/obj/effect/floor_decal/spline/plain/corner/black{dir = 4},/turf/simulated/floor/natural/grass,/area/entrepot/deck_1)
+"jX" = (/obj/structure/flora/ausbushes/brflowers,/obj/effect/floor_decal/spline/plain/black{dir = 10},/obj/effect/floor_decal/spline/plain/corner/black{dir = 1},/turf/simulated/floor/natural/grass,/area/entrepot/deck_1)
+"jY" = (/obj/structure/flora/ausbushes/leafybush,/obj/effect/floor_decal/spline/plain/black{dir = 5},/obj/effect/floor_decal/spline/plain/black,/turf/simulated/floor/natural/grass,/area/entrepot/deck_1)
+"jZ" = (/obj/machinery/floodlight,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled/dirty,/area/entrepot/cargo)
+"ka" = (/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled/dirty,/area/entrepot/cargo)
+"kb" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/tiled/dirty,/area/entrepot/cargo)
+"kc" = (/obj/structure/closet/toolcloset,/obj/effect/floor_decal/industrial/outline/yellow,/obj/item/device/handcharger,/obj/item/device/handcharger,/turf/simulated/floor/tiled/dirty,/area/entrepot/cargo)
+"kd" = (/obj/structure/closet/jcloset,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled/dirty,/area/entrepot/cargo)
+"ke" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/structure/geltank/burn,/turf/simulated/floor/tiled/dirty,/area/entrepot/cargo)
+"kf" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{icon_state = "1-8"; d2 = 8; d1 = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/deck_1)
+"kg" = (/obj/effect/floor_decal/techfloor{dir = 1},/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cargo)
+"kh" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/dark/mono,/area/entrepot/cargo)
+"ki" = (/obj/structure/cable{icon_state = "1-8"; d2 = 8; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/disposalpipe/junction{dir = 8},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_1)
+"kj" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/deck_1)
+"kk" = (/obj/effect/floor_decal/techgrid{dir = 4},/obj/effect/floor_decal/techgrid{dir = 1},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_1)
+"kl" = (/obj/effect/floor_decal/techgrid{dir = 1},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_1)
+"km" = (/obj/effect/floor_decal/techfloor,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cargo)
+"kn" = (/obj/structure/closet/l3closet/general/multi,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/light,/turf/simulated/floor/tiled/dirty,/area/entrepot/cargo)
+"ko" = (/obj/structure/closet/radiation,/obj/effect/floor_decal/industrial/outline/yellow,/obj/item/clothing/head/radiation,/obj/item/clothing/head/radiation,/obj/item/clothing/head/radiation,/obj/item/clothing/suit/radiation,/obj/item/clothing/suit/radiation,/obj/item/clothing/suit/radiation,/turf/simulated/floor/tiled/dirty,/area/entrepot/cargo)
+"kp" = (/obj/structure/closet/wardrobe/tactical,/obj/effect/floor_decal/industrial/outline/yellow,/obj/item/storage/box/handcuffs,/turf/simulated/floor/tiled/dirty,/area/entrepot/cargo)
+"kq" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/structure/reagent_dispensers/watertank,/obj/machinery/light,/turf/simulated/floor/tiled/dirty,/area/entrepot/cargo)
+"kr" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/structure/geltank/somatic,/turf/simulated/floor/tiled/dirty,/area/entrepot/cargo)
+"ks" = (/obj/effect/floor_decal/techfloor,/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cargo)
+"kt" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark,/area/entrepot/deck_1)
+"ku" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/cargo)
+"kv" = (/obj/structure/flora/ausbushes/sparsegrass,/obj/effect/floor_decal/spline/plain/black{dir = 1},/obj/structure/bed/pew/pewchapel/right{name = "bench"; dir = 4},/turf/simulated/floor/natural/grass,/area/entrepot/deck_1)
+"kw" = (/obj/structure/flora/ausbushes/brflowers,/obj/effect/floor_decal/spline/plain/black{dir = 1},/obj/structure/table/woodentable,/obj/item/game_kit,/obj/item/material/ashtray/glass,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/natural/grass,/area/entrepot/deck_1)
+"kx" = (/obj/structure/flora/ausbushes/ppflowers,/obj/effect/floor_decal/spline/plain/black{dir = 1},/obj/structure/bed/pew/pewchapel/left{name = "bench"; dir = 8},/turf/simulated/floor/natural/grass,/area/entrepot/deck_1)
+"ky" = (/obj/structure/flora/ausbushes/leafybush,/obj/effect/floor_decal/spline/plain/black{dir = 5},/obj/structure/railing/steel{dir = 4},/turf/simulated/floor/natural/grass,/area/entrepot/deck_1)
+"kz" = (/obj/effect/floor_decal/stairs,/obj/effect/floor_decal/spline/plain/black,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/deck_1)
+"kA" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark,/area/entrepot/deck_1)
+"kB" = (/obj/structure/flora/ausbushes/sparsegrass,/obj/effect/floor_decal/spline/plain/black{dir = 9},/obj/structure/railing/steel{dir = 8},/turf/simulated/floor/natural/grass,/area/entrepot/deck_1)
+"kC" = (/obj/structure/cable/yellow{icon_state = "2-8"; d2 = 8; d1 = 2},/turf/simulated/wall/r_wall,/area/entrepot/engi_1)
+"kD" = (/obj/structure/flora/ausbushes/ppflowers,/obj/effect/floor_decal/spline/plain/black{dir = 1},/obj/structure/bed/pew/pewchapel/right{name = "bench"; dir = 4},/turf/simulated/floor/natural/grass,/area/entrepot/deck_1)
+"kE" = (/obj/structure/flora/ausbushes/brflowers,/obj/effect/floor_decal/spline/plain/black{dir = 1},/obj/structure/table/woodentable,/obj/item/material/ashtray/glass,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1; layer = 2.4; level = 2},/turf/simulated/floor/natural/grass,/area/entrepot/deck_1)
+"kF" = (/obj/structure/flora/ausbushes/leafybush,/obj/effect/floor_decal/spline/plain/black{dir = 5},/turf/simulated/floor/natural/grass,/area/entrepot/deck_1)
+"kG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/trim/darkwood,/area/entrepot/cafe_1)
+"kH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled/freezer,/area/entrepot/cafe_1)
+"kI" = (/obj/structure/sign/double/barsign,/turf/simulated/wall/r_wall,/area/entrepot/cafe_1)
+"kJ" = (/obj/structure/closet/lasertag/blue,/obj/machinery/light,/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1)
+"kK" = (/obj/machinery/door/airlock/glass{name = "Fitness"},/obj/machinery/door/firedoor,/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1)
+"kL" = (/obj/effect/floor_decal/corner/black/three_quarters,/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1)
+"kM" = (/obj/structure/closet/wardrobe/mixed,/obj/effect/floor_decal/corner/black/three_quarters{dir = 4},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1; layer = 2.4; level = 2},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1/dorm)
+"kN" = (/obj/structure/table/standard,/obj/item/soap/nanotrasen,/obj/structure/window/reinforced{dir = 1; health = null},/obj/effect/floor_decal/corner/blue/diagonal,/obj/effect/floor_decal/spline/plain/grey{dir = 1},/turf/simulated/floor/tiled/freezer,/area/entrepot/crew_1/dorm)
+"kO" = (/obj/structure/mopbucket,/obj/item/mop,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8; layer = 2.4; level = 2},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_1)
+"kP" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/effect/floor_decal/spline/plain/grey{dir = 1},/turf/simulated/floor/tiled/freezer,/area/entrepot/crew_1/dorm)
+"kQ" = (/obj/effect/floor_decal/siding/wood{dir = 4},/obj/effect/floor_decal/siding/wood{dir = 1},/obj/structure/bed/pew/pewchapel/right{name = "bench"; icon_state = "chair_pewchapel_right_over"; dir = 1},/turf/simulated/floor/trim/darkwood,/area/entrepot/crew_1/fitness)
+"kR" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/table/woodentable,/obj/item/reagent_containers/vessel/bottle/small/beer,/obj/effect/floor_decal/siding/wood{dir = 4},/obj/effect/floor_decal/siding/wood{dir = 1},/turf/simulated/floor/trim/wood,/area/entrepot/crew_1/fitness)
+"kS" = (/obj/structure/window_frame/reinforced/hull,/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/entrepot/crew_1)
+"kT" = (/obj/structure/bed/chair/comfy/black{dir = 4},/obj/effect/floor_decal/spline/plain/black{dir = 8},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1)
+"kU" = (/obj/structure/window_frame/glass,/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/entrepot/crew_1)
+"kV" = (/obj/structure/railing/steel{dir = 4},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1)
+"kW" = (/obj/effect/floor_decal/spline/fancy{dir = 9},/turf/simulated/floor/water/fountain,/area/entrepot/crew_1)
+"kX" = (/obj/effect/floor_decal/spline/fancy{dir = 1},/obj/machinery/light,/obj/machinery/camera/network/civilian_east{dir = 1; c_tag = "Central Garden - North"},/turf/simulated/floor/water/fountain,/area/entrepot/crew_1)
+"kY" = (/obj/effect/floor_decal/spline/fancy{dir = 5},/turf/simulated/floor/water/fountain,/area/entrepot/crew_1)
+"kZ" = (/obj/structure/window_frame/reinforced/hull,/obj/machinery/door/firedoor,/obj/machinery/status_display,/turf/simulated/floor/plating,/area/entrepot/crew_1)
+"la" = (/obj/structure/table/standard,/obj/item/material/ashtray/plastic,/obj/effect/floor_decal/spline/plain/black{dir = 8},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1)
+"lb" = (/obj/structure/railing/steel{dir = 4},/obj/structure/stairs/south,/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1)
+"lc" = (/obj/effect/floor_decal/spline/fancy{dir = 8},/obj/machinery/light{dir = 4},/turf/simulated/floor/water/fountain,/area/entrepot/crew_1)
+"ld" = (/turf/simulated/wall/gold,/area/entrepot/crew_1)
+"le" = (/obj/effect/floor_decal/spline/fancy{dir = 4},/obj/machinery/light{dir = 8},/turf/simulated/floor/water/fountain,/area/entrepot/crew_1)
+"lf" = (/obj/structure/railing/steel{dir = 4},/obj/structure/window_frame/glass,/turf/simulated/floor/plating,/area/entrepot/crew_1)
+"lg" = (/obj/effect/floor_decal/spline/fancy{dir = 10},/turf/simulated/floor/water/fountain,/area/entrepot/crew_1)
+"lh" = (/obj/effect/floor_decal/spline/fancy,/obj/machinery/light{dir = 1},/obj/machinery/camera/network/civilian_east{c_tag = "Central Garden - South"},/turf/simulated/floor/water/fountain,/area/entrepot/crew_1)
+"li" = (/obj/effect/floor_decal/spline/fancy{dir = 6},/turf/simulated/floor/water/fountain,/area/entrepot/crew_1)
+"lj" = (/obj/structure/table/standard,/obj/item/storage/laundry_basket,/obj/structure/window/reinforced{dir = 1; health = null},/obj/effect/floor_decal/corner/blue/diagonal,/obj/effect/floor_decal/spline/plain/grey{dir = 1},/turf/simulated/floor/tiled/freezer,/area/entrepot/crew_1/dorm)
+"lk" = (/obj/machinery/washing_machine,/obj/effect/floor_decal/corner/blue/diagonal,/turf/simulated/floor/tiled/freezer,/area/entrepot/crew_1/dorm)
+"ll" = (/obj/effect/floor_decal/corner/blue/diagonal,/turf/simulated/floor/tiled/freezer,/area/entrepot/crew_1/dorm)
+"lm" = (/obj/machinery/vending/fitness,/turf/simulated/floor/tiled/dark/mono,/area/entrepot/crew_1/fitness)
+"ln" = (/obj/effect/floor_decal/siding/wood{dir = 8},/obj/effect/floor_decal/siding/wood,/obj/structure/table/darkwood_reinforced,/obj/item/towel,/obj/structure/railing/wood{dir = 8},/turf/simulated/floor/trim/darkwood,/area/entrepot/crew_1/fitness)
+"lo" = (/obj/effect/floor_decal/siding/wood,/obj/structure/table/darkwood_reinforced,/obj/machinery/light/small/hl,/turf/simulated/floor/trim/darkwood,/area/entrepot/crew_1/fitness)
+"lp" = (/obj/effect/floor_decal/siding/wood{dir = 4},/obj/effect/floor_decal/siding/wood,/obj/structure/table/darkwood_reinforced,/obj/structure/railing/wood{dir = 4},/turf/simulated/floor/trim/darkwood,/area/entrepot/crew_1/fitness)
+"lq" = (/obj/structure/reagent_dispensers/beerkeg,/turf/simulated/floor/trim/wood,/area/entrepot/crew_1/fitness)
+"lr" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/table/woodentable,/obj/item/reagent_containers/vessel/bucket,/obj/effect/floor_decal/siding/wood{dir = 4},/turf/simulated/floor/trim/wood,/area/entrepot/crew_1/fitness)
+"ls" = (/obj/machinery/vending/snack/medbay,/turf/simulated/floor/tiled/dark/mono,/area/entrepot/crew_1/fitness)
+"lt" = (/obj/structure/flora/ausbushes/ywflowers,/obj/effect/floor_decal/spline/plain/black,/obj/structure/table/woodentable,/obj/item/deck/cards,/obj/item/deck/tarot,/obj/item/storage/pill_bottle/dice,/obj/machinery/light/he,/turf/simulated/floor/natural/grass,/area/entrepot/deck_1)
+"lu" = (/obj/effect/floor_decal/spline/plain{dir = 1},/obj/effect/floor_decal/spline/plain/black,/turf/simulated/floor/tiled/white/mono,/area/entrepot/crew_1/fitness)
+"lv" = (/obj/effect/floor_decal/spline/plain/black{dir = 9},/obj/effect/floor_decal/floordetail/tiled,/obj/structure/flora/pottedplant/stoutbush,/turf/simulated/floor/tiled/freezer,/area/entrepot/crew_1/fitness)
+"lw" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/entrepot/crew_1/fitness)
+"lx" = (/obj/structure/sign/flag/nt,/turf/simulated/wall/r_wall,/area/entrepot/crew_1/fitness)
+"ly" = (/turf/simulated/wall/r_wall,/area/entrepot/deck_1)
+"lz" = (/obj/structure/sign/flag/nt,/turf/simulated/wall/r_wall,/area/entrepot/deck_1)
+"lA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_1)
+"lB" = (/obj/machinery/door/airlock/glass{name = "Fitness"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1)
+"lC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_1)
+"lD" = (/obj/structure/flora/ausbushes/ywflowers,/obj/effect/floor_decal/spline/plain/black{dir = 10},/turf/simulated/floor/natural/grass,/area/entrepot/deck_1)
+"lE" = (/obj/structure/flora/ausbushes/ppflowers,/obj/effect/floor_decal/spline/plain/black,/obj/structure/bed/pew/pewchapel/left{dir = 4},/turf/simulated/floor/natural/grass,/area/entrepot/deck_1)
+"lF" = (/obj/effect/floor_decal/spline/plain/black{dir = 5},/obj/effect/floor_decal/floordetail/tiled,/obj/structure/flora/pottedplant/stoutbush,/turf/simulated/floor/tiled/freezer,/area/entrepot/crew_1/fitness)
+"lG" = (/obj/structure/flora/ausbushes/ppflowers,/obj/effect/floor_decal/spline/plain/black,/obj/structure/bed/pew/pewchapel/right{name = "bench"; dir = 8},/turf/simulated/floor/natural/grass,/area/entrepot/deck_1)
+"lH" = (/obj/structure/flora/ausbushes/brflowers,/obj/effect/floor_decal/spline/plain/black{dir = 6},/obj/structure/railing/steel{dir = 4},/turf/simulated/floor/natural/grass,/area/entrepot/deck_1)
+"lI" = (/obj/structure/flora/ausbushes/brflowers,/obj/effect/floor_decal/spline/plain/black,/obj/structure/bed/pew/pewchapel/left{name = "bench"; dir = 4},/turf/simulated/floor/natural/grass,/area/entrepot/deck_1)
+"lJ" = (/obj/effect/floor_decal/spline/plain/black{dir = 10},/obj/effect/floor_decal/spline/plain/corner{dir = 1},/obj/effect/floor_decal/floordetail/tiled,/obj/structure/flora/pottedplant/stoutbush,/turf/simulated/floor/tiled/freezer,/area/entrepot/crew_1/fitness)
+"lK" = (/obj/structure/sign/flag/nt,/turf/simulated/wall/r_wall,/area/entrepot/cargo)
+"lL" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/structure/lattice,/turf/space,/area/entrepot/engi_1)
+"lM" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/deck_1)
+"lN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/structure/cable{icon_state = "2-4"; d2 = 4; d1 = 2},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_1)
+"lO" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/alarm{dir = 8; pixel_x = 24},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_1)
+"lP" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/alarm{pixel_y = 24},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_1)
+"lQ" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/alarm{dir = 4; pixel_x = -24},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_1)
+"lR" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/deck_1)
+"lS" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/deck_1)
+"lT" = (/obj/machinery/portable_atmospherics/canister/empty,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"lU" = (/obj/machinery/portable_atmospherics/canister/empty,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1; layer = 2.4; level = 2},/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"lV" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1; layer = 2.4; level = 2},/obj/machinery/camera/network/civilian_west{dir = 1; c_tag = "Main Module 1F - West Connector"},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_1)
+"lW" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4; layer = 2.4; level = 2},/obj/machinery/camera/network/civilian_west{dir = 4; c_tag = "Main Module 1F - North Connector"},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_1)
+"lX" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/camera/network/civilian_west{dir = 8; c_tag = "Main Module 1F - South Connector"},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_1)
+"lY" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/deck_1)
+"lZ" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4; layer = 2.4; level = 2},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/deck_1)
+"ma" = (/obj/effect/floor_decal/techfloor{dir = 1},/obj/structure/railing/steel,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cargo)
+"mb" = (/obj/effect/floor_decal/techfloor,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cargo)
+"mc" = (/obj/effect/floor_decal/corner/black{dir = 6},/obj/structure/flora/pottedplant/stoutbush,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1; layer = 2.4; level = 2},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1)
+"md" = (/obj/effect/floor_decal/corner/black{dir = 9},/obj/structure/flora/pottedplant/stoutbush,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1)
+"me" = (/obj/item/bikehorn/rubberducky,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled/freezer,/area/entrepot/crew_1/fitness)
+"mf" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4; layer = 2.4; level = 2},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/crew_1/fitness)
+"mg" = (/obj/structure/closet/athletic_mixed,/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled/dark/mono,/area/entrepot/crew_1/fitness)
+"mh" = (/obj/structure/table/glass,/obj/item/material/ashtray/glass,/obj/item/storage/fancy/cigar,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/light/small/he{dir = 8},/obj/machinery/camera/network/civilian_west{dir = 4; c_tag = "Refectory Module 1F - Smoking Area"},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_1)
+"mi" = (/obj/structure/sink{dir = 4; pixel_x = 10},/obj/structure/mirror{pixel_x = 28},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/alarm{dir = 1; pixel_y = -24},/turf/simulated/floor/tiled/dark,/area/entrepot/cafe_1)
+"mj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_1)
+"mk" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/deck_1)
+"ml" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_1)
+"mm" = (/obj/structure/cable{icon_state = "1-8"; d2 = 8; d1 = 1},/obj/structure/cable{icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/structure/disposalpipe/junction{dir = 8},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_1)
+"mn" = (/obj/structure/cable{icon_state = "1-4"; d2 = 4; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/deck_1)
+"mo" = (/obj/structure/cable{icon_state = "1-8"; d2 = 8; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/deck_1)
+"mp" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/deck_1)
+"mq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/deck_1)
+"mr" = (/obj/structure/window_frame/grille/rglass,/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/entrepot/cargo)
+"ms" = (/obj/structure/table/rack,/obj/item/stack/material/wood/fifty,/obj/item/stack/material/wood/fifty,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cargo)
+"mt" = (/obj/structure/table/rack,/obj/item/stack/material/steel/fifty,/obj/item/stack/material/steel/fifty,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cargo)
+"mu" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/deck_1)
+"mv" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/window_frame/grille/rglass,/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/entrepot/engi_1)
+"mw" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/dark,/area/entrepot/deck_1)
+"mx" = (/obj/machinery/door/airlock/freezer{name = "Kitchen growing room"; req_access = list(28)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_1)
+"my" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled/white,/area/entrepot/cafe_1)
+"mz" = (/obj/machinery/door/airlock/freezer{name = "Kitchen"; req_access = list(28)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_1)
+"mA" = (/obj/machinery/door/airlock{name = "Changing Room"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/door/firedoor,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_1/fitness)
+"mB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_1)
+"mC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_1)
+"mD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{icon_state = "conpipe-c"; dir = 2},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_1)
+"mE" = (/obj/effect/floor_decal/siding/wood{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/trim/darkwood,/area/entrepot/cafe_1)
+"mF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/trim/darkwood,/area/entrepot/cafe_1)
+"mG" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock{name = "Unisex Restrooms"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/door/firedoor,/turf/simulated/floor/tiled/dark,/area/entrepot/cafe_1)
+"mH" = (/obj/machinery/door/airlock{name = "Smoking Room"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_1)
+"mI" = (/obj/structure/window_frame/glass,/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/entrepot/cafe_1)
+"mJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/freezer,/area/entrepot/cafe_1)
+"mK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/entrepot/cafe_1)
+"mL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/disposalpipe/segment{icon_state = "pipe-c"; dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_1)
+"mM" = (/obj/effect/floor_decal/siding/wood{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/turf/simulated/floor/trim/darkwood,/area/entrepot/cafe_1)
+"mN" = (/obj/structure/disposalpipe/segment{icon_state = "pipe-c"; dir = 8},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_1)
+"mO" = (/obj/item/stool/bar,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_1)
+"mP" = (/obj/structure/table/glass,/obj/item/material/ashtray/glass,/obj/item/reagent_containers/vessel/hookah{pixel_y = 10},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1; layer = 2.4; level = 2},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_1)
+"mQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_1)
+"mR" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark/mono,/area/entrepot/crew_1)
+"mS" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/structure/disposalpipe/segment{icon_state = "pipe-c"; dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_1)
+"mT" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/alarm{dir = 8; pixel_x = 24},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_1/fitness)
+"mU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/light/small{dir = 8},/obj/structure/disposalpipe/segment{icon_state = "pipe-c"; dir = 4},/turf/simulated/floor/tiled/freezer,/area/entrepot/crew_1/fitness)
+"mV" = (/obj/effect/floor_decal/spline/plain/black{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/turf/simulated/floor/trim/carpet/gpurple,/area/entrepot/crew_1/dorm)
+"mW" = (/obj/effect/floor_decal/spline/plain/corner/black{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/turf/simulated/floor/trim/carpet/gpurple,/area/entrepot/crew_1/dorm)
+"mX" = (/obj/effect/floor_decal/spline/plain/corner/black{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/turf/simulated/floor/trim/carpet/gpurple,/area/entrepot/crew_1/dorm)
+"mY" = (/obj/effect/floor_decal/spline/plain/black{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/trim/carpet/gpurple,/area/entrepot/crew_1/dorm)
+"mZ" = (/obj/machinery/door/airlock{name = "Changing Room"},/obj/machinery/door/firedoor,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_1/fitness)
+"na" = (/obj/effect/floor_decal/corner/black{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/cable{icon_state = "1-4"; d2 = 4; d1 = 1},/obj/structure/disposalpipe/segment{icon_state = "pipe-c"; dir = 4},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1/dorm)
+"nb" = (/obj/machinery/door/airlock/glass{name = "Dormitory"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_1)
+"nc" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/freezer,/area/entrepot/crew_1/fitness)
+"nd" = (/obj/structure/railing/steel,/obj/machinery/light/he{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/deck_1)
+"ne" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/turf/simulated/floor/tiled/freezer,/area/entrepot/crew_1/fitness)
+"nf" = (/obj/machinery/door/airlock{name = "Showers"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_1/fitness)
+"ng" = (/obj/machinery/power/apc{name = "west bump"; dir = 8; pixel_x = -24},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_1/fitness)
+"nh" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{icon_state = "1-4"; d2 = 4; d1 = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_1/fitness)
+"ni" = (/obj/structure/railing/steel,/obj/machinery/light/he{dir = 8},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/deck_1)
+"nj" = (/obj/structure/cable{icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{icon_state = "pipe-c"; dir = 2},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_1)
+"nk" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_1)
+"nl" = (/obj/machinery/door/airlock/glass,/obj/machinery/door/firedoor,/turf/simulated/floor/tiled/rough,/area/entrepot/cafe_1)
+"nm" = (/obj/effect/floor_decal/techgrid{dir = 4},/obj/structure/disposalpipe/segment{icon_state = "conpipe-c"; dir = 2},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_1)
+"nn" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/deck_1)
+"no" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/deck_1)
+"np" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/deck_1)
+"nq" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/structure/disposalpipe/segment{icon_state = "pipe-c"; dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/deck_1)
+"nr" = (/turf/unsimulated/mask,/area/space)
+"ns" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cargo)
+"nt" = (/obj/structure/flora/pottedplant/unusual,/obj/structure/railing/steel,/obj/machinery/light/he{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cargo)
+"nu" = (/obj/structure/window_frame/glass,/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/entrepot/cafe_1)
+"nv" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/crew_1/fitness)
+"nw" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_1)
+"nx" = (/obj/effect/floor_decal/corner/black{dir = 5},/obj/machinery/power/apc{name = "west bump"; dir = 8; pixel_x = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1)
+"ny" = (/obj/effect/floor_decal/corner/black{dir = 5},/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1)
+"nz" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/cable{icon_state = "1-8"; d2 = 8; d1 = 1},/obj/structure/disposalpipe/segment{icon_state = "pipe-c"; dir = 8},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_1/fitness)
+"nA" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_1)
+"nB" = (/obj/effect/floor_decal/corner/black{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1/dorm)
+"nC" = (/obj/effect/floor_decal/corner/black{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{icon_state = "pipe-c"; dir = 4},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1/dorm)
+"nD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_1/fitness)
+"nE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_1/fitness)
+"nF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_1/fitness)
+"nG" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_1/fitness)
+"nH" = (/obj/machinery/light/he{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/deck_1)
+"nI" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1/fitness)
+"nJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark/mono,/area/entrepot/crew_1/fitness)
+"nK" = (/obj/item/stool/bar,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_1)
+"nL" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark,/area/entrepot/deck_1)
+"nM" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark,/area/entrepot/deck_1)
+"nN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/trim/darkwood,/area/entrepot/cafe_1)
+"nO" = (/obj/effect/floor_decal/siding/wood{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/trim/darkwood,/area/entrepot/cafe_1)
+"nP" = (/obj/structure/table/woodentable,/obj/item/reagent_containers/vessel/shaker,/obj/machinery/light/small/hl{dir = 8},/obj/structure/disposalpipe/segment{icon_state = "pipe-c"; dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_1)
+"nQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/freezer,/area/entrepot/cafe_1)
+"nR" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/alarm{dir = 1; pixel_y = -24},/turf/simulated/floor/tiled/freezer,/area/entrepot/cafe_1)
+"nS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_1)
+"nT" = (/obj/effect/floor_decal/siding/wood{dir = 1},/obj/machinery/door/window/westleft{name = "Bar"; dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/trim/darkwood,/area/entrepot/cafe_1)
+"nU" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled/dark,/area/entrepot/cafe_1)
+"nV" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_1)
+"nW" = (/obj/effect/floor_decal/spline/plain/black{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark,/area/entrepot/deck_1)
+"nX" = (/obj/effect/floor_decal/spline/plain/black{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/turf/simulated/floor/tiled/dark,/area/entrepot/deck_1)
+"nY" = (/obj/effect/floor_decal/spline/plain/black,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/dark,/area/entrepot/deck_1)
+"nZ" = (/obj/effect/floor_decal/spline/plain/black{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark,/area/entrepot/deck_1)
+"oa" = (/obj/effect/floor_decal/spline/plain/black{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/turf/simulated/floor/tiled/dark,/area/entrepot/deck_1)
+"ob" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1/dorm)
+"oc" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/freezer,/area/entrepot/crew_1/fitness)
+"od" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/freezer,/area/entrepot/crew_1/fitness)
+"oe" = (/obj/machinery/door/airlock{name = "Showers"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_1/fitness)
+"of" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1/fitness)
+"og" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_1)
+"oh" = (/obj/machinery/door/airlock{name = "Cleaning Supplies"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_1)
+"oi" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_1)
+"oj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_1)
+"ok" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/deck_1)
+"ol" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_1)
+"om" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/trim/darkwood,/area/entrepot/cafe_1)
+"on" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/disposalpipe/segment{icon_state = "pipe-c"; dir = 8},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_1)
+"oo" = (/obj/machinery/vending/snack,/obj/machinery/power/apc{name = "south bump"; pixel_y = -24},/obj/structure/cable,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_1)
+"op" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark,/area/entrepot/deck_1)
+"oq" = (/obj/structure/table/rack,/obj/item/stack/material/glass/fifty,/obj/item/stack/material/glass/fifty,/obj/item/stack/material/glass/fifty,/obj/item/stack/rods/fifty,/obj/item/stack/rods/fifty,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{icon_state = "1-8"; d2 = 8; d1 = 1},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cargo)
+"or" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_1)
+"os" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_1/fitness)
+"ot" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1/dorm)
+"ou" = (/obj/effect/floor_decal/corner/black{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/light{dir = 4},/obj/structure/disposalpipe/segment{icon_state = "pipe-c"; dir = 8},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1/dorm)
+"ov" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/structure/disposalpipe/segment{icon_state = "pipe-c"; dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_1/fitness)
+"ow" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_1)
+"ox" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_1)
+"oy" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_1)
+"oz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_1)
+"oA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/cable{icon_state = "1-8"; d2 = 8; d1 = 1},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_1)
+"oB" = (/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/visible/supply{dir = 5},/turf/simulated/floor/grid/bluegrid,/area/entrepot/engi_1)
+"oC" = (/obj/machinery/light/small/he{dir = 8},/obj/machinery/atmospherics/pipe/simple/visible/scrubbers,/turf/simulated/floor/grid/bluegrid,/area/entrepot/engi_1)
+"oD" = (/obj/machinery/light/small/he{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/supply,/turf/simulated/floor/grid/bluegrid,/area/entrepot/engi_1)
+"oE" = (/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/light/small/he{dir = 8},/obj/machinery/atmospherics/pipe/simple/visible/scrubbers,/turf/simulated/floor/grid/bluegrid,/area/entrepot/engi_1)
+"oF" = (/obj/item/stool,/obj/machinery/alarm{dir = 8; pixel_x = 24},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1/fitness)
+"oG" = (/obj/structure/bed/chair/blue,/obj/machinery/alarm{pixel_y = 24},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_1/fitness)
+"oH" = (/obj/machinery/alarm{pixel_y = 24},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_1)
+"oI" = (/obj/effect/floor_decal/spline/plain/black{dir = 6},/obj/effect/floor_decal/spline/plain/corner{dir = 4},/obj/effect/floor_decal/floordetail/tiled,/obj/structure/flora/pottedplant/stoutbush,/turf/simulated/floor/tiled/freezer,/area/entrepot/crew_1/fitness)
+"oJ" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/alarm{dir = 4; pixel_x = -24},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/deck_1)
+"oK" = (/obj/machinery/alarm{dir = 8; pixel_x = 24},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/deck_1)
+"oL" = (/obj/machinery/alarm{dir = 4; pixel_x = -24},/turf/simulated/floor/tiled/freezer,/area/entrepot/cafe_1)
+"oM" = (/obj/machinery/alarm{dir = 4; pixel_x = -24},/turf/simulated/floor/reinforced{name = "Holodeck Projector Floor"},/area/holodeck)
+"oN" = (/obj/structure/window_frame/glass,/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/entrepot/deck_1)
+"oO" = (/obj/machinery/door/airlock/glass,/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/firedoor,/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_1)
+"oP" = (/obj/machinery/door/airlock/glass,/obj/machinery/door/firedoor,/turf/simulated/floor/tiled/dark,/area/entrepot/deck_1)
+"oQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_1)
+"oR" = (/obj/machinery/light/he{dir = 8},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/deck_1)
+"oS" = (/obj/effect/floor_decal/techgrid,/obj/effect/floor_decal/techgrid{dir = 8},/obj/machinery/light/he,/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_1)
+"oT" = (/obj/effect/floor_decal/techgrid,/obj/effect/floor_decal/techgrid{dir = 4},/obj/machinery/light/he{dir = 4},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_1)
+"oU" = (/obj/effect/floor_decal/techgrid{dir = 1},/obj/effect/floor_decal/techgrid{dir = 8},/obj/machinery/light/he{dir = 8},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_1)
+"oV" = (/obj/effect/floor_decal/techgrid{dir = 4},/obj/effect/floor_decal/techgrid{dir = 1},/obj/machinery/light/he{dir = 1},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_1)
+"oW" = (/obj/structure/table/rack,/obj/item/stack/material/steel/fifty,/obj/item/stack/material/steel/fifty,/obj/item/stack/material/steel/fifty,/obj/item/stack/material/steel/fifty,/obj/item/stack/material/steel/fifty,/obj/item/stack/material/plastic/fifty,/obj/item/stack/material/plastic/fifty,/obj/item/stack/material/plasteel/fifty,/obj/item/stack/material/plasteel/fifty,/obj/effect/floor_decal/industrial/box,/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"oX" = (/obj/machinery/light/he,/turf/simulated/floor/tiled/freezer,/area/entrepot/cafe_1)
+"oY" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/machinery/light/small/he,/turf/simulated/floor/tiled/freezer,/area/entrepot/crew_1/dorm)
+"oZ" = (/obj/effect/floor_decal/spline/plain{dir = 1},/obj/effect/floor_decal/spline/plain/black,/obj/machinery/light,/turf/simulated/floor/tiled/white/mono,/area/entrepot/crew_1/fitness)
+"pa" = (/obj/structure/bed/chair/blue,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_1/fitness)
+"pb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_1/fitness)
+"pc" = (/obj/structure/sink{dir = 4; pixel_x = 10},/obj/structure/mirror{pixel_x = 28},/obj/machinery/light/small,/turf/simulated/floor/tiled/freezer,/area/entrepot/crew_1/fitness)
+"pd" = (/obj/structure/closet/secure_closet/personal/empty,/obj/machinery/light/he{dir = 1},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1/fitness)
+"pe" = (/obj/structure/closet/secure_closet/personal/empty,/obj/machinery/light/he,/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1/fitness)
+"pf" = (/obj/machinery/light/he{dir = 8},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1/fitness)
+"pg" = (/obj/machinery/light/he{dir = 4},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_1/fitness)
+"ph" = (/obj/effect/landmark/map_data,/turf/space,/area/space)
+"pi" = (/obj/structure/bed/chair/black,/obj/machinery/light/small/he{dir = 8},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_1)
+"pj" = (/obj/structure/bed/chair/black{dir = 1},/obj/machinery/light/small/he{dir = 4},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_1)
+"pk" = (/obj/structure/bed/chair/black{dir = 8},/obj/machinery/light/small/he{dir = 1},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_1)
+"pl" = (/obj/structure/bed/chair/black{dir = 4},/obj/machinery/light/small/he,/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_1)
+"pm" = (/obj/effect/floor_decal/spline/plain/black{dir = 10},/obj/structure/flora/pottedplant/subterranean,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1; layer = 2.4; level = 2},/obj/machinery/light/small/hl,/turf/simulated/floor/trim/carpet/gpurple,/area/entrepot/crew_1/dorm)
+"pn" = (/obj/effect/floor_decal/spline/plain/black{dir = 6},/obj/structure/flora/pottedplant/subterranean,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/alarm{dir = 1; pixel_y = -24},/obj/machinery/light/small/hl,/turf/simulated/floor/trim/carpet/gpurple,/area/entrepot/crew_1/dorm)
+"po" = (/turf/space,/turf/space,/area/space)
+"pp" = (/turf/simulated/floor/asteroid,/area/space)
+"pq" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/structure/closet/crate/critter,/turf/simulated/floor/tiled/dirty,/area/entrepot/cargo)
+"pr" = (/obj/item/stool/padded,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/engi_1)
+"ps" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/dark,/area/entrepot/deck_1)
+"pt" = (/obj/structure/disposaloutlet{dir = 8},/obj/structure/disposalpipe/trunk{dir = 1},/obj/effect/floor_decal/industrial/warning/full,/turf/simulated/floor/plating,/area/entrepot/engi_1)
+"pu" = (/obj/machinery/conveyor{dir = 10; id = "garbage"},/obj/structure/sign/warning/vacuum{pixel_x = -32},/obj/random/trash,/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/plating,/area/entrepot/engi_1)
+"pv" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/disposal/deliveryChute{name = "disposal inlet"; dir = 1},/obj/structure/disposalpipe/trunk{dir = 4},/obj/structure/window/reinforced,/obj/effect/floor_decal/industrial/warning/cee,/turf/simulated/floor/plating,/area/entrepot/engi_1)
+"pw" = (/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment{icon_state = "pipe-c"; dir = 2},/obj/structure/window_frame/reinforced/hull,/turf/simulated/floor/plating,/area/entrepot/engi_1)
+"px" = (/obj/machinery/mass_driver{id = "trash"},/obj/machinery/airlock_sensor{dir = 4; pixel_x = -25},/turf/space,/turf/simulated/floor/plating,/area/entrepot/engi_1)
+"py" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/structure/cable{icon_state = "2-8"; d2 = 8; d1 = 2},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_1)
+"pz" = (/turf/simulated/open,/area/space)
+"pA" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/structure/cable/green{icon_state = "2-4"; d2 = 4; d1 = 2},/obj/structure/disposalpipe/segment{icon_state = "pipe-c"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/plating,/area/space)
+"pB" = (/obj/machinery/conveyor{dir = 4; id = "garbage"},/obj/random/junk,/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/entrepot/engi_1)
+"pC" = (/obj/structure/disposalpipe/segment{icon_state = "pipe-c"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{icon_state = "1-2"; d2 = 2; d1 = 1},/turf/simulated/floor/plating,/area/space)
+"pD" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/plating,/area/space)
+"pE" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/structure/cable/green{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/space)
+"pF" = (/obj/structure/closet/secure_closet/personal,/obj/structure/disposalpipe/segment{icon_state = "pipe-c"; dir = 2},/obj/structure/cable/green{icon_state = "1-2"; d2 = 2; d1 = 1},/turf/simulated/floor/tiled/rough,/area/space)
+"pG" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light/small,/turf/simulated/floor/plating,/area/space)
+"pH" = (/obj/structure/cable/green{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/structure/cable/green{icon_state = "2-8"; d2 = 8; d1 = 2},/obj/structure/cable/green{icon_state = "1-8"; d2 = 8; d1 = 1},/obj/structure/disposalpipe/segment{icon_state = "pipe-c"; dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/space)
+"pI" = (/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 2},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/effect/floor_decal/corner/blue{dir = 9},/turf/simulated/floor/tiled/rough,/area/space)
+"pJ" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/dark,/area/entrepot/deck_1)
+"pK" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/window_frame/grille/rglass,/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/entrepot/deck_1)
+"pL" = (/obj/machinery/light/small/he{dir = 4},/obj/machinery/conveyor_switch/oneway{name = "disposal coveyor"; id = "garbage"; convdir = -1},/obj/machinery/button/remote/driver{dir = 8; pixel_x = 25; pixel_y = 12; id = "trash"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/engi_1)
+"pM" = (/obj/structure/window_frame/glass,/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/entrepot/deck_1)
+"pN" = (/obj/effect/floor_decal/stairs{dir = 1},/obj/effect/floor_decal/spline/plain/black,/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_1)
+"pO" = (/obj/structure/window/reinforced,/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/crew_1/fitness)
+"pP" = (/obj/machinery/disposal,/obj/effect/floor_decal/siding/wood{dir = 4},/obj/structure/disposalpipe/trunk,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_1)
+"pQ" = (/obj/effect/floor_decal/siding/wood{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{icon_state = "pipe-c"; dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_1)
+"pR" = (/obj/effect/floor_decal/siding/wood,/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/trim/darkwood,/area/entrepot/cafe_1)
+"pS" = (/obj/structure/cable{icon_state = "1-4"; d2 = 4; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/disposalpipe/segment{icon_state = "pipe-c"; dir = 1},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_1)
+"pT" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_1)
+"pU" = (/obj/machinery/door/airlock/glass,/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_1)
+"pV" = (/obj/structure/disposalpipe/segment{icon_state = "conpipe-c"; dir = 2},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/deck_1)
+"pW" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_1)
+"pX" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/deck_1)
+"pY" = (/obj/structure/disposalpipe/segment{icon_state = "pipe-c"; dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/deck_1)
+"pZ" = (/obj/structure/flora/ausbushes/sparsegrass,/obj/effect/floor_decal/spline/plain/black{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/natural/grass,/area/entrepot/deck_1)
+"qa" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/cable{icon_state = "1-8"; d2 = 8; d1 = 1},/obj/structure/disposalpipe/segment{icon_state = "pipe-c"; dir = 8},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/crew_1)
+"qb" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_1)
+"qc" = (/obj/structure/disposalpipe/segment{icon_state = "conpipe-c"; dir = 2},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_1)
+"qd" = (/obj/structure/disposalpipe/segment{icon_state = "conpipe-c"; dir = 2},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_1/fitness)
+"qe" = (/obj/machinery/atmospherics/pipe/simple/visible/universal,/obj/machinery/camera/network/civilian_west{dir = 8; c_tag = "Technical Module 1F - East"},/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"qf" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/camera/network/civilian_west{dir = 1; c_tag = "Technical Module 1F - West"},/turf/simulated/floor/tiled/rough,/area/entrepot/engi_1)
+"qg" = (/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{dir = 6},/obj/machinery/alarm{pixel_y = 24},/obj/machinery/camera/network/civilian_west{dir = 4; c_tag = "Technical Module 1F - Communications"},/turf/simulated/floor/grid/bluegrid,/area/entrepot/engi_1)
+"qh" = (/obj/effect/floor_decal/techgrid,/obj/effect/floor_decal/techgrid{dir = 8},/obj/machinery/camera/network/civilian_west{dir = 1; c_tag = "Main Module 1F - North"},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_1)
+"qi" = (/obj/effect/floor_decal/techgrid{dir = 4},/obj/effect/floor_decal/techgrid{dir = 1},/obj/machinery/camera/network/civilian_west{c_tag = "Main Module 1F - South"},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_1)
+"qj" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/camera/network/civilian_west{dir = 4; c_tag = "Main Module 1F - West"},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/deck_1)
+"qk" = (/obj/machinery/camera/network/civilian_west{dir = 8; c_tag = "Main Module 1F - East"},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/deck_1)
+"ql" = (/obj/machinery/camera/network/civilian_west{dir = 1; c_tag = "Main Module 1F - Warehouse South"},/turf/simulated/floor/tiled/dirty,/area/entrepot/cargo)
+"qm" = (/obj/machinery/camera/network/civilian_west{c_tag = "Main Module 1F - Warehouse North"},/turf/simulated/floor/tiled/dirty,/area/entrepot/cargo)
+
+(1,1,1) = {"
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanraaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnraaaanrnraaaaaaaanrnrnraaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaanrnrnraaaaaaaanrnrnrnraaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnraaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnraaaaaaaaaaaaaaaaaaaaaaaanrnrnrnraanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaanrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaponrnrnrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaanrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaanrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnraaaaaanrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaanrnraaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaanrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnraanrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnraaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnraaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnraaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnraaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaanrnrnrnraaaaaaaaaaaaaaaaaaaanrnrnrnrnrnraaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaanrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaanrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaanrnrnrnrnrnraaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnraaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaanrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaanrnrnrnrnrnraaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaanrnrnrnraaaaaaaanraaaaaaaaaaaanrnrnrnrnraaaanrnrnrnrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaanrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnraaaaaaaaaaaaaaaaaanraaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaanrnrnraaaaaanraaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaanrnraaaaaaaaaanrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaanrnrnrnrnrnrnrnrnrnrnrnraaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaanrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnraanrnraaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnraaaaaaaaaaaanrnraaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnraaaaaaaaaanraaaaaaaanrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnraaaaaaaaaaaaaaaaaanrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaanrnraanrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnrnraaaaaaaaaaaaaaaaaanrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnraaaaaaaaaaaaaaaaaaaanrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaanraaaanrnrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnrnrnrnraaaaaaaaaaaaaaaaaanrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaanrnrnrnraaaaaaaaaaaaaanraaaaaanrnraaaaaanrnraaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnrnrnrnrnraaaaaaaaaaaaaaaanrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnrnrnrnrnrnraaaaaaaaaaaaaaaaaanrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaanrnrnrnrnrnrnrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaanraaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnrnrnrnrnraaaaaaaaaaaaaanrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaanrnrnrnrnrnrnrnrnrnrnraaaaaaaaaaaanrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaanrnrnrnrnraaaaaaaaaaaaaanrnrnrnrnrnrnrnrnrnraaaaaaaaaaaaaanrnrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaanrnrnrnrnrnraaaaaaaaaaaaaanrnrnrnrnrnrnrnraaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaanrnrnrnrnraaaaaaaaaaaaaaaanrnrnrnrnrnraaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnrnrnrnraaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanraanrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaanrnraaaaaaaaaanrnrnrnrnraaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnraaaaaaaaaaaanrnrnraaaaaaaaaaaanraaaaaanrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnraaaaaaaaaanrnrnrnrnrnrnraaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnraaaaaaaaaanrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabipipipipaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnrnrnraaaaaaaaaanrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaipipipipipaaaaaaipipipaaaaaaaaabababababipipipaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaanrnrnrnrnrnrnrnrnrnrnraaaaaaaanrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaipipipaaaaabaaaaaaabaaaaaaabaaipipaaaaabababaaaaaaaaaaipipipaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaanrnrnrnrnrnrnrnrnrnrnrnraaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaipipaaabaaaaabaaaaaaabaaaaaaabaaaaipaaababaaabaaaaaaaaaaaaaaipipaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaipaaaaababababacacacacadadadacabaaipababaaaaabaaaaaaaaaaaaaaaaipipaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaipababacacacacaeafagahaiajakacababababaaaaaaabaaaaaaaaaaaaaaaaaaipaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabacalamanaoapapapaRbwaqacababacadadadadadadaaaaaaaaaaaaaaaaipipaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnrnrnrnrnrnraaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabacoLaskHaXmyataumKavaoacacacacawaxayazaAadaaaaaaaaaaaaaaaaaaipaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnrnrnrnrnrnraaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabacaBaraCaoaUaYaYbfapaDaEaFbMaoaHaImMaKaLadaaaaaaaaaaaaaaaaaaipipaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnrnrnrnrnraaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabacaMoXaNaoaOaPaQbNcImzmDmLmNaoaTmFaJaVaWadabaaaaaaaaaaaaaaaaaaipaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnrnrnraaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabacacacacacaoaoaomxaoaonPaGaSaZbamFaJazaAadababaaaaaaaaaaaaaaaaipipaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababaaaaadbbbcbdmJbemIbgnSaSbhbinNnOguaLadaaababaaaaaaaaaaaaaaabipaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababaaadarararnQbemIbjnSaSbkbidkaJaVaWadaaaaababaaaaaaaaaaaaabipaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababadblbmbnnRbemIbonSaSbpbidkaJbsbtbuadadadadaaaaaaaaaaaaabipaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabacacaoaoaoaoaobvnTbxbybidkbzbAbDaobMbEbFadababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabacbGbHbIbLaopPombibidsjSkGkGmEmHonmBmCadaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaoaobObPmGpQcapRpRdbbQbQbUbVbWnKbXmOadaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabititabitititabitititabititabaaaaaaaaaaaaaaaaaaacbYbHnUmiaobZoocbaSfDaSaSccddaomhjQmPadababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababaaaaaaaaaaaaaaaaacacacacacacacacmInlnunlmIkIacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaitabclclclclclclclclclclclclclabitaaaaaaaaaaaaaaaaaaaaaaabaaaaabcdcecfnLcgchcdabaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaitabclcocpcoclcqcrcqclcsctcsclabitaaaaaaaaaaaaaaaaaaaaaaabaaaaabcdlWnXnMcgcicdabaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnraaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaitabclcocucoclcqcvcqclcscwcsclabitaaaaaaaaaaaaaaaaaaaaaaababababcdpicfnLcgpjcdababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnraaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaitabclcyczcAclcBcCcDclcEcFcGclabitaaaaaaaaaaaaaaaaaaaaaaabaaaaabcdckcfopnWlOcdabaaaaabaaaaaaabipipaaaaaaaaabipipaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaipipitititabclcRcScTclcUcScTclcVcScWclabitaaaaaaaaaaaaaaaaaaaaaaabaaaaabcdcjcfnLcgcecdabaaaaabaaaaaaabaaipipaaaaaaabaaipipaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaipababababababdgdhdiabdgdhdiabdjdhlLabababaaaaaaaaaaaaaaaaaaaaablylylylylzoNoPpMoPoNlzlylylylyabaaaaabaaaaipipaaaaabaaaaipipaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababicidbCbCbCbJbCdmdnbJbCdmdndobCdpbCdqdqaaaaaaaaaaaaaaaaaaabablybqbrbBbKcxcHnLcHcJcKcLcMcNlyabababababababipipabababababipipabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaipababiibCiWdrdxdydzdAdxdBdCdDdEdFdGdHdIdqababababablylycOcOcOlylzcPcQcXcYcZdapNdadccYdwcQdelzlycOcOcOlylyabababababababababababipaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaipipipiibCjpdrdxdrdQdRdSdTdUdRdEdVdWfLdIdqaaaaababaalyeSdfdfdfoNdfdfediEkjkjkjkimpmpmpnppVdfdfoNdfdfdfdfdtdtdtdtdtdtdtdtdtdtdtabipipaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaitivbCjFdrdxdrhAhXhYhZiaiaibdRieifigdqababababablyoJdudududvdudunVdJdKdKdKoSdKqhdKdLpWdududMdudududfdtdNjadPdXdOdYdZqmeadtabaaipipaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaitiwihjGijikilililimijijijijijinioqeiqcdcdcdcdcdlzqjmjmklYoNebecmueeefegegegegegefehpXeiejoNlRnoeBdflKekjcpqemdOeneodOepdtabaaaaipaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajNdhdqirhVisiuixiyqfiHiziIiziLiQiAiDeqcmckpklPceeDlMmlndesetetevmueeegabaaaaaaabegehpXeyetetesniiRdfezeAkgeAeAeAiSiTmaeCeCabababipabipaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaitabdqiGiViGiGiGiJiGiGiGiYiGiKjkjliOeReHeHeHhReHiFowmleEeFeteGeImueeegaaaaaaaaaaegehpXeJeKeteLeEiRdueMeNkueNeNeNiZePeQeCaaabaaaaaaaaipaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaitabdqiUjmjoiGjqjBjCiGqgoBjCiGjbjEjHmvmwpsmwpJmwpKkfnjerhShThUiBmuoTegaaaaaaaaaaegoUpYpZiMhTiPerlNmqmrjeoqmsmtgcnsjdnteCaaabaaaaaaaaipaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaitabdqjnprpLiGoCjroDiGoEjDoDiGoWiNiOeRhWnYiChWhWiFdunVeEeFetjfjgmueeegaaaaaaaaaaegehdfjhjieteLeEordueMeNeNeNeNeNkhePeQeCaaabaaaaaaaaipaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaitabdqpupBptiGjIjJjKiGjIiXjKiGjLlUlTeqcelVplcicneDdfnVnHjjetethmmueeegabaaaaaaabegehdfhoetetjjoRorqkezjUjUjUjUjUkmksmbeCeCabababipabipaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaitabdqpvpwbCdqdqjMjTkCdqdqdqdqbCbCbCiqcdcdcdcdcdlzdfoxnolSoNjVjWmueeefegegegegegefehdfjXjYoNlZmkoydflKjZdOkakbdOkckddOkedtabaaaaipaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaitabdqpxgIbCababababjsababababababababababababablydfpSpTpTpUpTpTmmnmkkqikkoVkkkkkkkldlnknkoOnkozoAoKdtjZqlknkodOkpkqelkrdtabaaipipaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaitabdqjObCbCaajtjujujvjujujwaaaaabaaaaaaaaababaalydfdfdfdfoNdfdfmnnqkjkjkjeYnnnnnnokmodfdfoNdfdfdfdfdtdtdtdtdtdtdtdtdtdtdtabipipaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaitababaaabaajyjzjAaaabaajyjzjAaaabababababababablylycOcOcOlylzbqkvkwkxkykzfakzkBkDkEkxkFlzlycOcOcOlylyabababababababababababipaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaitititaajxabjyjzjAabababjyjzjAabjxaaaaaaaaaaaaaaaaaaaaaaabablylDlEjPlGlHcHnLcHdclIltlGdelyabababababababipipabababababipipabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajxaajyjzjAaaabaajyjzjAaajxaaaaaaaaaaaaaaaaaaaaaaaaablylylylylzoNoPpMoPoNlzlylylylyabaaaaabaaaaipipaaaaabaaaaipipaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajxaajyjzjAaaabaajyjzjAaajxaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaabcdcecfnLcgchcdabaaaaabaaaaaaabaaipipaaaaaaabaaipipaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajxaajyjzjAaaabaajyjzjAaajxaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaabcdlQnZktcgckcdabaaaaabaaaaaaabipipaaaaaaaaabipipaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapzpApCaaaajxaajyjzjAaaabaajyjzjAaajxaaaaaaaaaaaaaaaaaaaaaaaaaaababababcdpicfnLcgpjcdababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapDpEpFaaaajxaajyjzjAaaabaajyjzjAaajxaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaabcdcicfkAoalXcdabaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapGpHpIaaaajxaajyjzjAaaabaajyjzjAaajxaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaabcdcjcfnLcgcecdabaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajxabjyjzjAabababjyjzjAabjxaaaaaaaaaaaaaaaaaaaaaaaaabeUeUeUeUeVeZfkkUfkeZeVeUeUeUeUabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajxaajyjzjAaaaaaajyjzjAaajxaaaaaaaaaaaaaaaaabeUeUeUeUfbfcfdfefgfhfjmRfjflfnfofpfreUeUeUeUabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaababeUfsftogohmSnwnwewoloQqalCmQfjfjfjfjfmoHfjkSababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajxjxjxjxjxjxjxjxjxaaaaaaaaaaaaaaaaababaaeUfzoifAfBnxnynygefPfQfQfQfPfRfCfCfCfBfvfjkSaaababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababaaaaeUfSojkOeUkSkSkTggkVkWkXkYfxfyfEkSkSeUfFfjkSaaaaababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajxababababababbRbRbSbSbSbSbRbReTfBfufBeUaakZlagglblcldlefGfyfTkZaaeUeWgqkSkSkSkSkSkSkSkSkSababababababjxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjxaaaaaaaaaaaabRgweueOfieugGfwfHfIfJfKeUkSkSkTgglflglhlijRfyfEkSkSeUoMfUfUfUfUfUfUfUfUfUkSaaaaaaaaaaaajxabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababjxaaaaaaaaaaaabRfMeufNfOeufVfWfXfYfZgdeZeXeXeXexgrgagagafPkLeXeXgbeZfUfUfUfUfUfUfUfUfUfUkSaaaaaaaaaaaajxababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaipaajxaaaaaaaaaaaabRbTeufNfOeufqfwgfgnfZnanboQoQoQgsgtoQgvpynAqbqbqbqcgqfUfUfUfUfUfUfUfUfUfUkSaaaaaaaaaaaajxaaipaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaipabjxababababababbRfMeufNfOeufVfwgofZfZnBeZghgigjgkmcfjfPlAmdglgmkJgHeZfUfUfUfUfUfUfUfUfUfUkSababababababjxabipaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaipaaabaaaaaaaaaaaagpgNmVmWmXmVmYgOnCobotoufBfBfBfBfBfBkKeZlBfBfBfBfBfBfBfUfUfUfUfUfUfUfUfUfUkSaaaaaaaaaaaaabaaipaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaipaaabaaaaaaaaaaaabRpmgxgygzgFpnfwhkgJgKkMffgAgBgCgDffngmfmTffgLgTpdgMfffUfUfUfUfUfUfUfUfUfUkSaaaaaaaaaaaaabaaipaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaipabjxababababababbRbRbSbSbSbSbRbRkNkPljfwffffffmUncnfnhnvnzmAnIofgQoFfffUfUfUfUfUfUfUfUfUfUkSababababababjxabipaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaipaajxaaaaaaabaaaaababaaaaaaaaabbRlklllkfwgRgRgRocgSffpfnJpgffgPgPgPgPmZfUfUfUfUfUfUfUfUfUfUkSaaaaaaaaaaaajxaaipaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababjxaaaaaaabaaaaaaababaaaaaaaabRlkoYlkfwmeneneodgSffgUgVgWffgMgPgQgQfffUfUfUfUfUfUfUfUfUfUkSaaaaaaaaaaaajxababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjxaaaaaaabaaaaaaaaababaaaaaabRbRbRbRbRgXgXgXocpcffgYgYgYffgMgPpegMfffUfUfUfUfUfUfUfUfUfUkSaaaaaaaaaaaajxabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanraaaaaanrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajxababababaaaaaaaaaaababaaaaaaaaaaabgZgZgZffoeffhahbhcmghaffmZffffffffgZeUkSkSkSkSkSkSkSkSababababababjxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaababaaaaaaaaaaaaabhdheosnDpbnEnFnGhfhggEhhpaoGhhgZaaaaaaaaaaaaaaababaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaabababaaaaaaaaaaabhdhiovqdgEgEgEgEgEgEgEgEgEgEgEhdaaaaaaaaaaaaababaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaababaaababaaaaaagZgZgZffhjpOhlgElvhnhnhnhnhnhnhnlFhdaaaaaaaaaaabababaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaababaaaaaaababaaabgZhphqhrhshthugEhvhwhxhxhxhyhyhxhzhdaaaaaaaaababaaababaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanraaaaaanrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaababaaaaaaaaaaababhdhdhBhChDhEhFhGgEhvhHhIhIhIhIhIhIhzhdaaaaaaabaaaaaaaaababaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaababaaaaaaaaaaaaababhdhJhKhLhMhLhNgEgEhvhHhOhIhIhIhIhIhzhdaaaaababaaaaaaaaaaababaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnraaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaababaaaaaaaaaaaaaaababhdhdhPhQkQhskRlmgEhvhHhIhIhIhIhIhIhzhdaaababaaaaaaaaaaaaaaababaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaipaaaaabababaaaaaaaaaaaaaaababaaabgZlnlolplqlrlsgElJluoZlululuoZluoIhdababababaaaaaaaaaaaaaaabababaaaajxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaipaaaaababaaaaaaaaaaaaaaababaaaaaagZgZgZgZlwgZlxhdhdhdhdhdhdhdhdhdhdhdabaaaaababaaaaaaaaaaaaaaababaaaajxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaipipababaaaaaaaaaaaaaaababaaaaaaaaabaaaaaaaaabaaaaaaaaaaaaabaaaaaaaaabaaaaaaaaababaaaaaaaaaaaaaaababjxjxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaanrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaipabaaaaaaaaaaaaaaababaaaaaaaaaaabaaaaaaaaabaaaaaaaaaaaaabaaaaaaaaabaaaaaaaaaaababaaaaaaaaaaaaaaabjxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaanrnrnrnraaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaipipaaaaaaaaaaaaababaaaaaaaaaaaaabaaaaaaaaabaaaaaaaaaaaaabaaaaaaaaabaaaaaaaaaaaaababaaaaaaaaaaaajxjxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaanrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaipipaaaaaaaaababaaaaaaaaaaaaaaabaaaaaaaaabaaaaaaaaaaaaabaaaaaaaaabaaaaaaaaaaaaaaababaaaaaaaajxjxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaipipaaaaabababababababababababaaaaaaaaabaaaaaaaaaaaaabaaaaaaaaabababababababababababaaaajxjxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaipipababaaaaaaaaaaaaaaaaaaabaaaaaaaaabaaaaaaaaaaaaabaaaaaaaaabaaaaaaaaaaaaaaaaaaababjxjxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnraaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaipipipaaaaaaaaaaaaaaaaaaabjxjxjxjxjxababababababjxjxjxjxjxabaaaaaaaaaaaaaaaaaajxjxjxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnraaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaipipipaaaaaaaaaaaaaaaaaaababaaaaaaaaaaaaaaaaaaaaababaaaaaaaaaaaaaaaaaajxjxjxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabipipipipaaaaipipipipabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababaaabaaaaabaaababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaanraaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabipipipipipipabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaanrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaanrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanraaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaanrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaanrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaanrnraaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnraaaaaanrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanraaaanrnrnraaaaaanrnraaaaaaaaaaaaaaaaaappppppppaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaanrppppppnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrppppppppnrnrnrnrnrnrnrnraaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrppppppnrnrnrnrnrnrnrnrnrnraaaaaanrnrnraaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaanrnrnrnrnrppppppnrppppnrppnrnrnrnrnrnrnrnrnrnrnrnraaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrppppppppppppppnrnrnrnrnrnrnrnrnrnrnrnraaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaanrnraaaanrnrnrnrnrnrnrnrnrnrppppppppppnrnrnrnrnrnrnrnrnrnrnrnrnraaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaanrnrnrnraanrnrnrnrnrnrnrnrnrnrnrppnrppppnrnrnrnrnrnrnrnrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrppppppppppnrnrnrnrnrnrnrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanraaaanrnrnrnrnrnrnrppppnrnrnrnrnrnrppppnrppppppnrnrnrnrnrnrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnrppppppnrnrppppppppppppppppppppnrnrnrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaanrnrnrnrnrnrnrnrnrnrppppppppppppppppppnrnrnrppppnrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraanrnrnrnraaaaaaaanrnrnrnrnrnrnrnrnrnrnrppppppppnrnrnrnrnrnrnrppnrnrnrnrnrnrnraaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanraaaanrnrnraanraaaanrnrnrnrnrnrnrnrnrnrnrppnrnrppppnrnrnrnrnrnrnrnrnrnrnrnrnraaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaanrnraaaaaanrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrppppppnrnrnrnrnrnrnrnrnrnrnraaaanraaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaanrnrnraaaaaaaanrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnraaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaanrnraaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaanrnraaaaaanraaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnraaaaaanrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnraanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnraaaaaaaanrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaanrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnrnraaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnraaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaanrnrnrnrnrnrnrnrnrnrnrnrnrnraaaaaaaanrnrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnraaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnraaaaaanrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaanrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnraaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaanrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnraaaaaaaanraaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaanrnrnraaaaaaaaaaaaaaaanraaaaaaaanrnraaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaanrnraaaaaanrnrnrnraaaanraaaanrnrnrnraaaaaanraaaaaaaaaanrnrnraaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnrnrnraaaaaaaaaaaanrnrnrnraaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaanrnrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaanrnrnraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanrnraaaaaaaaaaaaaaaaaaaaaaaanraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+phaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+"}
diff --git a/maps/entrepot/entrepot-2.dmm b/maps/entrepot/entrepot-2.dmm
new file mode 100644
index 00000000000..d7b48344140
--- /dev/null
+++ b/maps/entrepot/entrepot-2.dmm
@@ -0,0 +1,995 @@
+"aa" = (/turf/space,/area/space)
+"ab" = (/obj/structure/window_frame/reinforced/hull,/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/entrepot/cafe_2)
+"ac" = (/obj/structure/window_frame/reinforced/hull,/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/entrepot/dock)
+"ad" = (/turf/simulated/wall/r_wall,/area/entrepot/crew_2)
+"ae" = (/turf/simulated/wall/r_wall,/area/entrepot/arrivals)
+"af" = (/obj/machinery/door/airlock{name = "Cabin 2"; id_tag = "Room2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2/dorm)
+"ag" = (/turf/simulated/wall/r_wall,/area/entrepot/engi_2)
+"ah" = (/turf/simulated/floor/tiled/dark/rough,/area/entrepot/arrivals)
+"ai" = (/turf/simulated/open,/area/entrepot/cafe_2)
+"aj" = (/obj/machinery/gateway{dir = 9},/obj/machinery/light/he{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/arrivals)
+"ak" = (/turf/simulated/wall/r_wall,/area/entrepot/deck_2)
+"al" = (/obj/machinery/door/airlock/external/bolted_open,/obj/machinery/door/firedoor/border_only,/obj/machinery/shield_diffuser,/turf/simulated/floor/plating/rough,/area/entrepot/dock)
+"am" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/dock)
+"an" = (/obj/structure/window_frame/reinforced/hull,/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/entrepot/deck_2)
+"ao" = (/obj/structure/cable{icon_state = "2-8"; d2 = 8; d1 = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/disposalpipe/segment{icon_state = "pipe-c"; dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_2)
+"ap" = (/turf/simulated/wall,/area/entrepot/deck_2)
+"aq" = (/turf/simulated/open,/area/entrepot/deck_2)
+"ar" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_2)
+"as" = (/obj/structure/railing/steel,/turf/simulated/open,/area/entrepot/deck_2)
+"at" = (/turf/simulated/floor/tiled/dark/rough,/area/hallway/secondary/entry/fore)
+"au" = (/turf/simulated/floor/plating,/area/entrepot/dock)
+"av" = (/turf/simulated/floor/tiled/dark/rough,/area/entrepot/dock)
+"aw" = (/obj/structure/railing/darkwood{dir = 4},/turf/simulated/open,/area/entrepot/cafe_2)
+"ax" = (/obj/structure/closet/emcloset,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/dock)
+"ay" = (/turf/space,/area/crew_quarters/bar)
+"az" = (/obj/structure/window_frame/reinforced/hull,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/entrepot/engi_2)
+"aA" = (/obj/machinery/gateway{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/arrivals)
+"aB" = (/obj/structure/window_frame/reinforced/hull,/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/entrepot/crew_2)
+"aC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_2)
+"aD" = (/obj/machinery/floor_light/prebuilt,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_2)
+"aE" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/reinforced/airless,/area/space)
+"aF" = (/obj/machinery/door/airlock/glass{name = "Gateway"},/obj/machinery/door/firedoor,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/arrivals)
+"aG" = (/turf/simulated/floor/tiled/dark/rough,/area/entrepot/deck_2)
+"aH" = (/obj/structure/window_frame/reinforced/hull,/obj/machinery/door/firedoor,/obj/structure/sign/warning/airlock,/turf/simulated/floor/plating,/area/entrepot/dock)
+"aI" = (/turf/simulated/floor/tiled/dark/mono,/area/entrepot/dock)
+"aJ" = (/turf/simulated/wall/r_wall,/area/entrepot/crew_2/dorm)
+"aK" = (/obj/machinery/floor_light/prebuilt,/obj/machinery/media/jukebox,/obj/machinery/camera/network/civilian_east{dir = 1; c_tag = "Refectory Module 2F - North"},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_2)
+"aL" = (/obj/machinery/floor_light/prebuilt,/obj/structure/table/glass,/obj/item/music_tape/custom,/obj/item/music_tape/custom,/obj/item/music_tape/custom,/obj/item/music_tape/custom,/obj/item/music_tape/custom,/obj/item/music_tape/custom,/obj/item/music_tape/custom,/obj/item/music_tape/custom,/obj/item/music_tape/custom,/obj/item/music_tape/custom,/obj/item/music_tape_box/valhalla,/obj/item/music_tape_box/jazz,/obj/item/music_tape_box/frontier,/obj/item/music_tape_box/exodus,/obj/item/music_tape_box/classic,/obj/item/device/multitool,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_2)
+"aM" = (/obj/effect/floor_decal/stairs,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_2)
+"aN" = (/obj/structure/window_frame/reinforced/hull,/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/entrepot/crew_2/dorm)
+"aO" = (/obj/effect/floor_decal/siding/wood{dir = 8},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_2)
+"aP" = (/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_2)
+"aQ" = (/obj/structure/bed/couch/right/sofa,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_2)
+"aR" = (/obj/structure/bed/couch/left/sofa,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_2)
+"aS" = (/obj/structure/railing/darkwood,/obj/effect/floor_decal/siding/wood,/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_2)
+"aT" = (/obj/structure/table/darkwood_reinforced,/obj/item/material/ashtray/bronze{pixel_x = 5},/obj/effect/floor_decal/siding/wood{dir = 1},/obj/item/device/flashlight/lamp/brown{pixel_x = -3; pixel_y = 6},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_2)
+"aU" = (/obj/structure/table/darkwood_reinforced,/obj/item/material/ashtray/bronze,/obj/item/reagent_containers/vessel/hookah,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_2)
+"aV" = (/obj/machinery/gateway{dir = 5},/obj/machinery/light/he{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/arrivals)
+"aW" = (/obj/structure/railing/darkwood,/turf/simulated/open,/area/entrepot/cafe_2)
+"aX" = (/obj/structure/railing/darkwood{dir = 4},/obj/structure/railing/darkwood,/turf/simulated/open,/area/entrepot/cafe_2)
+"aY" = (/obj/structure/bed/couch/left/sofa{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_2)
+"aZ" = (/obj/structure/bed/couch/right/sofa{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_2)
+"ba" = (/obj/structure/bed/chair/comfy/brown{dir = 4},/obj/effect/floor_decal/siding/wood{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_2)
+"bb" = (/obj/machinery/gateway{dir = 8},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/arrivals)
+"bc" = (/obj/effect/floor_decal/techfloor,/turf/simulated/floor/reinforced/airless,/area/space)
+"bd" = (/obj/effect/floor_decal/techgrid{dir = 8},/turf/simulated/floor/reinforced/airless,/area/space)
+"be" = (/obj/effect/floor_decal/techgrid{dir = 1},/obj/effect/floor_decal/techgrid{dir = 8},/turf/simulated/floor/reinforced/airless,/area/space)
+"bf" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled/dirty,/area/entrepot/crew_2)
+"bg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_2)
+"bh" = (/obj/structure/closet/emcloset,/turf/simulated/floor/tiled/dark/mono,/area/entrepot/dock)
+"bi" = (/obj/machinery/vending/cigarette,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/dock)
+"bj" = (/obj/structure/flora/pottedplant/minitree,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/camera/network/civilian_east{dir = 1; c_tag = "Main Module 2F - Docks North"},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/dock)
+"bk" = (/obj/effect/floor_decal/techfloor,/obj/effect/floor_decal/techgrid{dir = 1},/turf/simulated/floor/reinforced/airless,/area/space)
+"bl" = (/obj/effect/floor_decal/techgrid{dir = 8},/obj/effect/floor_decal/techgrid{dir = 1},/obj/effect/floor_decal/spline/plain/blue{dir = 8},/obj/effect/floor_decal/spline/plain/corner/black{dir = 4},/obj/effect/floor_decal/spline/plain/corner/black{dir = 8},/turf/simulated/floor/reinforced/airless,/area/space)
+"bm" = (/obj/structure/table/darkwood_reinforced,/obj/machinery/light/small/hl,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_2)
+"bn" = (/obj/structure/bed/chair/comfy/brown{dir = 8},/obj/effect/floor_decal/siding/wood{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_2)
+"bo" = (/obj/effect/floor_decal/techfloor{dir = 1},/turf/simulated/floor/reinforced/airless,/area/space)
+"bp" = (/obj/effect/floor_decal/techgrid{dir = 1},/turf/simulated/floor/reinforced/airless,/area/space)
+"bq" = (/obj/effect/floor_decal/techfloor{dir = 1},/obj/effect/floor_decal/techgrid{dir = 8},/turf/simulated/floor/reinforced/airless,/area/space)
+"br" = (/obj/effect/floor_decal/techfloor{dir = 1},/obj/effect/floor_decal/techgrid,/turf/simulated/floor/reinforced/airless,/area/space)
+"bs" = (/obj/effect/floor_decal/siding/wood/corner{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_2)
+"bt" = (/obj/effect/floor_decal/techgrid,/obj/effect/floor_decal/techgrid{dir = 4},/turf/simulated/floor/reinforced/airless,/area/space)
+"bu" = (/obj/effect/floor_decal/techgrid{dir = 4},/turf/simulated/floor/reinforced/airless,/area/space)
+"bv" = (/obj/effect/floor_decal/techgrid,/turf/simulated/floor/reinforced/airless,/area/space)
+"bw" = (/obj/effect/floor_decal/techfloor{dir = 1},/obj/effect/floor_decal/techgrid{dir = 8},/obj/effect/floor_decal/spline/plain/blue{dir = 8},/obj/effect/floor_decal/spline/plain/blue{dir = 1},/obj/effect/floor_decal/spline/plain/corner/black{dir = 8},/obj/effect/floor_decal/spline/plain/corner/black{dir = 4},/turf/simulated/floor/reinforced/airless,/area/space)
+"bx" = (/obj/effect/floor_decal/siding/wood/corner,/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{icon_state = "conpipe-c"; dir = 2},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_2)
+"by" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/reinforced/airless,/area/space)
+"bz" = (/obj/effect/floor_decal/techfloor{dir = 4},/turf/simulated/floor/reinforced/airless,/area/space)
+"bA" = (/obj/effect/floor_decal/techfloor{dir = 8},/turf/simulated/floor/reinforced/airless,/area/space)
+"bB" = (/obj/structure/bed/couch/left/sofa{dir = 1},/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_2)
+"bC" = (/obj/effect/floor_decal/techfloor{dir = 1},/obj/effect/floor_decal/spline/plain/blue{dir = 1},/obj/effect/floor_decal/spline/plain/corner/black{dir = 4},/turf/simulated/floor/reinforced/airless,/area/space)
+"bD" = (/obj/effect/floor_decal/techfloor{dir = 8},/obj/effect/floor_decal/spline/plain/blue{dir = 8},/obj/effect/floor_decal/spline/plain/corner/black{dir = 8},/obj/effect/floor_decal/spline/plain/corner/black{dir = 4},/turf/simulated/floor/grid/bluegrid/airless,/area/space)
+"bE" = (/obj/effect/floor_decal/techfloor{dir = 4},/obj/effect/floor_decal/spline/plain/blue{dir = 4},/obj/effect/floor_decal/spline/plain/corner/black,/turf/simulated/floor/grid/bluegrid/airless,/area/space)
+"bF" = (/obj/machinery/vending/coffee,/turf/simulated/floor/tiled/dark/mono,/area/entrepot/dock)
+"bG" = (/turf/simulated/open,/area/entrepot/crew_2/fitness)
+"bH" = (/obj/effect/floor_decal/techfloor{dir = 8},/obj/effect/floor_decal/spline/plain/blue{dir = 8},/obj/effect/floor_decal/spline/plain/corner/black{dir = 8},/turf/simulated/floor/grid/bluegrid/airless,/area/space)
+"bI" = (/obj/effect/floor_decal/techgrid{dir = 8},/obj/effect/floor_decal/techgrid{dir = 1},/obj/effect/floor_decal/spline/plain/blue{dir = 8},/obj/effect/floor_decal/spline/plain/corner/black{dir = 8},/turf/simulated/floor/reinforced/airless,/area/space)
+"bJ" = (/obj/effect/floor_decal/techfloor{dir = 1},/obj/effect/floor_decal/spline/plain/blue{dir = 1},/obj/effect/floor_decal/spline/plain/corner/black{dir = 1},/obj/effect/floor_decal/spline/plain/corner/black{dir = 4},/turf/simulated/floor/reinforced/airless,/area/space)
+"bK" = (/turf/simulated/wall/r_wall,/area/turret_protected/ai)
+"bL" = (/obj/effect/floor_decal/techfloor{dir = 4},/obj/effect/floor_decal/spline/plain/blue{dir = 4},/obj/effect/floor_decal/spline/plain/corner/black,/obj/effect/floor_decal/spline/plain/corner/black{dir = 1},/turf/simulated/floor/grid/bluegrid/airless,/area/space)
+"bM" = (/obj/structure/cable{icon_state = "1-4"; d2 = 4; d1 = 1},/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/disposalpipe/segment{icon_state = "pipe-c"; dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2)
+"bN" = (/obj/machinery/light,/obj/machinery/camera/network/civilian_east{dir = 1; c_tag = "Living Module 2F - North"},/turf/simulated/open,/area/entrepot/crew_2)
+"bO" = (/obj/effect/floor_decal/techfloor{dir = 1},/obj/effect/floor_decal/spline/plain/blue{dir = 1},/obj/effect/floor_decal/spline/plain/corner/black{dir = 4},/obj/effect/floor_decal/spline/plain/corner/black{dir = 1},/turf/simulated/floor/reinforced/airless,/area/space)
+"bP" = (/obj/effect/floor_decal/techfloor{dir = 1},/obj/effect/floor_decal/industrial/warning/corner,/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/reinforced/airless,/area/space)
+"bQ" = (/obj/effect/floor_decal/techgrid{dir = 1},/obj/effect/floor_decal/techgrid{dir = 8},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/reinforced/airless,/area/space)
+"bR" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/reinforced/airless,/area/space)
+"bS" = (/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2/fitness)
+"bT" = (/obj/structure/railing/steel,/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2)
+"bU" = (/turf/simulated/wall/r_wall,/area/entrepot/crew_2/fitness)
+"bV" = (/obj/structure/table/standard,/obj/item/towel,/obj/item/reagent_containers/vessel/fitnessflask/proteinshake,/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/white/mono,/area/entrepot/crew_2/fitness)
+"bW" = (/obj/structure/fitness/weightlifter,/turf/simulated/floor/tiled/white/mono,/area/entrepot/crew_2/fitness)
+"bX" = (/obj/structure/reagent_dispensers/water_cooler,/obj/structure/sign/flag/rainbow{pixel_y = 32},/obj/machinery/camera/network/civilian_east{c_tag = "Living Module 2F - Gym"},/turf/simulated/floor/tiled/white/mono,/area/entrepot/crew_2/fitness)
+"bY" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/table/standard,/obj/item/reagent_containers/vessel/bottle/cola,/obj/item/storage/box/cups,/obj/effect/floor_decal/spline/plain/black{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/white/mono,/area/entrepot/crew_2/fitness)
+"bZ" = (/obj/item/stool,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2/fitness)
+"ca" = (/obj/effect/floor_decal/techgrid,/obj/effect/floor_decal/techgrid{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/reinforced/airless,/area/space)
+"cb" = (/obj/effect/floor_decal/techfloor{dir = 1},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/reinforced/airless,/area/space)
+"cc" = (/obj/effect/floor_decal/techfloor,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/reinforced/airless,/area/space)
+"cd" = (/obj/effect/floor_decal/techfloor{dir = 1},/obj/effect/floor_decal/techgrid{dir = 8},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/reinforced/airless,/area/space)
+"ce" = (/obj/structure/railing/steel{dir = 1},/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/entrepot/deck_2)
+"cf" = (/obj/effect/floor_decal/techfloor{dir = 1},/obj/effect/floor_decal/techgrid,/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/reinforced/airless,/area/space)
+"cg" = (/obj/effect/floor_decal/techfloor,/obj/effect/floor_decal/techgrid{dir = 1},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor/reinforced/airless,/area/space)
+"ch" = (/obj/effect/floor_decal/techfloor,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/turf/simulated/floor/reinforced/airless,/area/space)
+"ci" = (/obj/effect/floor_decal/techfloor,/obj/effect/floor_decal/techgrid{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/turf/simulated/floor/reinforced/airless,/area/space)
+"cj" = (/obj/effect/floor_decal/industrial/shutoff{dir = 4},/obj/effect/floor_decal/industrial/outline,/turf/simulated/floor/reinforced/airless,/area/space)
+"ck" = (/obj/effect/floor_decal/floordetail/borderfloor/black/full,/turf/simulated/floor/reinforced/airless,/area/space)
+"cl" = (/obj/effect/floor_decal/techfloor,/obj/effect/floor_decal/spline/plain/blue,/obj/effect/floor_decal/spline/plain/corner/black,/obj/effect/floor_decal/spline/plain/corner/black{dir = 8},/turf/simulated/floor/reinforced/airless,/area/space)
+"cm" = (/obj/effect/floor_decal/techfloor,/obj/effect/floor_decal/spline/plain/blue,/obj/effect/floor_decal/spline/plain/corner/black,/turf/simulated/floor/reinforced/airless,/area/space)
+"cn" = (/turf/simulated/open,/area/entrepot/engi_2)
+"co" = (/obj/structure/disposalpipe/segment{icon_state = "conpipe-c"; dir = 4},/turf/simulated/floor/reinforced/airless,/area/space)
+"cp" = (/obj/structure/cable{icon_state = "1-8"; d2 = 8; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/effect/floor_decal/techfloor,/obj/effect/floor_decal/spline/plain/blue,/obj/effect/floor_decal/spline/plain/corner/black,/turf/simulated/floor/reinforced/airless,/area/space)
+"cq" = (/obj/effect/floor_decal/techfloor,/obj/effect/floor_decal/spline/plain/blue,/obj/effect/floor_decal/spline/plain/blue{dir = 4},/obj/effect/floor_decal/spline/plain/corner/black,/obj/effect/floor_decal/spline/plain/corner/black{dir = 1},/turf/simulated/floor/reinforced/airless,/area/space)
+"cr" = (/obj/item/immovable_wand,/obj/effect/floor_decal/techfloor,/obj/effect/floor_decal/techgrid{dir = 1},/turf/simulated/floor/reinforced/airless,/area/space)
+"cs" = (/obj/effect/floor_decal/techfloor{dir = 1},/obj/effect/floor_decal/techgrid{dir = 8},/obj/effect/floor_decal/spline/plain/blue{dir = 1},/obj/effect/floor_decal/spline/plain/blue{dir = 8},/obj/effect/floor_decal/spline/plain/corner/black{dir = 8},/obj/effect/floor_decal/spline/plain/corner/black{dir = 1},/obj/effect/floor_decal/spline/plain/corner/black{dir = 4},/turf/simulated/floor/reinforced/airless,/area/space)
+"ct" = (/obj/effect/floor_decal/techgrid{dir = 1},/obj/effect/floor_decal/techgrid{dir = 8},/obj/effect/floor_decal/spline/plain/blue{dir = 8},/obj/effect/floor_decal/spline/plain/corner/black{dir = 8},/turf/simulated/floor/reinforced/airless,/area/space)
+"cu" = (/obj/effect/floor_decal/techfloor,/obj/effect/floor_decal/techgrid{dir = 1},/obj/effect/floor_decal/spline/plain/blue,/obj/effect/floor_decal/spline/plain/blue{dir = 8},/obj/effect/floor_decal/spline/plain/corner/black{dir = 8},/obj/effect/floor_decal/spline/plain/corner/black,/turf/simulated/floor/reinforced/airless,/area/space)
+"cv" = (/obj/structure/bed/padded,/turf/simulated/floor/trim/carpet/purple,/area/entrepot/crew_2/dorm)
+"cw" = (/turf/simulated/floor/trim/wood,/area/entrepot/crew_2/dorm)
+"cx" = (/obj/structure/railing/steel,/obj/machinery/alarm{dir = 4; pixel_x = -24},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/dock)
+"cy" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/arrivals)
+"cz" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/dock)
+"cA" = (/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_2)
+"cB" = (/obj/structure/table/steel,/obj/item/material/ashtray/glass,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/dock)
+"cC" = (/obj/structure/railing/steel,/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/arrivals)
+"cD" = (/obj/effect/floor_decal/techgrid,/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_2)
+"cE" = (/obj/structure/window_frame/reinforced/hull,/obj/machinery/door/firedoor,/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/entrepot/crew_2)
+"cF" = (/obj/structure/table/woodentable,/obj/item/modular_computer/laptop/preset/custom_loadout/standard,/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/trim/wood,/area/entrepot/crew_2/dorm)
+"cG" = (/obj/effect/floor_decal/techgrid,/obj/effect/floor_decal/techgrid{dir = 8},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_2)
+"cH" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/dock)
+"cI" = (/obj/machinery/status_display,/turf/simulated/wall,/area/entrepot/dock)
+"cJ" = (/turf/simulated/wall,/area/entrepot/dock)
+"cK" = (/obj/structure/sign/warning/airlock,/turf/simulated/wall/r_wall,/area/entrepot/dock)
+"cL" = (/turf/simulated/wall,/area/entrepot/crew_2/dorm)
+"cM" = (/obj/effect/floor_decal/techgrid{dir = 8},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_2)
+"cN" = (/obj/structure/railing/steel,/turf/simulated/open,/area/entrepot/dock)
+"cO" = (/obj/structure/table/steel,/obj/item/storage/box/donut,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/dock)
+"cP" = (/turf/simulated/open,/area/entrepot/dock)
+"cQ" = (/obj/machinery/status_display,/turf/simulated/wall,/area/entrepot/deck_2)
+"cR" = (/obj/structure/railing/steel{dir = 1},/turf/simulated/open,/area/entrepot/deck_2)
+"cS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/arrivals)
+"cT" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_2)
+"cU" = (/obj/effect/floor_decal/techgrid,/obj/effect/floor_decal/techgrid{dir = 4},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_2)
+"cV" = (/obj/structure/window_frame/reinforced/hull,/obj/machinery/door/firedoor,/obj/machinery/status_display,/turf/simulated/floor/grid/greengrid,/area/entrepot/deck_2)
+"cW" = (/obj/structure/window_frame/reinforced/hull,/obj/machinery/door/firedoor,/turf/simulated/floor/grid/greengrid,/area/entrepot/deck_2)
+"cX" = (/obj/effect/floor_decal/industrial/warning{dir = 5},/turf/simulated/floor/tiled/rough,/area/entrepot/dock)
+"cY" = (/obj/effect/floor_decal/industrial/loading{dir = 8},/turf/simulated/floor/tiled/rough,/area/entrepot/dock)
+"cZ" = (/obj/machinery/gateway/centerstation,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/arrivals)
+"da" = (/obj/machinery/gateway{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/arrivals)
+"db" = (/obj/structure/sign/flag/nt,/turf/simulated/wall/r_wall,/area/entrepot/arrivals)
+"dc" = (/obj/structure/window_frame/reinforced/hull,/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/entrepot/arrivals)
+"dd" = (/obj/machinery/gateway{dir = 10},/obj/effect/landmark/joinlate/gate,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/arrivals)
+"de" = (/obj/machinery/gateway,/obj/effect/landmark/joinlate/gate,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/arrivals)
+"df" = (/obj/machinery/gateway{dir = 6},/obj/effect/landmark/joinlate/gate,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/arrivals)
+"dg" = (/obj/machinery/door/airlock/glass{name = "Gateway"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/firedoor,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/arrivals)
+"dh" = (/turf/simulated/wall/r_wall,/area/entrepot/medbay)
+"di" = (/obj/machinery/door/airlock/external/bolted_open,/obj/effect/floor_decal/industrial/box/yellow,/turf/simulated/floor/plating,/area/entrepot/dock)
+"dj" = (/turf/simulated/floor/tiled/dark/mono,/area/entrepot/arrivals)
+"dk" = (/obj/structure/railing/steel,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/arrivals)
+"dl" = (/obj/structure/railing/steel,/turf/simulated/wall,/area/entrepot/arrivals)
+"dm" = (/obj/structure/railing/steel,/turf/simulated/open,/area/entrepot/arrivals)
+"dn" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/window_frame/reinforced/hull,/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/entrepot/arrivals)
+"do" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{icon_state = "2-8"; d2 = 8; d1 = 2},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/arrivals)
+"dp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/arrivals)
+"dq" = (/obj/structure/window_frame/reinforced/hull,/obj/machinery/door/firedoor,/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/entrepot/cafe_2)
+"dr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/arrivals)
+"ds" = (/obj/structure/cryofeed{dir = 2},/turf/simulated/floor/plating,/area/entrepot/arrivals)
+"dt" = (/turf/simulated/wall,/area/entrepot/arrivals)
+"du" = (/obj/structure/lattice,/turf/space,/area/space)
+"dv" = (/obj/machinery/shower{dir = 4},/obj/structure/window/reinforced{dir = 4},/obj/effect/floor_decal/spline/plain,/obj/item/reagent_containers/vessel/hookah/makeshift,/obj/item/soap/nanotrasen,/turf/simulated/floor/tiled/freezer,/area/entrepot/crew_2/dorm)
+"dw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/dark/mono,/area/entrepot/dock)
+"dx" = (/obj/machinery/vending/snack,/obj/structure/disposalpipe/segment{icon_state = "conpipe-c"; dir = 2},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_2)
+"dy" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/entrepot/crew_2)
+"dz" = (/obj/structure/lattice,/obj/structure/window_frame/grille,/turf/space,/area/space)
+"dA" = (/obj/machinery/vending/cola,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_2)
+"dB" = (/obj/structure/table/standard,/obj/structure/railing/steel{dir = 4},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_2)
+"dC" = (/obj/machinery/light{dir = 4},/turf/simulated/open,/area/entrepot/crew_2)
+"dD" = (/obj/machinery/light{dir = 8},/turf/simulated/open,/area/entrepot/crew_2)
+"dE" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/structure/disposalpipe/segment{icon_state = "pipe-c"; dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2)
+"dF" = (/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/spline/plain/red{dir = 4},/obj/effect/floor_decal/spline/plain/black{dir = 8},/turf/simulated/floor/tiled/mono,/area/entrepot/crew_2/fitness)
+"dG" = (/obj/machinery/cryopod{dir = 2},/obj/machinery/light/he{dir = 8},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/arrivals)
+"dH" = (/obj/machinery/cryopod{dir = 2},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/arrivals)
+"dI" = (/obj/machinery/light{dir = 1},/obj/machinery/camera/network/civilian_east{c_tag = "Living Module 2F - North"},/turf/simulated/open,/area/entrepot/crew_2)
+"dJ" = (/obj/structure/railing/steel{dir = 8},/obj/structure/railing/steel,/turf/simulated/open,/area/entrepot/arrivals)
+"dK" = (/obj/machinery/door/airlock/glass,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/deck_2)
+"dL" = (/obj/structure/ladder,/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/dark,/area/entrepot/engi_2)
+"dM" = (/turf/simulated/wall,/area/turret_protected/ai)
+"dN" = (/obj/effect/landmark/start/crew/ai,/obj/machinery/newscaster/security_unit{pixel_x = 32; pixel_y = 32},/obj/machinery/requests_console{pixel_x = -32; pixel_y = 32; department = "AI"; departmentType = 5},/obj/structure/cable/cyan{icon_state = "0-2"; d2 = 2},/obj/item/device/radio/intercom/custom{dir = 2; pixel_x = -28; pixel_y = 4},/obj/item/device/radio/intercom/private{dir = 2; pixel_x = 28; pixel_y = 4},/obj/item/device/radio/intercom/broadcasting{pixel_y = 22},/turf/simulated/floor/grid/bluegrid,/area/turret_protected/ai)
+"dO" = (/turf/simulated/floor/tiled/dark,/area/entrepot/engi_2)
+"dP" = (/obj/machinery/light/small{dir = 8},/obj/machinery/turret/network/station,/turf/simulated/floor/grid/bluegrid,/area/turret_protected/ai)
+"dQ" = (/obj/machinery/vending/cigarette,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_2)
+"dR" = (/obj/effect/floor_decal/techgrid{dir = 1},/obj/effect/floor_decal/techgrid{dir = 8},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_2)
+"dS" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/light/small{dir = 1},/obj/structure/cable/cyan{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc/super/critical{name = "north bump"; dir = 1; pixel_y = 24; is_critical = 1},/turf/simulated/floor/grid/bluegrid,/area/turret_protected/ai)
+"dT" = (/obj/machinery/alarm{dir = 4; pixel_x = -24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/dark,/area/entrepot/engi_2)
+"dU" = (/obj/structure/toilet{dir = 8},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled/freezer,/area/entrepot/crew_2/dorm)
+"dV" = (/obj/machinery/status_display,/turf/simulated/wall,/area/entrepot/crew_2/dorm)
+"dW" = (/obj/structure/sign/flag/nt,/turf/simulated/wall,/area/entrepot/dock)
+"dX" = (/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/machinery/atmospherics/portables_connector,/turf/simulated/floor/plating,/area/entrepot/dock)
+"dY" = (/obj/machinery/vending/coffee,/turf/simulated/floor/tiled/rough,/area/entrepot/crew_2)
+"dZ" = (/obj/structure/flora/pottedplant/shoot,/turf/simulated/floor/trim/wood,/area/entrepot/crew_2/dorm)
+"ea" = (/obj/effect/floor_decal/corner/red{dir = 5},/obj/effect/floor_decal/spline/plain/black{dir = 1},/obj/effect/floor_decal/spline/plain/black{dir = 8},/turf/simulated/floor/tiled,/area/entrepot/crew_2/fitness)
+"eb" = (/obj/effect/floor_decal/corner/red{dir = 5},/obj/effect/floor_decal/spline/plain/black{dir = 1},/turf/simulated/floor/tiled,/area/entrepot/crew_2/fitness)
+"ec" = (/obj/structure/closet/secure_closet/personal/cabinet,/turf/simulated/floor/trim/wood,/area/entrepot/crew_2/dorm)
+"ed" = (/obj/effect/floor_decal/corner/white,/obj/effect/floor_decal/corner/red{dir = 5},/obj/effect/floor_decal/spline/plain/black{dir = 1},/obj/machinery/camera/network/civilian_east{c_tag = "Living Module 2F - Basketball Court"},/turf/simulated/floor/tiled,/area/entrepot/crew_2/fitness)
+"ee" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/brown,/obj/item/material/ashtray/plastic,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4; layer = 2.4; level = 2},/turf/simulated/floor/trim/carpet/purple,/area/entrepot/crew_2/dorm)
+"ef" = (/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/spline/plain/red{dir = 4},/obj/effect/floor_decal/spline/plain/black{dir = 8},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/mono,/area/entrepot/crew_2/fitness)
+"eg" = (/obj/structure/window_frame/reinforced/hull,/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/entrepot/crew_2/fitness)
+"eh" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/trim/wood,/area/entrepot/crew_2/dorm)
+"ei" = (/obj/structure/sink{dir = 8; pixel_x = -10},/obj/structure/mirror{pixel_x = -30},/turf/simulated/floor/tiled/freezer,/area/entrepot/crew_2/dorm)
+"ej" = (/turf/simulated/floor/tiled/freezer,/area/entrepot/crew_2/dorm)
+"ek" = (/obj/machinery/door/airlock{name = "Restroom"},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2/dorm)
+"el" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/trim/wood,/area/entrepot/crew_2/dorm)
+"em" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/trim/wood,/area/entrepot/crew_2/dorm)
+"en" = (/obj/structure/railing/steel,/obj/structure/cable{icon_state = "2-8"; d2 = 8; d1 = 2},/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/structure/disposalpipe/segment{icon_state = "conpipe-c"; dir = 2},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2)
+"eo" = (/turf/simulated/floor/tiled/white/rough,/area/entrepot/crew_2/fitness)
+"ep" = (/obj/structure/window/reinforced{dir = 4},/obj/item/stool,/obj/effect/floor_decal/spline/plain/black{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white/mono,/area/entrepot/crew_2/fitness)
+"eq" = (/obj/structure/sink{dir = 4; pixel_x = 10},/obj/structure/mirror{pixel_x = 30},/turf/simulated/floor/tiled/freezer,/area/entrepot/crew_2/dorm)
+"er" = (/obj/effect/floor_decal/spline/plain/black{dir = 8},/turf/simulated/floor/tiled,/area/entrepot/crew_2/fitness)
+"es" = (/turf/simulated/floor/tiled,/area/entrepot/crew_2/fitness)
+"et" = (/obj/effect/floor_decal/corner/white{dir = 8},/obj/effect/floor_decal/corner/white{dir = 1},/turf/simulated/floor/tiled,/area/entrepot/crew_2/fitness)
+"eu" = (/obj/machinery/cryopod{dir = 2},/obj/machinery/alarm{dir = 8; pixel_x = 25},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/arrivals)
+"ev" = (/obj/effect/floor_decal/corner/red,/obj/effect/floor_decal/corner/white{dir = 8},/turf/simulated/floor/tiled,/area/entrepot/crew_2/fitness)
+"ew" = (/obj/effect/floor_decal/corner/red{dir = 10},/turf/simulated/floor/tiled,/area/entrepot/crew_2/fitness)
+"ex" = (/obj/effect/floor_decal/corner/red{dir = 10},/obj/effect/floor_decal/corner/red{dir = 4},/obj/effect/floor_decal/spline/plain/black{dir = 4},/turf/simulated/floor/tiled,/area/entrepot/crew_2/fitness)
+"ey" = (/turf/simulated/floor/tiled/white/mono,/area/entrepot/crew_2/fitness)
+"ez" = (/obj/structure/fitness/punchingbag,/turf/simulated/floor/tiled/white/rough,/area/entrepot/crew_2/fitness)
+"eA" = (/obj/effect/floor_decal/spline/plain/black{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white/mono,/area/entrepot/crew_2/fitness)
+"eB" = (/obj/effect/floor_decal/spline/plain/red{dir = 4},/obj/effect/floor_decal/spline/plain/black{dir = 8},/turf/simulated/floor/tiled/mono,/area/entrepot/crew_2/fitness)
+"eC" = (/obj/effect/floor_decal/trimline,/obj/effect/floor_decal/spline/plain/black{dir = 8},/turf/simulated/floor/tiled,/area/entrepot/crew_2/fitness)
+"eD" = (/obj/effect/floor_decal/corner/white{dir = 1},/obj/effect/floor_decal/corner/white{dir = 8},/obj/effect/floor_decal/corner/white{dir = 4},/obj/effect/floor_decal/corner/white,/turf/simulated/floor/tiled,/area/entrepot/crew_2/fitness)
+"eE" = (/obj/effect/floor_decal/corner/red{dir = 6},/turf/simulated/floor/tiled,/area/entrepot/crew_2/fitness)
+"eF" = (/obj/item/beach_ball/basketball,/obj/effect/floor_decal/corner/red/full,/turf/simulated/floor/tiled,/area/entrepot/crew_2/fitness)
+"eG" = (/obj/structure/hoop{dir = 8},/obj/effect/floor_decal/corner/red/full,/obj/effect/floor_decal/spline/plain/black{dir = 4},/turf/simulated/floor/tiled,/area/entrepot/crew_2/fitness)
+"eH" = (/obj/structure/bed/chair/comfy/brown,/turf/simulated/floor/trim/wood,/area/entrepot/crew_2/dorm)
+"eI" = (/obj/structure/closet/secure_closet/personal/cabinet,/obj/item/clothing/mask/smokable/cigarette/spliff,/turf/simulated/floor/trim/wood,/area/entrepot/crew_2/dorm)
+"eJ" = (/obj/structure/bed/chair/comfy/brown{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/trim/wood,/area/entrepot/crew_2/dorm)
+"eK" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{name = "west bump"; dir = 8; pixel_x = -24},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2)
+"eL" = (/obj/effect/floor_decal/corner/red{dir = 4},/obj/effect/floor_decal/corner/white{dir = 1},/turf/simulated/floor/tiled,/area/entrepot/crew_2/fitness)
+"eM" = (/obj/effect/floor_decal/corner/red{dir = 5},/turf/simulated/floor/tiled,/area/entrepot/crew_2/fitness)
+"eN" = (/obj/structure/toilet{dir = 4},/obj/machinery/light/small,/turf/simulated/floor/tiled/freezer,/area/entrepot/crew_2/dorm)
+"eO" = (/obj/effect/floor_decal/corner/red{dir = 5},/obj/effect/floor_decal/corner/red,/obj/effect/floor_decal/spline/plain/black{dir = 4},/turf/simulated/floor/tiled,/area/entrepot/crew_2/fitness)
+"eP" = (/obj/item/stool,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white/mono,/area/entrepot/crew_2/fitness)
+"eQ" = (/obj/machinery/shower{dir = 8},/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/spline/plain{dir = 1},/obj/item/soap/nanotrasen,/turf/simulated/floor/tiled/freezer,/area/entrepot/crew_2/dorm)
+"eR" = (/obj/machinery/vending/fitness,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2/fitness)
+"eS" = (/obj/effect/floor_decal/siding/wood{dir = 4},/obj/machinery/light/small/hl,/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/obj/machinery/camera/network/civilian_east{dir = 1; c_tag = "Refectory Module 2F - South"},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_2)
+"eT" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2)
+"eU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/trim/wood,/area/entrepot/crew_2/dorm)
+"eV" = (/obj/structure/railing/steel{dir = 4},/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2)
+"eW" = (/obj/item/stool,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4; layer = 2.4; level = 2},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2/dorm)
+"eX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/trim/wood,/area/entrepot/crew_2/dorm)
+"eY" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2/dorm)
+"eZ" = (/obj/effect/floor_decal/techgrid{dir = 1},/obj/effect/floor_decal/techfloor,/turf/simulated/floor/reinforced/airless,/area/space)
+"fa" = (/obj/machinery/button/remote/airlock{name = "Door Bolts"; dir = 1; pixel_x = 25; pixel_y = -25; id = "Room2"; specialfunctions = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/trim/wood,/area/entrepot/crew_2/dorm)
+"fb" = (/obj/machinery/power/apc{name = "south bump"; dir = 2; pixel_y = -24},/obj/structure/cable,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2/dorm)
+"fc" = (/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2/dorm)
+"fd" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2/dorm)
+"fe" = (/obj/machinery/button/remote/airlock{name = "Door Bolts"; dir = 1; pixel_x = 25; pixel_y = -25; id = "Room1"; specialfunctions = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/trim/wood,/area/entrepot/crew_2/dorm)
+"ff" = (/obj/structure/sign/double/picturesky/left{pixel_y = 32},/obj/structure/bed/couch/left/blue,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2/dorm)
+"fg" = (/obj/structure/sign/double/picturesky/right{pixel_y = 32},/obj/structure/bed/couch/right/blue,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2/dorm)
+"fh" = (/obj/structure/bookcase/prefitted/fiction,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2/dorm)
+"fi" = (/obj/structure/flora/pottedplant/tropicalflowers,/turf/simulated/floor/trim/darkwood,/area/entrepot/crew_2/dorm)
+"fj" = (/obj/machinery/door/airlock{name = "Cabin 1"; id_tag = "Room1"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2/dorm)
+"fk" = (/obj/structure/sign/double/pictureplanet/left{pixel_y = 32},/obj/structure/coatrack,/turf/simulated/floor/trim/darkwood,/area/entrepot/crew_2/dorm)
+"fl" = (/obj/structure/sign/double/pictureplanet/right{pixel_y = 32},/obj/structure/bed/couch/left/purple,/turf/simulated/floor/trim/darkwood,/area/entrepot/crew_2/dorm)
+"fm" = (/obj/structure/bed/couch/right/purple,/obj/machinery/alarm{pixel_y = 24},/turf/simulated/floor/trim/darkwood,/area/entrepot/crew_2/dorm)
+"fn" = (/obj/structure/closet/secure_closet/personal/cabinet,/turf/simulated/floor/trim/darkwood,/area/entrepot/crew_2/dorm)
+"fo" = (/obj/structure/sink{dir = 8; pixel_x = -12},/obj/structure/mirror{pixel_x = -30},/turf/simulated/floor/tiled/dark,/area/entrepot/crew_2/dorm)
+"fp" = (/obj/structure/toilet{dir = 8},/turf/simulated/floor/tiled/dark,/area/entrepot/crew_2/dorm)
+"fq" = (/obj/structure/table/glass,/obj/item/material/ashtray/glass,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2/dorm)
+"fr" = (/obj/structure/table/glass,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2/dorm)
+"fs" = (/obj/machinery/recharge_station,/turf/simulated/floor/tiled/rough,/area/entrepot/crew_2)
+"ft" = (/obj/structure/table/glass,/obj/machinery/chemical_dispenser/bar_coffee/full,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2/dorm)
+"fu" = (/obj/structure/bookcase/prefitted/fiction,/obj/machinery/light{dir = 8},/turf/simulated/floor/trim/darkwood,/area/entrepot/crew_2/dorm)
+"fv" = (/turf/simulated/floor/trim/darkwood,/area/entrepot/crew_2/dorm)
+"fw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/trim/darkwood,/area/entrepot/crew_2/dorm)
+"fx" = (/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2)
+"fy" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2)
+"fz" = (/obj/machinery/door/window{name = "AI Core Door"; dir = 2; req_access = list(); req_one_access = list(109,199)},/obj/structure/cable/cyan{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/structure/cable/cyan{icon_state = "2-8"; d2 = 8; d1 = 2},/obj/machinery/flasher{pixel_x = 22; pixel_y = 24; id = "AI"},/obj/machinery/turret_control_panel/ai_chamber{pixel_x = 36; pixel_y = 24},/obj/machinery/hologram/holopad,/turf/simulated/floor/grid/bluegrid,/area/turret_protected/ai)
+"fA" = (/obj/structure/toilet{dir = 4},/obj/machinery/light/small/hl{dir = 1},/turf/simulated/floor/tiled/dirty,/area/entrepot/crew_2)
+"fB" = (/obj/structure/sink{dir = 4; pixel_x = 10},/obj/structure/mirror{pixel_y = 30},/turf/simulated/floor/tiled/dirty,/area/entrepot/crew_2)
+"fC" = (/obj/structure/sign/crime,/turf/simulated/wall/r_wall,/area/entrepot/crew_2)
+"fD" = (/obj/machinery/door/airlock{name = "Restroom"},/turf/simulated/floor/tiled/dirty,/area/entrepot/crew_2)
+"fE" = (/obj/structure/bed/chair,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/dirty,/area/entrepot/crew_2)
+"fF" = (/obj/machinery/computer/cryopod{pixel_x = -32},/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4; layer = 2.4; level = 2},/obj/effect/landmark/joinlate/cryo,/turf/simulated/floor/tiled/white/rough,/area/entrepot/arrivals)
+"fG" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dirty,/area/entrepot/crew_2)
+"fH" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/entrepot/crew_2)
+"fI" = (/obj/machinery/cryopod,/turf/simulated/floor/tiled/dirty,/area/entrepot/crew_2)
+"fJ" = (/obj/structure/railing/steel,/turf/simulated/open,/area/entrepot/crew_2)
+"fK" = (/obj/structure/railing/steel{dir = 1},/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2)
+"fL" = (/obj/structure/cryofeed,/turf/simulated/floor/plating,/area/entrepot/crew_2)
+"fM" = (/obj/machinery/door/airlock{name = "Bathroom"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark,/area/entrepot/crew_2/dorm)
+"fN" = (/obj/structure/table/marble,/obj/item/storage/fancy/candle_box,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/tiled/dark,/area/entrepot/crew_2/dorm)
+"fO" = (/obj/structure/bed/couch/left/blue{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2/dorm)
+"fP" = (/obj/structure/bed/couch/right/blue{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2/dorm)
+"fQ" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/landmark/joinlate/cryo,/turf/simulated/floor/tiled/white/rough,/area/entrepot/arrivals)
+"fR" = (/obj/structure/railing/steel{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2)
+"fS" = (/obj/effect/floor_decal/industrial/warning{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/landmark/joinlate/cryo,/turf/simulated/floor/tiled/white/rough,/area/entrepot/arrivals)
+"fT" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/effect/landmark/joinlate/cryo,/turf/simulated/floor/tiled/white/rough,/area/entrepot/arrivals)
+"fU" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/dark/mono,/area/entrepot/arrivals)
+"fV" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark,/area/entrepot/engi_2)
+"fW" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/grid/bluegrid,/area/turret_protected/ai)
+"fX" = (/obj/effect/floor_decal/corner/black{dir = 5},/obj/structure/flora/pottedplant/stoutbush,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8; layer = 2.4; level = 2},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_2)
+"fY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/dock)
+"fZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/arrivals)
+"ga" = (/obj/effect/floor_decal/corner/black{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_2)
+"gb" = (/obj/effect/floor_decal/corner/black/three_quarters{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_2)
+"gc" = (/obj/structure/railing/steel,/turf/simulated/floor/tiled/rough,/area/entrepot/dock)
+"gd" = (/obj/structure/table/glass,/obj/item/storage/box/glasses/rocks,/obj/item/reagent_containers/vessel/mug/NT,/obj/item/reagent_containers/vessel/mug/NT,/obj/item/reagent_containers/vessel/mug/NT,/obj/item/reagent_containers/vessel/mug/NT,/obj/item/device/flashlight/lamp,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/alarm{dir = 8; pixel_x = 24},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2/dorm)
+"ge" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled/rough,/area/entrepot/dock)
+"gf" = (/obj/structure/table/steel,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/dock)
+"gg" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4; layer = 2.4; level = 2},/turf/simulated/floor/tiled/dirty,/area/entrepot/crew_2)
+"gh" = (/obj/structure/window_frame/reinforced/hull,/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/entrepot/medbay)
+"gi" = (/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/machinery/atmospherics/unary/cryo_cell,/turf/simulated/floor/tiled/freezer,/area/space)
+"gj" = (/obj/structure/window_frame/rglass,/obj/machinery/door/firedoor,/obj/machinery/status_display,/turf/simulated/floor/plating,/area/space)
+"gk" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dirty,/area/entrepot/crew_2)
+"gl" = (/obj/effect/floor_decal/corner/black{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_2)
+"gm" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/medbay)
+"gn" = (/obj/structure/window_frame/rglass,/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/entrepot/medbay)
+"go" = (/obj/structure/closet/secure_closet/medical2,/obj/item/wrench/red,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/dark,/area/entrepot/medbay)
+"gp" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2)
+"gq" = (/obj/structure/railing/steel,/turf/simulated/floor/tiled/dark/mono,/area/entrepot/crew_2)
+"gr" = (/turf/simulated/floor/tiled/dark/mono,/area/entrepot/crew_2)
+"gs" = (/obj/structure/railing/steel{dir = 1},/obj/structure/cable{icon_state = "1-8"; d2 = 8; d1 = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/disposalpipe/segment{icon_state = "pipe-c"; dir = 8},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2)
+"gt" = (/obj/effect/floor_decal/corner/black{dir = 6},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_2)
+"gu" = (/obj/effect/floor_decal/spline/plain/grey{dir = 8},/obj/effect/floor_decal/spline/plain/grey{dir = 1},/obj/structure/gas_stand/anesthetic,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/freezer,/area/entrepot/medbay)
+"gv" = (/obj/machinery/computer/operating,/obj/effect/floor_decal/spline/plain/grey{dir = 1},/obj/machinery/camera/network/civilian_east{c_tag = "Living Module 2F - Surgery"},/turf/simulated/floor/tiled/freezer,/area/entrepot/medbay)
+"gw" = (/obj/effect/floor_decal/spline/plain/grey{dir = 1},/obj/effect/floor_decal/spline/plain/grey{dir = 4},/obj/structure/iv_drip,/turf/simulated/floor/tiled/freezer,/area/entrepot/medbay)
+"gx" = (/obj/machinery/button/remote/airlock{name = "Door Bolts"; dir = 2; pixel_x = -25; pixel_y = 24; id = "RetardRoom"; specialfunctions = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/medbay)
+"gy" = (/obj/structure/table/standard,/obj/item/storage/firstaid/surgery,/obj/item/reagent_containers/spray/sterilizine,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4; layer = 2.4; level = 2},/turf/simulated/floor/tiled/dark,/area/entrepot/medbay)
+"gz" = (/obj/structure/bed/chair/wheelchair,/obj/machinery/light/he{dir = 1},/turf/simulated/floor/tiled/freezer,/area/space)
+"gA" = (/obj/effect/floor_decal/spline/plain/grey{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/freezer,/area/entrepot/medbay)
+"gB" = (/obj/machinery/optable,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled/freezer,/area/entrepot/medbay)
+"gC" = (/obj/effect/floor_decal/spline/plain/grey{dir = 4},/turf/simulated/floor/tiled/freezer,/area/entrepot/medbay)
+"gD" = (/turf/simulated/wall,/area/entrepot/medbay)
+"gE" = (/obj/machinery/door/airlock/glass_security{name = "Detention Room"; id_tag = "RetardRoom"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor,/turf/simulated/floor/tiled/dirty,/area/entrepot/crew_2)
+"gF" = (/obj/machinery/door/airlock{name = "Wardroom"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2/dorm)
+"gG" = (/turf/simulated/open,/area/entrepot/crew_2)
+"gH" = (/obj/structure/table/standard,/obj/machinery/alarm{pixel_y = 24},/obj/structure/railing/steel{dir = 8},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_2)
+"gI" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/railing/steel,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/entrepot/crew_2)
+"gJ" = (/obj/item/blueprints,/obj/random_multi/single_item/captains_spare_id,/obj/machinery/power/apc{name = "north bump"; dir = 1; pixel_y = 24},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/item/modular_computer/console/preset/command,/turf/simulated/floor/grid/bluegrid,/area/turret_protected/ai_upload)
+"gK" = (/obj/effect/floor_decal/corner/black{dir = 9},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_2)
+"gL" = (/obj/structure/sign/redcross{name = "Medbay"},/turf/simulated/wall,/area/entrepot/medbay)
+"gM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled/dark,/area/entrepot/engi_2)
+"gN" = (/obj/structure/cable{icon_state = "32-4"; d2 = 4; d1 = 32},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/lattice,/obj/machinery/camera/network/civilian_east{dir = 4; c_tag = "Technical Module 2F"},/turf/simulated/open,/area/entrepot/engi_2)
+"gO" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/turf/simulated/floor/tiled/dark,/area/entrepot/engi_2)
+"gP" = (/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/turret/network/station,/turf/simulated/floor/grid/bluegrid,/area/turret_protected/ai)
+"gQ" = (/obj/machinery/power/apc{name = "north bump"; dir = 1; pixel_y = 24},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/tiled/dark,/area/entrepot/engi_2)
+"gR" = (/obj/structure/cable{icon_state = "2-4"; d2 = 4; d1 = 2},/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/turf/simulated/floor/tiled/dark,/area/entrepot/engi_2)
+"gS" = (/turf/simulated/floor/grid/bluegrid,/area/turret_protected/ai)
+"gT" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/turf/simulated/floor/grid/bluegrid,/area/turret_protected/ai)
+"gU" = (/obj/machinery/atmospherics/pipe/zpipe/down/supply{dir = 1},/obj/machinery/atmospherics/pipe/zpipe/down/scrubbers{dir = 1},/obj/structure/lattice,/obj/structure/railing/steel,/turf/simulated/open,/area/entrepot/engi_2)
+"gV" = (/obj/machinery/organ_printer/robot/mapped,/obj/machinery/alarm{dir = 4; pixel_x = -24},/turf/simulated/floor/tiled/dark,/area/entrepot/medbay)
+"gW" = (/obj/structure/window_frame/grille,/obj/structure/lattice,/turf/space,/area/space)
+"gX" = (/obj/effect/floor_decal/spline/plain/grey,/obj/effect/floor_decal/spline/plain/grey{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled/freezer,/area/entrepot/medbay)
+"gY" = (/obj/effect/floor_decal/spline/plain/grey,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled/freezer,/area/entrepot/medbay)
+"gZ" = (/obj/structure/shuttle/engine/propulsion{dir = 1},/turf/space,/area/supply/station)
+"ha" = (/obj/effect/floor_decal/spline/plain/grey{dir = 4},/obj/effect/floor_decal/spline/plain/grey,/turf/simulated/floor/tiled/freezer,/area/entrepot/medbay)
+"hb" = (/obj/machinery/atmospherics/unary/cryo_cell,/turf/simulated/floor/tiled/freezer,/area/entrepot/medbay)
+"hc" = (/turf/space,/turf/simulated/shuttle/wall/corner/smoothwhite/nw{icon_state = "corner_whiteship_s"},/area/supply/station)
+"hd" = (/obj/machinery/smartfridge/secure/blood/filled,/turf/space,/area/entrepot/medbay)
+"he" = (/obj/machinery/sleeper{dir = 4},/obj/machinery/alarm{pixel_y = 24},/turf/simulated/floor/tiled/white/rough,/area/entrepot/medbay)
+"hf" = (/turf/simulated/floor/tiled/white/rough,/area/entrepot/medbay)
+"hg" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/white/rough,/area/entrepot/medbay)
+"hh" = (/obj/machinery/door/airlock/glass_medical{name = "Medbay"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor,/turf/simulated/floor/tiled/white/rough,/area/entrepot/medbay)
+"hi" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8},/obj/structure/bed/roller,/turf/simulated/floor/tiled/freezer,/area/entrepot/medbay)
+"hj" = (/obj/structure/cable/green{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/manifold/visible{dir = 1},/turf/simulated/floor/tiled/freezer,/area/entrepot/medbay)
+"hk" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 9},/turf/simulated/floor/tiled/freezer,/area/entrepot/medbay)
+"hl" = (/obj/machinery/door/firedoor,/obj/structure/curtain/medical,/turf/simulated/floor/tiled/freezer,/area/entrepot/medbay)
+"hm" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/visible/black,/turf/space,/area/space)
+"hn" = (/obj/effect/floor_decal/corner/red/three_quarters{dir = 4},/turf/simulated/floor/tiled/white/rough,/area/entrepot/medbay)
+"ho" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white/rough,/area/entrepot/medbay)
+"hp" = (/obj/structure/sign/flag/byonder,/turf/simulated/wall/r_wall,/area/turret_protected/ai)
+"hq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/turf/simulated/floor/tiled/white/rough,/area/entrepot/medbay)
+"hr" = (/turf/simulated/floor/tiled/white,/area/entrepot/medbay)
+"hs" = (/obj/structure/table/glass,/obj/item/stack/material/plasma/ten,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/white,/area/entrepot/medbay)
+"ht" = (/turf/simulated/shuttle/wall{icon_state = "syndiwall_c"; dir = 8},/area/supply/station)
+"hu" = (/obj/structure/shuttle/engine/heater{dir = 1},/obj/structure/window/reinforced/crescent,/turf/simulated/floor/plating/airless,/area/supply/station)
+"hv" = (/obj/structure/sign/warning/lethal_turrets,/turf/simulated/wall/r_wall,/area/turret_protected/ai)
+"hw" = (/turf/simulated/shuttle/wall{icon_state = "syndiwall_d"; dir = 4},/area/supply/station)
+"hx" = (/turf/simulated/shuttle/wall{icon_state = "syndiwall_c"; dir = 2},/area/supply/station)
+"hy" = (/turf/simulated/shuttle/wall{icon_state = "syndiwall_b"; dir = 8},/area/supply/station)
+"hz" = (/turf/simulated/floor/shuttle/blue,/turf/simulated/shuttle/wall/corner/smoothwhite/se{icon_state = "corner_whiteship_s"},/area/supply/station)
+"hA" = (/turf/simulated/floor/shuttle/blue,/area/supply/station)
+"hB" = (/turf/space,/turf/simulated/shuttle/wall/corner/smoothwhite/ne{icon_state = "corner_whiteship_s"},/area/supply/station)
+"hC" = (/turf/simulated/floor/shuttle/blue,/turf/simulated/shuttle/wall/corner/smoothwhite/sw{icon_state = "corner_whiteship_s"},/area/supply/station)
+"hD" = (/turf/simulated/shuttle/wall{icon_state = "whiteship_straight"},/area/supply/station)
+"hE" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/structure/railing/steel,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/dark,/area/entrepot/engi_2)
+"hF" = (/obj/structure/cable{icon_state = "2-8"; d2 = 8; d1 = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor/tiled/dark,/area/entrepot/engi_2)
+"hG" = (/obj/structure/cable{icon_state = "2-4"; d2 = 4; d1 = 2},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/reinforced/airless,/area/space)
+"hH" = (/obj/structure/cable{icon_state = "1-4"; d2 = 4; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/effect/floor_decal/spline/plain/corner/black,/obj/effect/floor_decal/techgrid,/obj/structure/window_frame/reinforced/hull,/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment{icon_state = "pipe-c"; dir = 1},/turf/simulated/floor/reinforced/airless,/area/space)
+"hI" = (/obj/structure/disposaloutlet{dir = 8},/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/trunk,/obj/effect/floor_decal/industrial/warning/full,/turf/simulated/floor/plating,/area/entrepot/engi_2)
+"hJ" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/reinforced/airless,/area/space)
+"hK" = (/obj/machinery/power/apc{name = "south bump"; pixel_y = -24},/obj/structure/cable,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/medbay)
+"hL" = (/obj/machinery/power/apc{name = "west bump"; dir = 8; pixel_x = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2/fitness)
+"hM" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/structure/bed/roller,/obj/machinery/camera/network/civilian_east{dir = 4; c_tag = "Living Module 2F - Cryo"},/turf/simulated/floor/tiled/freezer,/area/entrepot/medbay)
+"hN" = (/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor/tiled/freezer,/area/entrepot/medbay)
+"hO" = (/obj/effect/floor_decal/techgrid,/obj/effect/floor_decal/techgrid{dir = 8},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1; layer = 2.4; level = 2},/obj/machinery/light/he,/obj/machinery/alarm{dir = 1; pixel_y = -24},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_2)
+"hP" = (/obj/structure/cable{icon_state = "2-4"; d2 = 4; d1 = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/structure/disposalpipe/junction{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2)
+"hQ" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/landmark/joinlate/cryo,/turf/simulated/floor/tiled/white/rough,/area/entrepot/arrivals)
+"hR" = (/obj/structure/sign/deck/second,/turf/simulated/wall,/area/entrepot/deck_2)
+"hS" = (/obj/structure/railing/steel{dir = 4},/turf/simulated/open,/area/entrepot/deck_2)
+"hT" = (/turf/simulated/wall/r_wall,/area/turret_protected/ai_upload)
+"hU" = (/obj/structure/sign/warning/lethal_turrets,/turf/simulated/wall/r_wall,/area/turret_protected/ai_upload)
+"hV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/cyan{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/door/airlock/vault/bolted{name = "AI core"; req_access = list(16)},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/turf/simulated/floor/tiled/dark,/area/turret_protected/ai)
+"hW" = (/obj/structure/window_frame/reinforced/hull,/obj/machinery/door/firedoor,/obj/structure/railing/steel,/turf/simulated/floor/plating,/area/entrepot/dock)
+"hX" = (/turf/simulated/floor/grid/bluegrid,/area/turret_protected/ai_upload)
+"hY" = (/obj/machinery/turret/network/station,/turf/simulated/floor/grid/bluegrid,/area/turret_protected/ai_upload)
+"hZ" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/turf/simulated/floor/tiled/dark,/area/turret_protected/ai_upload)
+"ia" = (/obj/machinery/door/airlock/highsecurity{name = "AI Upload"; req_access = list(16)},/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/turf/simulated/floor/tiled/dark,/area/turret_protected/ai_upload)
+"ib" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/structure/cable{icon_state = "1-8"; d2 = 8; d1 = 1},/turf/simulated/floor/tiled/dark,/area/turret_protected/ai_upload)
+"ic" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled/dark,/area/turret_protected/ai_upload)
+"id" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/landmark/joinlate/cryo,/turf/simulated/floor/tiled/white/rough,/area/entrepot/arrivals)
+"ie" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/turf/simulated/floor/tiled/dark,/area/turret_protected/ai_upload)
+"if" = (/obj/machinery/status_display,/obj/structure/railing/steel,/turf/simulated/wall,/area/entrepot/dock)
+"ig" = (/turf/space,/turf/simulated/shuttle/wall/corner/smoothwhite/nw,/area/shuttle/arrival/station)
+"ih" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"; dir = 10},/area/shuttle/arrival/station)
+"ii" = (/obj/machinery/door/airlock/external/bolted,/turf/simulated/floor/shuttle/blue,/area/shuttle/arrival/station)
+"ij" = (/obj/machinery/light{dir = 8},/obj/structure/largecrate/animal/corgi/ian,/turf/simulated/floor/shuttle/blue,/area/supply/station)
+"ik" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"; dir = 1},/area/supply/station)
+"il" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"; dir = 4},/area/shuttle/arrival/station)
+"im" = (/turf/simulated/shuttle/wall{icon_state = "whiteship_straight"; dir = 4},/area/shuttle/arrival/station)
+"in" = (/obj/structure/window_frame/grille,/obj/structure/window/shuttle{icon_state = "11"; dir = 4},/turf/simulated/floor/plating/rough,/area/shuttle/arrival/station)
+"io" = (/obj/structure/railing/steel{dir = 8},/obj/machinery/light/he{dir = 4},/obj/structure/railing/steel,/turf/simulated/open,/area/entrepot/deck_2)
+"ip" = (/obj/structure/window_frame/grille,/obj/structure/window/shuttle{icon_state = "11"; dir = 8},/turf/simulated/floor/plating/rough,/area/shuttle/arrival/station)
+"iq" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"; dir = 8},/area/shuttle/arrival/station)
+"ir" = (/obj/machinery/door/airlock/external/bolted_open,/obj/machinery/conveyor{dir = 4; id = "QMLoad"},/turf/simulated/floor/plating,/area/supply/station)
+"is" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad2"},/turf/simulated/floor/shuttle/blue,/area/supply/station)
+"it" = (/obj/machinery/door/airlock/external/bolted_open,/turf/simulated/floor/plating,/area/supply/station)
+"iu" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{name = "west bump"; dir = 8; pixel_x = -24},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/dock)
+"iv" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2/fitness)
+"iw" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{icon_state = "conpipe-c"; dir = 2},/turf/simulated/floor/tiled/dark/rough,/area/hallway/secondary/entry/starboard)
+"ix" = (/obj/machinery/light/he{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating,/area/entrepot/dock)
+"iy" = (/obj/machinery/atmospherics/binary/passive_gate/on{dir = 2},/turf/simulated/floor/plating,/area/entrepot/dock)
+"iz" = (/obj/machinery/vending/cola,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2/fitness)
+"iA" = (/turf/simulated/floor/tiled/freezer,/area/entrepot/medbay)
+"iB" = (/obj/effect/floor_decal/corner/red/three_quarters{dir = 1},/turf/simulated/floor/tiled/white/rough,/area/entrepot/medbay)
+"iC" = (/obj/effect/floor_decal/corner/red/three_quarters{dir = 8},/turf/simulated/floor/tiled/white/rough,/area/entrepot/medbay)
+"iD" = (/obj/effect/floor_decal/corner/red/three_quarters,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled/white/rough,/area/entrepot/medbay)
+"iE" = (/obj/structure/bed/chair/office/light,/turf/simulated/floor/tiled/white,/area/entrepot/medbay)
+"iF" = (/obj/machinery/power/apc{name = "west bump"; dir = 8; pixel_x = -24},/obj/structure/cable,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/arrivals)
+"iG" = (/obj/effect/shuttle_landmark/escape/station,/turf/space,/area/shuttle/escape/station)
+"iH" = (/turf/simulated/wall/r_wall,/area/space)
+"iI" = (/obj/machinery/door/airlock/glass{name = "Surgery"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor,/turf/simulated/floor/tiled/white,/area/entrepot/medbay)
+"iJ" = (/obj/machinery/atmospherics/unary/freezer{icon_state = "freezer"; dir = 1},/turf/simulated/floor/tiled/freezer,/area/entrepot/medbay)
+"iK" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/item/reagent_containers/vessel/beaker/cryoxadone{pixel_x = 7; pixel_y = 1},/obj/item/reagent_containers/spray/cleaner{pixel_x = -5},/obj/machinery/light/he,/obj/machinery/atmospherics/pipe/simple/visible{dir = 5},/obj/item/reagent_containers/vessel/beaker/cryoxadone{pixel_x = 7; pixel_y = 1},/obj/item/wrench/red,/turf/simulated/floor/tiled/freezer,/area/entrepot/medbay)
+"iL" = (/obj/item/device/radio/intercom{dir = 1; pixel_y = -22},/obj/machinery/atmospherics/binary/passive_gate/on{dir = 8},/turf/simulated/floor/tiled/freezer,/area/entrepot/medbay)
+"iM" = (/obj/structure/sign/greencross,/turf/simulated/wall/r_wall,/area/entrepot/crew_2)
+"iN" = (/obj/machinery/door/airlock/glass,/obj/structure/railing/steel,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/deck_2)
+"iO" = (/obj/machinery/door/airlock/glass{name = "Pharmacy"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/firedoor,/turf/simulated/floor/tiled/white/rough,/area/entrepot/medbay)
+"iP" = (/obj/structure/table/woodentable,/obj/item/paper_bin,/obj/item/pen/multi,/obj/item/pen/multi,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/trim/darkwood,/area/entrepot/crew_2/dorm)
+"iQ" = (/obj/structure/sign/security,/turf/simulated/wall/r_wall,/area/entrepot/crew_2)
+"iR" = (/obj/structure/window_frame/reinforced/hull,/obj/machinery/door/firedoor,/obj/machinery/status_display,/turf/simulated/floor/plating,/area/entrepot/crew_2)
+"iS" = (/obj/structure/railing/steel{dir = 4},/turf/simulated/open,/area/entrepot/crew_2)
+"iT" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/structure/railing/steel,/turf/simulated/floor/tiled/rough,/area/entrepot/dock)
+"iU" = (/obj/structure/railing/steel{dir = 8},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2)
+"iV" = (/obj/machinery/embedded_controller/radio/airlock/docking_port_multi{dir = 4; layer = 7; pixel_x = -30; frequency = 1380; req_one_access = list(13); id_tag = "escape_dock_south_airlock"; master_tag = "escape_dock"; tag_exterior_door = "escape_dock_south_outer"; tag_interior_door = "escape_dock_south_inner"; tag_airpump = "escape_dock_south_pump"; tag_chamber_sensor = "escape_dock_south_sensor"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "escape_dock_south_pump"},/obj/machinery/airlock_sensor{dir = 8; pixel_x = 28; frequency = 1380; id_tag = "escape_dock_south_sensor"},/turf/simulated/floor/plating,/area/entrepot/dock)
+"iW" = (/obj/structure/bed/chair/comfy/purp,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/trim/darkwood,/area/entrepot/crew_2/dorm)
+"iX" = (/turf/simulated/floor/trim/carpet/gpurple,/area/entrepot/crew_2/dorm)
+"iY" = (/obj/structure/bed/padded{icon_state = "bedleft"},/obj/item/bedsheet/nt,/turf/simulated/floor/trim/carpet/gpurple,/area/entrepot/crew_2/dorm)
+"iZ" = (/obj/effect/floor_decal/techfloor{dir = 1},/obj/effect/floor_decal/spline/plain/blue{dir = 1},/obj/effect/floor_decal/spline/plain/corner/black{dir = 1},/turf/simulated/floor/reinforced/airless,/area/space)
+"ja" = (/obj/effect/floor_decal/techgrid,/obj/effect/floor_decal/techfloor{dir = 1},/obj/effect/floor_decal/spline/plain/blue{dir = 4},/obj/effect/floor_decal/spline/plain/blue{dir = 1},/obj/effect/floor_decal/spline/plain/corner/black{dir = 1},/turf/simulated/floor/reinforced/airless,/area/space)
+"jb" = (/obj/effect/floor_decal/techgrid,/obj/effect/floor_decal/techgrid{dir = 4},/obj/effect/floor_decal/spline/plain/blue{dir = 4},/obj/effect/floor_decal/spline/plain/corner/black{dir = 1},/turf/simulated/floor/reinforced/airless,/area/space)
+"jc" = (/obj/effect/floor_decal/techfloor,/obj/effect/floor_decal/spline/plain/blue,/obj/effect/floor_decal/techgrid{dir = 4},/obj/effect/floor_decal/spline/plain/blue{dir = 4},/obj/effect/floor_decal/spline/plain/corner/black,/obj/effect/floor_decal/spline/plain/corner/black{dir = 1},/turf/simulated/floor/reinforced/airless,/area/space)
+"jd" = (/obj/effect/floor_decal/corner/red{dir = 10},/obj/effect/floor_decal/spline/plain/black,/obj/effect/floor_decal/spline/plain/black{dir = 8},/turf/simulated/floor/tiled,/area/entrepot/crew_2/fitness)
+"je" = (/obj/effect/floor_decal/corner/red{dir = 10},/obj/effect/floor_decal/spline/plain/black,/turf/simulated/floor/tiled,/area/entrepot/crew_2/fitness)
+"jf" = (/obj/effect/floor_decal/corner/white{dir = 4},/obj/effect/floor_decal/corner/red{dir = 10},/obj/effect/floor_decal/spline/plain/black,/turf/simulated/floor/tiled,/area/entrepot/crew_2/fitness)
+"jg" = (/obj/structure/sign/flag/nt,/turf/simulated/wall,/area/entrepot/crew_2)
+"jh" = (/obj/effect/floor_decal/corner/black{dir = 10},/obj/structure/flora/pottedplant/stoutbush,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4; layer = 2.4; level = 2},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_2)
+"ji" = (/obj/structure/railing/steel,/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2)
+"jj" = (/obj/effect/floor_decal/corner/red/three_quarters{dir = 1},/obj/effect/floor_decal/spline/plain/black{dir = 5},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/entrepot/crew_2/fitness)
+"jk" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/dock)
+"jl" = (/obj/effect/floor_decal/spline/fancy{dir = 5},/obj/effect/floor_decal/spline/fancy{dir = 9},/obj/effect/mist,/turf/simulated/floor/water/fountain,/area/entrepot/crew_2/dorm)
+"jm" = (/obj/machinery/cryopod{dir = 1},/obj/machinery/light/he{dir = 8},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/arrivals)
+"jn" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/dock)
+"jo" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{icon_state = "1-8"; d2 = 8; d1 = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_2)
+"jp" = (/obj/machinery/door/firedoor,/obj/structure/window/reinforced{dir = 1},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/oxygen,/obj/machinery/door/window/westleft{name = "Canister Access"},/obj/machinery/door/window/eastright{name = "Canister Access"},/turf/simulated/floor/tiled/rough,/area/entrepot/medbay)
+"jq" = (/obj/effect/floor_decal/corner/black{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_2)
+"jr" = (/obj/structure/railing/steel{dir = 1},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/crew_2)
+"js" = (/obj/effect/floor_decal/corner/black/three_quarters,/turf/simulated/floor/tiled/rough,/area/entrepot/crew_2)
+"jt" = (/obj/effect/floor_decal/techgrid{dir = 4},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_2)
+"ju" = (/obj/effect/floor_decal/techgrid{dir = 4},/obj/effect/floor_decal/techgrid{dir = 1},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_2)
+"jv" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/entrepot/medbay)
+"jw" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/medbay)
+"jx" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2/dorm)
+"jy" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/dark/mono,/area/entrepot/arrivals)
+"jz" = (/obj/machinery/door/airlock{name = "Luxury Cabin"; id_tag = "LuxRoom"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2/dorm)
+"jA" = (/obj/machinery/door/airlock/glass,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2)
+"jB" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light/he,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/dock)
+"jC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/light/he{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/dock)
+"jD" = (/obj/machinery/light/he{dir = 4},/obj/machinery/camera/network/civilian_east{dir = 8; c_tag = "Main Module 2F - Docks"},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/dock)
+"jE" = (/obj/machinery/light/he{dir = 1},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/dock)
+"jF" = (/obj/machinery/light/he,/turf/simulated/floor/tiled/dark/mono,/area/entrepot/dock)
+"jG" = (/obj/structure/railing/steel{dir = 4},/obj/machinery/light/he{dir = 8},/turf/simulated/open,/area/entrepot/deck_2)
+"jH" = (/obj/structure/railing/steel{dir = 8},/obj/machinery/light/he{dir = 4},/turf/simulated/open,/area/entrepot/deck_2)
+"jI" = (/obj/machinery/light/he{dir = 1},/turf/simulated/open,/area/entrepot/deck_2)
+"jJ" = (/obj/machinery/light/he,/turf/simulated/open,/area/entrepot/deck_2)
+"jK" = (/obj/structure/cable{icon_state = "2-8"; d2 = 8; d1 = 2},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/structure/cable{icon_state = "1-8"; d2 = 8; d1 = 1},/obj/structure/disposalpipe/segment{icon_state = "pipe-c"; dir = 2},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_2)
+"jL" = (/obj/effect/floor_decal/techgrid,/obj/effect/floor_decal/techgrid{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/light/he{dir = 4},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_2)
+"jM" = (/obj/effect/floor_decal/techgrid{dir = 1},/obj/effect/floor_decal/techgrid{dir = 8},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/light/he{dir = 8},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_2)
+"jN" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/dock)
+"jO" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8; layer = 2.4; level = 2},/obj/machinery/light/he{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/arrivals)
+"jP" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/light/he{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/arrivals)
+"jQ" = (/obj/machinery/light/he{dir = 8},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/arrivals)
+"jR" = (/obj/machinery/light/he{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/arrivals)
+"jS" = (/obj/machinery/light/he,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/arrivals)
+"jT" = (/obj/machinery/light,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2)
+"jU" = (/obj/effect/floor_decal/corner/black{dir = 6},/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_2)
+"jV" = (/obj/effect/floor_decal/corner/black{dir = 9},/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_2)
+"jW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2/dorm)
+"jX" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2/dorm)
+"jY" = (/obj/machinery/alarm{dir = 8; pixel_x = 24},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/trim/wood,/area/entrepot/crew_2/dorm)
+"jZ" = (/obj/machinery/alarm{dir = 4; pixel_x = -24},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/trim/wood,/area/entrepot/crew_2/dorm)
+"ka" = (/obj/machinery/light/he{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2/dorm)
+"kb" = (/obj/machinery/light,/turf/simulated/floor/trim/carpet/gpurple,/area/entrepot/crew_2/dorm)
+"kc" = (/obj/structure/table/standard,/obj/item/towel,/obj/item/reagent_containers/food/packaged/sweetroid,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/light,/turf/simulated/floor/tiled/white/mono,/area/entrepot/crew_2/fitness)
+"kd" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/table/standard,/obj/item/reagent_containers/food/packaged/nutribar,/obj/effect/floor_decal/spline/plain/black{dir = 4},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1; layer = 2.4; level = 2},/obj/machinery/light,/turf/simulated/floor/tiled/white/mono,/area/entrepot/crew_2/fitness)
+"ke" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/white/mono,/area/entrepot/crew_2/fitness)
+"kf" = (/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/spline/plain/red{dir = 4},/obj/effect/floor_decal/spline/plain/black{dir = 8},/obj/machinery/light,/turf/simulated/floor/tiled/mono,/area/entrepot/crew_2/fitness)
+"kg" = (/obj/effect/floor_decal/corner/red/three_quarters{dir = 4},/obj/effect/floor_decal/spline/plain/black{dir = 6},/obj/machinery/light,/turf/simulated/floor/tiled,/area/entrepot/crew_2/fitness)
+"kh" = (/turf/simulated/floor/reinforced/airless,/area/space)
+"ki" = (/obj/machinery/embedded_controller/radio/airlock/docking_port_multi{dir = 4; layer = 7; pixel_x = -30; frequency = 1380; req_one_access = list(13); id_tag = "escape_dock_north_airlock"; master_tag = "escape_dock"; tag_exterior_door = "escape_dock_north_outer"; tag_interior_door = "escape_dock_north_inner"; tag_airpump = "escape_dock_north_pump"; tag_chamber_sensor = "escape_dock_north_sensor"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "escape_dock_north_pump"},/obj/machinery/airlock_sensor{dir = 8; pixel_x = 28; frequency = 1380; id_tag = "escape_dock_north_sensor"},/turf/simulated/floor/plating,/area/entrepot/dock)
+"kj" = (/obj/machinery/light/he{dir = 8},/turf/simulated/open,/area/entrepot/crew_2/fitness)
+"kk" = (/turf/simulated/wall,/area/entrepot/crew_2)
+"kl" = (/obj/random/pottedplant,/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2)
+"km" = (/obj/random/pottedplant,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2)
+"kn" = (/obj/structure/window_frame/glass,/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2/fitness)
+"ko" = (/obj/structure/flora/pottedplant/unusual,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2/dorm)
+"kp" = (/obj/structure/reagent_dispensers/water_cooler,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2/dorm)
+"kq" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/brown,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1; layer = 2.4; level = 2},/turf/simulated/floor/trim/darkwood,/area/entrepot/crew_2/dorm)
+"kr" = (/obj/structure/table/woodentable,/obj/item/modular_computer/laptop/preset/custom_loadout/standard,/turf/simulated/floor/trim/darkwood,/area/entrepot/crew_2/dorm)
+"ks" = (/obj/structure/table/woodentable,/obj/item/material/ashtray/bronze,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/trim/darkwood,/area/entrepot/crew_2/dorm)
+"kt" = (/obj/structure/flora/pottedplant/pink,/turf/simulated/floor/trim/darkwood,/area/entrepot/crew_2/dorm)
+"ku" = (/obj/structure/bed/padded{icon_state = "bedright"},/obj/item/bedsheet/nt,/turf/simulated/floor/trim/carpet/gpurple,/area/entrepot/crew_2/dorm)
+"kv" = (/obj/machinery/sauna,/turf/simulated/floor/tiled/dark,/area/entrepot/crew_2/dorm)
+"kw" = (/obj/item/soap/deluxe,/obj/effect/floor_decal/spline/fancy{dir = 6},/obj/effect/floor_decal/spline/fancy{dir = 10},/obj/effect/mist,/turf/simulated/floor/water/fountain,/area/entrepot/crew_2/dorm)
+"kx" = (/obj/structure/bed/roller,/obj/machinery/camera/network/civilian_east{dir = 1; c_tag = "Living Module 2F - Medbay"},/turf/simulated/floor/tiled/white/rough,/area/entrepot/medbay)
+"ky" = (/obj/machinery/bodyscanner{dir = 8},/turf/simulated/floor/tiled/white/rough,/area/entrepot/medbay)
+"kz" = (/obj/machinery/body_scanconsole{dir = 8},/obj/machinery/light,/turf/simulated/floor/tiled/white/rough,/area/entrepot/medbay)
+"kA" = (/obj/structure/table/rack,/obj/item/storage/firstaid/o2,/obj/item/storage/firstaid/o2,/obj/item/storage/firstaid/toxin,/obj/item/storage/firstaid/toxin,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/white/rough,/area/entrepot/medbay)
+"kB" = (/obj/item/reagent_containers/dropper,/obj/machinery/light{dir = 8},/obj/machinery/alarm{dir = 4; pixel_x = -24},/obj/structure/table/glass,/obj/item/reagent_containers/vessel/beaker/plass,/obj/item/reagent_containers/vessel/beaker/large,/turf/simulated/floor/tiled/white,/area/entrepot/medbay)
+"kC" = (/obj/machinery/chemical_dispenser/full,/turf/simulated/floor/tiled/white,/area/entrepot/medbay)
+"kD" = (/obj/machinery/chem_master,/turf/simulated/floor/tiled/white,/area/entrepot/medbay)
+"kE" = (/obj/structure/table/glass,/obj/machinery/reagentgrinder{pixel_y = 6},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1; layer = 2.4; level = 2},/turf/simulated/floor/tiled/white,/area/entrepot/medbay)
+"kF" = (/obj/structure/railing/steel{dir = 8},/obj/structure/railing/steel{dir = 1},/turf/simulated/open,/area/entrepot/crew_2/fitness)
+"kG" = (/obj/structure/railing/steel{dir = 1},/turf/simulated/open,/area/entrepot/crew_2/fitness)
+"kH" = (/obj/structure/railing/steel{dir = 1},/obj/structure/window/reinforced{dir = 1; health = 1e+06},/turf/simulated/open,/area/entrepot/crew_2/fitness)
+"kI" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/light,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/medbay)
+"kJ" = (/obj/structure/bed/chair/pedalgen,/turf/simulated/floor/tiled/white/mono,/area/entrepot/crew_2/fitness)
+"kK" = (/obj/structure/table/reinforced,/obj/machinery/alarm{dir = 4; pixel_x = -24},/obj/machinery/light/small/hl{dir = 8},/turf/simulated/floor/tiled/dirty,/area/entrepot/crew_2)
+"kL" = (/obj/structure/railing/steel{dir = 8},/turf/simulated/open,/area/entrepot/crew_2/fitness)
+"kM" = (/obj/effect/floor_decal/techgrid{dir = 1},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_2)
+"kN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark/mono,/area/entrepot/dock)
+"kO" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/structure/cable{icon_state = "2-4"; d2 = 4; d1 = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/disposalpipe/segment{icon_state = "pipe-c"; dir = 4},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_2)
+"kP" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2)
+"kQ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/structure/cable{icon_state = "2-8"; d2 = 8; d1 = 2},/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 8},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/dock)
+"kR" = (/obj/structure/railing/steel{dir = 8},/obj/structure/railing/steel{dir = 4},/obj/structure/flora/pottedplant/unusual,/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2/fitness)
+"kS" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/wall,/area/entrepot/dock)
+"kT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/alarm{pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/dock)
+"kU" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/embedded_controller/radio/docking_port_multi{dir = 1; layer = 7; pixel_y = -26; frequency = 1380; req_one_access = list(13); id_tag = "escape_dock"; child_tags_txt = "escape_dock_north_airlock;escape_dock_south_airlock"; child_names_txt = "Airlock One;Airlock Two"},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/dock)
+"kV" = (/obj/structure/closet/crate/critter,/obj/item/metroid_extract/green,/obj/item/metroid_extract/green,/obj/item/metroid_extract/green,/obj/item/device/metroid_scanner,/turf/simulated/floor/shuttle/blue{dir = 8},/area/supply/station)
+"kW" = (/obj/machinery/door/airlock/external{name = "Escape Airlock"; icon_state = "door_locked"; frequency = 1380; locked = 1; req_access = list(13); id_tag = "escape_dock_south_outer"},/obj/machinery/access_button{name = "exterior access button"; dir = 2; layer = 7; pixel_x = 26; pixel_y = -7; frequency = 1380; command = "cycle_exterior"; req_one_access = list(13); master_tag = "escape_dock_south_airlock"},/obj/machinery/shield_diffuser,/turf/simulated/floor/plating,/area/entrepot/dock)
+"kX" = (/obj/machinery/door/airlock/external{name = "Escape Airlock"; icon_state = "door_locked"; frequency = 1380; locked = 1; req_access = list(13); id_tag = "escape_dock_north_outer"},/obj/machinery/access_button{name = "exterior access button"; dir = 2; layer = 7; pixel_x = 26; pixel_y = -7; frequency = 1380; command = "cycle_exterior"; req_one_access = list(13); master_tag = "escape_dock_north_airlock"},/obj/machinery/shield_diffuser,/turf/simulated/floor/plating,/area/entrepot/dock)
+"kY" = (/turf/space,/turf/simulated/shuttle/wall/corner/smoothwhite/ne,/area/shuttle/arrival/station)
+"kZ" = (/obj/structure/shuttle/engine/propulsion/burst{dir = 8},/turf/space,/area/shuttle/arrival/station)
+"la" = (/turf/simulated/shuttle/wall{icon_state = "whiteship_straight"},/area/shuttle/arrival/station)
+"lb" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/shuttle/blue,/area/shuttle/arrival/station)
+"lc" = (/turf/simulated/floor/shuttle/blue,/area/shuttle/arrival/station)
+"ld" = (/obj/structure/closet/wardrobe/black,/obj/machinery/light{dir = 1},/obj/machinery/camera/network/exodus{c_tag = "Arrivals - Main Shuttle"},/turf/simulated/floor/shuttle/blue,/area/shuttle/arrival/station)
+"le" = (/obj/structure/closet/wardrobe/xenos,/turf/simulated/floor/shuttle/blue,/area/shuttle/arrival/station)
+"lf" = (/obj/structure/closet/wardrobe/mixed,/turf/simulated/floor/shuttle/blue,/area/shuttle/arrival/station)
+"lg" = (/obj/structure/closet/wardrobe/grey,/obj/machinery/light{dir = 1},/turf/simulated/floor/shuttle/blue,/area/shuttle/arrival/station)
+"lh" = (/obj/machinery/computer/arcade,/turf/simulated/floor/shuttle/blue,/area/shuttle/arrival/station)
+"li" = (/obj/machinery/light{dir = 4},/turf/simulated/floor/shuttle/blue,/area/shuttle/arrival/station)
+"lj" = (/turf/simulated/shuttle/wall{icon_state = "whiteship_t"; dir = 8},/area/shuttle/arrival/station)
+"lk" = (/obj/structure/shuttle/engine/heater{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/rough/airless,/area/shuttle/arrival/station)
+"ll" = (/obj/structure/bed/chair/shuttle/blue{dir = 4},/obj/effect/landmark/joinlate,/turf/simulated/floor/shuttle/blue,/area/shuttle/arrival/station)
+"lm" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"; dir = 1},/area/shuttle/arrival/station)
+"ln" = (/obj/structure/bed/chair/shuttle/blue{dir = 4},/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/shuttle/blue,/area/shuttle/arrival/station)
+"lo" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/shuttle/blue,/area/shuttle/arrival/station)
+"lp" = (/obj/effect/landmark/joinlate/observer,/obj/item/device/bluespace_beacon,/turf/simulated/floor/shuttle/blue,/area/shuttle/arrival/station)
+"lq" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/floor/shuttle/blue,/area/shuttle/arrival/station)
+"lr" = (/obj/structure/window_frame/grille,/obj/structure/window/shuttle{icon_state = "2"; dir = 1},/turf/simulated/floor/plating/rough,/area/shuttle/arrival/station)
+"ls" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"},/area/shuttle/arrival/station)
+"lt" = (/obj/machinery/light,/obj/item/device/radio/intercom{dir = 1; pixel_y = -22},/turf/simulated/floor/shuttle/blue,/area/shuttle/arrival/station)
+"lu" = (/obj/machinery/requests_console{pixel_y = -30; department = "Arrival shuttle"},/obj/machinery/light,/turf/simulated/floor/shuttle/blue,/area/shuttle/arrival/station)
+"lv" = (/turf/space,/turf/simulated/shuttle/wall/corner/smoothwhite/se,/area/shuttle/arrival/station)
+"lw" = (/turf/space,/turf/simulated/shuttle/wall/corner/smoothwhite/sw,/area/shuttle/arrival/station)
+"lx" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"; dir = 9},/area/shuttle/arrival/station)
+"ly" = (/obj/machinery/door/airlock/external/bolted_open,/turf/simulated/floor/shuttle/blue,/area/shuttle/arrival/station)
+"lz" = (/obj/machinery/light/he{dir = 8},/obj/structure/disposalpipe/trunk{dir = 4},/obj/machinery/disposal,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/dock)
+"lA" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/effect/floor_decal/spline/plain/black{dir = 8},/obj/effect/floor_decal/spline/plain/black{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating/airless,/area/space)
+"lB" = (/obj/machinery/cryopod{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/arrivals)
+"lC" = (/obj/structure/cryofeed{dir = 1},/turf/simulated/floor/plating,/area/entrepot/arrivals)
+"lD" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad"},/obj/machinery/door/airlock/external/bolted_open,/turf/simulated/floor/plating,/area/supply/station)
+"lE" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad"},/turf/simulated/floor/shuttle/blue,/area/supply/station)
+"lF" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"},/area/supply/station)
+"lG" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{pixel_x = -25; frequency = 1380; req_one_access = list(13,31); id_tag = "supply_shuttle"; tag_door = "supply_shuttle_hatch"},/turf/simulated/floor/shuttle/blue,/area/supply/station)
+"lH" = (/obj/machinery/light{dir = 8},/obj/item/reagent_containers/food/monkeycube/wrapped,/obj/item/extinguisher,/obj/item/stack/material/cardboard/ten,/turf/simulated/floor/shuttle/blue{dir = 8},/area/supply/station)
+"lI" = (/obj/item/stack/material/wood,/obj/structure/reagent_dispensers/beerkeg,/turf/simulated/floor/shuttle/blue,/area/supply/station)
+"lJ" = (/turf/space,/turf/simulated/shuttle/wall/corner/smoothwhite/sw,/area/supply/station)
+"lK" = (/turf/simulated/shuttle/wall{icon_state = "whiteship_straight"; dir = 4},/area/supply/station)
+"lL" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/shuttle/blue,/area/supply/station)
+"lM" = (/obj/machinery/computer/borgupload,/turf/simulated/floor/grid/bluegrid,/area/turret_protected/ai_upload)
+"lN" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/tiled/dark,/area/turret_protected/ai_upload)
+"lO" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/dark,/area/turret_protected/ai_upload)
+"lP" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 6},/turf/simulated/floor/tiled/dark,/area/turret_protected/ai_upload)
+"lQ" = (/obj/machinery/computer/aiupload,/turf/simulated/floor/grid/bluegrid,/area/turret_protected/ai_upload)
+"lR" = (/obj/item/aiModule/protectStation,/obj/item/aiModule/quarantine,/obj/item/aiModule/reset,/obj/item/aiModule/nanotrasen,/obj/structure/table/standard,/turf/simulated/floor/grid/bluegrid,/area/turret_protected/ai_upload)
+"lS" = (/obj/structure/table/standard,/obj/item/aiModule/oxygen,/obj/item/aiModule/oneHuman,/obj/item/aiModule/purge,/obj/item/aiModule/antimov,/obj/item/aiModule/teleporterOffline,/obj/item/aiModule/robocop,/obj/item/aiModule/paladin,/obj/item/aiModule/corp,/obj/item/aiModule/freeformcore,/obj/item/aiModule/asimov,/obj/machinery/camera/network/civilian_east{dir = 1; c_tag = "AI Upload"},/turf/simulated/floor/grid/bluegrid,/area/turret_protected/ai_upload)
+"lT" = (/obj/effect/floor_decal/corner/black{dir = 10},/obj/structure/flora/pottedplant/stoutbush,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_2)
+"lU" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_2)
+"lV" = (/obj/machinery/power/apc{name = "west bump"; dir = 8; pixel_x = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_2)
+"lW" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/railing/steel,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/dark,/area/entrepot/engi_2)
+"lX" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark,/area/entrepot/engi_2)
+"lY" = (/obj/machinery/turret_control_panel/ai_upload{pixel_x = 30},/obj/structure/cable{icon_state = "1-8"; d2 = 8; d1 = 1},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/dark,/area/entrepot/engi_2)
+"lZ" = (/obj/structure/cable{icon_state = "1-8"; d2 = 8; d1 = 1},/turf/simulated/floor/tiled/dark,/area/turret_protected/ai_upload)
+"ma" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/junction{dir = 8},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_2)
+"mb" = (/obj/machinery/vending/cola,/turf/simulated/floor/tiled/dark/mono,/area/entrepot/dock)
+"mc" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_2)
+"md" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_2)
+"me" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_2)
+"mf" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/dark,/area/entrepot/crew_2/dorm)
+"mg" = (/obj/structure/table/woodentable,/obj/item/modular_computer/laptop/preset/custom_loadout/standard,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/trim/wood,/area/entrepot/crew_2/dorm)
+"mh" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/light{dir = 4},/obj/structure/railing/steel,/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled/dark,/area/entrepot/engi_2)
+"mi" = (/obj/machinery/light/he,/turf/simulated/floor/grid/bluegrid,/area/turret_protected/ai_upload)
+"mj" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/arrivals)
+"mk" = (/obj/structure/table/darkwood_reinforced,/obj/item/device/flashlight/lamp/brown,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_2)
+"ml" = (/obj/structure/flora/pottedplant/minitree,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/camera/network/civilian_east{c_tag = "Main Module 2F - Docks South"},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/dock)
+"mm" = (/obj/structure/closet/emcloset,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/dock)
+"mn" = (/obj/structure/railing/steel{dir = 8},/obj/structure/railing/steel{dir = 4},/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2/fitness)
+"mo" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4; layer = 2.4; level = 2},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/arrivals)
+"mp" = (/obj/machinery/light/he{dir = 4},/turf/simulated/open,/area/entrepot/crew_2/fitness)
+"mq" = (/obj/structure/table/darkwood_reinforced,/obj/item/device/flashlight/lamp/brown,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_2)
+"mr" = (/obj/structure/railing/steel{dir = 4},/turf/simulated/open,/area/entrepot/dock)
+"ms" = (/obj/effect/floor_decal/industrial/loading{dir = 8},/obj/machinery/light/he{dir = 1},/turf/simulated/floor/tiled/rough,/area/entrepot/dock)
+"mt" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/brown,/obj/item/material/ashtray/plastic,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8; layer = 2.4; level = 2},/turf/simulated/floor/trim/carpet/purple,/area/entrepot/crew_2/dorm)
+"mu" = (/obj/machinery/door/airlock/glass,/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_2)
+"mv" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/arrivals)
+"mw" = (/obj/machinery/status_display,/turf/simulated/floor/tiled/dark/rough,/turf/simulated/wall,/area/entrepot/deck_2)
+"mx" = (/obj/machinery/power/apc{name = "north bump"; dir = 1; pixel_y = 24},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/deck_2)
+"my" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark/mono,/area/entrepot/dock)
+"mz" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_2)
+"mA" = (/obj/effect/floor_decal/industrial/loading{dir = 8},/obj/machinery/light/he,/turf/simulated/floor/tiled/rough,/area/entrepot/dock)
+"mB" = (/obj/structure/sign/double/picturemount/left{pixel_y = 32},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2/dorm)
+"mC" = (/obj/structure/railing/steel,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/crew_2)
+"mD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2/dorm)
+"mE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2/dorm)
+"mF" = (/obj/structure/sign/double/picturemount/right{pixel_y = 32},/obj/structure/cable{icon_state = "2-4"; d2 = 4; d1 = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2/dorm)
+"mG" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2/dorm)
+"mH" = (/obj/machinery/door/airlock/glass,/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2)
+"mI" = (/obj/structure/cable{icon_state = "2-8"; d2 = 8; d1 = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/medbay)
+"mJ" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2)
+"mK" = (/obj/structure/cable{icon_state = "1-8"; d2 = 8; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2/fitness)
+"mL" = (/obj/structure/railing/steel,/obj/structure/window_frame/glass,/obj/machinery/door/firedoor,/turf/simulated/floor/tiled/dark/mono,/area/entrepot/crew_2/fitness)
+"mM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2/dorm)
+"mN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled/dark,/area/entrepot/crew_2/dorm)
+"mO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2/fitness)
+"mP" = (/obj/effect/landmark/map_data{height = 2},/turf/space,/area/space)
+"mQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white/rough,/area/entrepot/crew_2/fitness)
+"mR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2/fitness)
+"mS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2/fitness)
+"mT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white/mono,/area/entrepot/crew_2/fitness)
+"mU" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white/mono,/area/entrepot/crew_2/fitness)
+"mV" = (/obj/structure/window/reinforced{dir = 4},/obj/effect/floor_decal/spline/plain/black{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white/mono,/area/entrepot/crew_2/fitness)
+"mW" = (/obj/structure/window/reinforced{dir = 4},/obj/item/stool,/obj/effect/floor_decal/spline/plain/black{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white/mono,/area/entrepot/crew_2/fitness)
+"mX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/entrepot/medbay)
+"mY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled/white,/area/entrepot/medbay)
+"mZ" = (/obj/structure/table/glass,/obj/item/storage/box/syringes,/obj/item/storage/box/pillbottles,/obj/item/storage/box/pillbottles,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled/white,/area/entrepot/medbay)
+"na" = (/obj/structure/railing/steel,/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/crew_2)
+"nb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/crew_2)
+"nc" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2)
+"nd" = (/obj/effect/floor_decal/corner/black/three_quarters{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_2)
+"ne" = (/obj/effect/floor_decal/corner/black{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_2)
+"nf" = (/obj/machinery/light/nobreak{dir = 1},/turf/simulated/open,/area/entrepot/cafe_2)
+"ng" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/structure/railing/steel,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/dark,/area/entrepot/engi_2)
+"nh" = (/obj/structure/railing/steel,/obj/structure/railing/steel,/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/dock)
+"ni" = (/obj/effect/floor_decal/corner/black/three_quarters{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_2)
+"nj" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2/dorm)
+"nk" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2/dorm)
+"nl" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor/trim/darkwood,/area/entrepot/crew_2/dorm)
+"nm" = (/obj/effect/floor_decal/spline/plain/black{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled/white/mono,/area/entrepot/crew_2/fitness)
+"nn" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/arrivals)
+"no" = (/obj/structure/table/rack,/obj/item/storage/firstaid/adv,/obj/item/storage/firstaid/adv,/obj/item/storage/firstaid/fire,/obj/item/storage/firstaid/fire,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white/rough,/area/entrepot/medbay)
+"np" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark/mono,/area/entrepot/arrivals)
+"nq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark/mono,/area/entrepot/arrivals)
+"nr" = (/obj/machinery/door/airlock/glass{name = "Cryogenic Storage"},/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/arrivals)
+"ns" = (/obj/structure/window_frame/glass,/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_2)
+"nt" = (/obj/effect/floor_decal/techgrid{dir = 4},/obj/effect/floor_decal/techgrid{dir = 1},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/light/he{dir = 1},/obj/machinery/alarm{pixel_y = 24},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_2)
+"nu" = (/obj/structure/cable{icon_state = "2-8"; d2 = 8; d1 = 2},/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 8},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_2)
+"nv" = (/obj/structure/window_frame/reinforced/hull,/obj/machinery/door/firedoor,/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/entrepot/deck_2)
+"nw" = (/obj/structure/cable{icon_state = "1-4"; d2 = 4; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/disposalpipe/segment{icon_state = "pipe-c"; dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/deck_2)
+"nx" = (/obj/machinery/vending/snack,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/dock)
+"ny" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_2)
+"nz" = (/obj/structure/railing/steel,/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/dock)
+"nA" = (/obj/structure/disposalpipe/segment{icon_state = "pipe-c"; dir = 8},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/dock)
+"nB" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2)
+"nC" = (/obj/item/stool,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2/dorm)
+"nD" = (/obj/structure/railing/steel,/turf/simulated/wall,/area/entrepot/dock)
+"nE" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2/dorm)
+"nF" = (/obj/machinery/camera/network/civilian_east{dir = 1; c_tag = "Living Module 2F - Dormitories"},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2/dorm)
+"nG" = (/obj/machinery/button/remote/airlock{name = "Door Bolts"; dir = 2; pixel_x = -25; pixel_y = 24; id = "LuxRoom"; specialfunctions = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/trim/darkwood,/area/entrepot/crew_2/dorm)
+"nH" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/trim/darkwood,/area/entrepot/crew_2/dorm)
+"nI" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2/dorm)
+"nJ" = (/obj/item/stool,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white/mono,/area/entrepot/crew_2/fitness)
+"nK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/arrivals)
+"nL" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/deck_2)
+"nM" = (/obj/structure/railing/steel{dir = 4},/obj/structure/railing/steel,/turf/simulated/open,/area/entrepot/dock)
+"nN" = (/obj/machinery/alarm{dir = 1; pixel_y = -24},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/cafe_2)
+"nO" = (/obj/machinery/alarm{dir = 4; pixel_x = -24},/obj/machinery/camera/network/civilian_east{dir = 4; c_tag = "Main Module 2F - West"},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/arrivals)
+"nP" = (/obj/machinery/access_button{name = "interior access button"; dir = 1; layer = 7; pixel_x = 26; pixel_y = -26; frequency = 1380; command = "cycle_interior"; req_one_access = list(13); master_tag = "escape_dock_south_airlock"},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/dock)
+"nQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/alarm{dir = 1; pixel_y = -24},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/dock)
+"nR" = (/obj/structure/railing/steel{dir = 8},/turf/simulated/open,/area/entrepot/deck_2)
+"nS" = (/obj/machinery/alarm{dir = 1; pixel_y = -24},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/arrivals)
+"nT" = (/obj/item/crowbar/prybar,/obj/item/paper{info = "\[i]So, we have checked these cool scientific thingies - everything seems to be alright. I guess, that message was but a prank. Alls well that ends well, right? P.S. For fucks sake, was it really necessary to put that jar of acid right on the keyboard? Jimmys got his toes melted off.\[/i]"},/turf/simulated/floor/shuttle/blue,/area/supply/station)
+"nU" = (/obj/structure/railing/steel{dir = 8},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/crew_2)
+"nV" = (/obj/machinery/alarm{dir = 1; pixel_y = -24},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2/dorm)
+"nW" = (/obj/structure/railing/steel,/turf/simulated/wall,/area/entrepot/deck_2)
+"nX" = (/obj/machinery/cryopod,/obj/machinery/camera/network/civilian_east{dir = 1; c_tag = "Living Module 2F - Detention"},/turf/simulated/floor/tiled/dirty,/area/entrepot/crew_2)
+"nY" = (/obj/machinery/alarm{dir = 8; pixel_x = 24},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2/fitness)
+"nZ" = (/obj/structure/sign/deck/second,/obj/structure/railing/steel,/turf/simulated/wall,/area/entrepot/deck_2)
+"oa" = (/obj/machinery/status_display,/turf/simulated/wall,/area/entrepot/medbay)
+"ob" = (/obj/structure/window_frame/reinforced/hull,/obj/machinery/door/firedoor,/obj/machinery/status_display,/turf/simulated/floor/plating,/area/entrepot/crew_2/dorm)
+"oc" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area/entrepot/medbay)
+"od" = (/turf/space,/area/shuttle/escape/station)
+"oe" = (/turf/simulated/wall/gold,/area/entrepot/crew_2)
+"of" = (/obj/structure/railing/steel,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/deck_2)
+"og" = (/obj/effect/floor_decal/corner/black{dir = 5},/obj/structure/flora/pottedplant/stoutbush,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/rough,/area/entrepot/crew_2)
+"oh" = (/obj/structure/railing/steel{dir = 4},/obj/machinery/light/he{dir = 8},/obj/structure/railing/steel,/turf/simulated/open,/area/entrepot/deck_2)
+"oi" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/arrivals)
+"oj" = (/obj/machinery/door/airlock/glass{name = "Cryogenic Storage"},/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/arrivals)
+"ok" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/dock)
+"ol" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/turf/simulated/floor/tiled/dark/mono,/area/entrepot/dock)
+"om" = (/obj/machinery/access_button{name = "interior access button"; dir = 1; layer = 7; pixel_x = 26; pixel_y = -26; frequency = 1380; command = "cycle_interior"; req_one_access = list(13); master_tag = "escape_dock_north_airlock"},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/dock)
+"on" = (/obj/machinery/door/airlock/external{name = "Escape Airlock"; icon_state = "door_locked"; frequency = 1380; locked = 1; req_access = list(13); id_tag = "escape_dock_south_inner"},/turf/simulated/floor/plating,/area/entrepot/dock)
+"oo" = (/obj/machinery/door/airlock/external{name = "Escape Airlock"; icon_state = "door_locked"; frequency = 1380; locked = 1; req_access = list(13); id_tag = "escape_dock_north_inner"},/turf/simulated/floor/plating,/area/entrepot/dock)
+"op" = (/obj/machinery/light/he,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/arrivals)
+"oq" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/arrivals)
+"or" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark/mono,/area/entrepot/dock)
+"os" = (/obj/structure/window_frame/glass,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/deck_2)
+"ot" = (/turf/unsimulated/mask,/area/space)
+"ou" = (/turf/space,/turf/space,/area/space)
+"ov" = (/obj/structure/railing/steel{dir = 8},/turf/simulated/open,/area/entrepot/crew_2)
+"ow" = (/obj/structure/railing/steel{dir = 4},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/crew_2)
+"ox" = (/obj/machinery/alarm{dir = 1; pixel_y = -24},/obj/structure/railing/steel{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/crew_2)
+"oy" = (/obj/item/packageWrap,/turf/simulated/floor/shuttle/blue,/area/supply/station)
+"oz" = (/obj/machinery/r_n_d/protolathe,/turf/simulated/floor/shuttle/blue,/area/supply/station)
+"oA" = (/obj/item/stack/material/wood,/obj/item/stack/material/wood,/obj/item/stack/material/wood,/turf/simulated/floor/shuttle/blue,/area/supply/station)
+"oB" = (/obj/machinery/r_n_d/destructive_analyzer,/turf/simulated/floor/shuttle/blue,/area/supply/station)
+"oC" = (/turf/space,/turf/simulated/shuttle/wall/corner/smoothwhite/se,/area/supply/station)
+"oD" = (/obj/machinery/computer/processing_unit_console,/turf/simulated/floor/shuttle/blue,/area/supply/station)
+"oE" = (/obj/machinery/mineral/processing_unit,/turf/simulated/floor/shuttle/blue,/area/supply/station)
+"oF" = (/obj/item/pickaxe/drill,/obj/item/pickaxe/drill,/obj/structure/closet/crate/miningcar,/obj/item/ore_radar,/obj/item/ore_radar,/obj/item/storage/ore,/obj/item/storage/ore,/turf/simulated/floor/shuttle/blue,/area/supply/station)
+"oG" = (/obj/machinery/r_n_d/circuit_imprinter,/turf/simulated/floor/shuttle/blue,/area/supply/station)
+"oH" = (/obj/item/stack/material/wood,/obj/item/conveyor_construct,/obj/item/conveyor_construct,/obj/item/conveyor_construct,/obj/item/conveyor_construct,/obj/item/conveyor_construct,/obj/item/conveyor_construct,/obj/item/conveyor_construct,/obj/item/conveyor_construct,/obj/item/conveyor_construct,/obj/item/conveyor_construct,/obj/item/conveyor_switch_construct,/obj/item/conveyor_switch_construct,/turf/simulated/floor/shuttle/blue,/area/supply/station)
+"oI" = (/obj/structure/largecrate/animal/cat/runtime,/turf/simulated/floor/shuttle/blue,/area/supply/station)
+"oJ" = (/obj/item/device/integrated_electronics/debugger,/obj/item/device/integrated_circuit_printer,/obj/item/device/integrated_electronics/wirer,/obj/item/device/integrated_electronics/analyzer,/obj/structure/closet/crate/science,/obj/item/reagent_containers/vessel/beaker/sulphuric,/obj/item/stack/cable_coil,/turf/simulated/floor/shuttle/blue,/area/supply/station)
+"oK" = (/obj/structure/largecrate/animal/mulebot,/turf/simulated/floor/shuttle/blue,/area/supply/station)
+"oL" = (/obj/structure/largecrate/animal/chick,/turf/simulated/floor/shuttle/blue,/area/supply/station)
+"oM" = (/obj/structure/largecrate/animal/parrot/poly,/turf/simulated/floor/shuttle/blue,/area/supply/station)
+"oN" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/effect/floor_decal/techfloor,/obj/structure/window_frame/reinforced/hull,/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/reinforced/airless,/area/space)
+"oO" = (/obj/item/stack/material/wood,/turf/simulated/floor/shuttle/blue,/area/supply/station)
+"oP" = (/obj/machinery/computer/stacking_unit_console,/turf/simulated/floor/shuttle/blue,/area/supply/station)
+"oQ" = (/obj/machinery/mineral/stacking_machine,/turf/simulated/floor/shuttle/blue,/area/supply/station)
+"oR" = (/obj/machinery/computer/rdconsole/core,/obj/item/stack/cable_coil,/turf/simulated/floor/shuttle/blue,/area/supply/station)
+"oS" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/effect/floor_decal/techfloor,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/reinforced/airless,/area/space)
+"oT" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/reinforced/airless,/area/space)
+"oU" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/effect/floor_decal/techfloor,/obj/effect/floor_decal/spline/plain/blue,/obj/effect/floor_decal/spline/plain/corner/black,/obj/effect/floor_decal/spline/plain/corner/black{dir = 8},/obj/structure/disposalpipe/segment{icon_state = "pipe-c"; dir = 8},/turf/simulated/floor/reinforced/airless,/area/space)
+"oV" = (/obj/structure/window_frame/reinforced/hull,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/space)
+"oW" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/entrepot/deck_2)
+"oX" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/structure/railing/steel,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/entrepot/deck_2)
+"oY" = (/obj/structure/cable{icon_state = "2-4"; d2 = 4; d1 = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/disposalpipe/segment{icon_state = "conpipe-c"; dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/deck_2)
+"oZ" = (/obj/structure/cable{icon_state = "1-8"; d2 = 8; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{icon_state = "pipe-c"; dir = 8},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_2)
+"pa" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/deck_2)
+"pb" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark/rough,/area/entrepot/deck_2)
+"pc" = (/obj/structure/disposalpipe/segment{icon_state = "pipe-c"; dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/deck_2)
+"pd" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment{icon_state = "pipe-c"; dir = 8},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/deck_2)
+"pe" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{icon_state = "1-8"; d2 = 8; d1 = 1},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark/mono,/area/entrepot/dock)
+"pf" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment{icon_state = "pipe-c"; dir = 8},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/dock)
+"pg" = (/obj/structure/cable{icon_state = "1-8"; d2 = 8; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/disposalpipe/segment{icon_state = "pipe-c"; dir = 8},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/deck_2)
+"ph" = (/obj/effect/floor_decal/techgrid,/obj/effect/floor_decal/techgrid{dir = 8},/obj/machinery/camera/network/civilian_east{dir = 1; c_tag = "Main Module 2F - North"},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_2)
+"pi" = (/obj/effect/floor_decal/techgrid{dir = 4},/obj/effect/floor_decal/techgrid{dir = 1},/obj/machinery/camera/network/civilian_east{c_tag = "Main Module 2F - South"},/turf/simulated/floor/tiled/dark/mono,/area/entrepot/deck_2)
+"pj" = (/obj/machinery/camera/network/civilian_east{dir = 8; c_tag = "Main Module 2F - Gateway"},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/arrivals)
+"pk" = (/obj/machinery/cryopod{dir = 1},/obj/machinery/camera/network/civilian_east{dir = 8; c_tag = "Main Module 2F - Cryo Storage"},/turf/simulated/floor/tiled/dark/rough,/area/entrepot/arrivals)
+"pl" = (/obj/machinery/camera/network/civilian_east{dir = 1; c_tag = "AI Chamber"},/turf/simulated/floor/grid/bluegrid,/area/turret_protected/ai)
+
+(1,1,1) = {"
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototaaaaototaaaaaaaaotototaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaotototaaaaaaaaototototaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaotototototaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaotototaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototaaaaaaaaaaaaaaaaaaaaaaaaototototaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaouotototototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaotototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototaaaaaaototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototototototototaaaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaototaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaotototototaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototototaaotototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototototototaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaotototototaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototototototototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototototaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaototototototototaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaototototaaaaaaaaaaaaaaaaaaaaototototototaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaototototototaaaaaaaaaaaaaaaaaaaaaaotototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototototaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaototototototaaaaaaaaaaaaaaaaaaaaotototototototaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaotototototaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaototototototaaaaaaaaaaaaaaaaaaototototototototototototototototaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaototototaaaaaaaaotaaaaaaaaaaaaotototototaaaaototototototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototaaaaaaaaaaaaaaaaaaotaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaotototaaaaaaotaaaaaaaaaaaaaaaaaaaaaaototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaotototototototaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaototaaaaaaaaaaototototaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaototototototototototototaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototototaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototototototototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototototototototototototaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototototototototototototaaaaaaaaaaaaaaaaaaaaaaotototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototototototototototaaaaaaaaaaaaaaaaaaaaototototototototaaototaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototototaaaaaaaaaaaaototaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototototototototaaaaaaaaaaaaaaaaaaaaotototototototototototaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototototototaaaaaaaaaaotaaaaaaaaototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototaaaaaaaaaaaaaaaaaaotototototototaaaaaaaaaaaaaaaaaaaaaaototaaotototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototototototototaaaaaaaaaaaaaaaaaaotototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototaaaaaaaaaaaaaaaaaaaaotototototaaaaaaaaaaaaaaaaaaaaaaaaotaaaaototototototototaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototototototototototaaaaaaaaaaaaaaaaaaototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaototototaaaaaaaaaaaaaaotaaaaaaototaaaaaaototaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototototototototototaaaaaaaaaaaaaaaaototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototototototototototototaaaaaaaaaaaaaaaaaaotototototaaaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototototototototototototaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaotototototototototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaotaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototototototototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototototototototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototototototototototototaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototototototototototaaaaaaaaaaaaaaotototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaotototototototototototaaaaaaaaaaaaotototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaotototototaaaaaaaaaaaaaaototototototototototaaaaaaaaaaaaaaototototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaototototototaaaaaaaaaaaaaaototototototototaaaaaaaaaaaaaaaaaaototototototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaotototototaaaaaaaaaaaaaaaaototototototaaaaaaaaaaaaaaaaaaaaotototototototototototaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototototototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototototototototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaototototototototototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototototaaaaaaaaaaaaaaaaaaaaaaaaototototototototototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototototaaaaaaaaaaaaaaaaaaaaaaaaotototototototototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototototaaaaaaaaaaaaaaaaaaaaaaaaototototototototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototototaaaaaaaaaaaaaaaaaaaaaaaaototototototototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotaaototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaototaaaaaaaaaaotototototaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototototaaaaaaaaaaaaotototaaaaaaaaaaaaotaaaaaaototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototototototaaaaaaaaaaotototototototaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototototototaaaaaaaaaaotototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototototototototaaaaaaaaaaototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaotototototototototototaaaaaaaaotototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaototototototototototototaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototototototototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadubqbobobobCbCbJbrduaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototototototototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqbobobobpbpkhkhkhkhbubtduduaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototototototototototototaaaaaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabebpkhkhkhkhkhkhkhkhkhbtduduabababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototototototototototototaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabekhkhkhkhkhkhkhkhkhkhbuboboabaiaiaiaiawaDaDaDaDabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototototototototototototaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabekhkhkhkhkhkhkhkhkhkhkhkhkhabaiaiaiaiawaDaDaDaDabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototototototototototaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabebdkhkhkhkhkhkhkhkhabababababaiaiaiaiawaDaDaDaDabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototototototototaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkbcbcbcbdkhkhkhkhkhabaiaiainfaiaiaiaiawaDaDaKaLabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaotototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaduduaaaablkhkhkhkhkhabaiaiaiaiaiaiaiaiawaMaMabababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaduduaabIkhkhkhkhkhabaiaiaiaiaiaiaiaiawaOaPaQaRabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadudubIbdkhkhkhkhabaiaiaiaiaiaiaiaiawaOmdmqaUabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadubkbdkhkhkhkhabaWaWaWaWaWaWaWaWaXaOmeaYaZabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadubekhkhkhkhabbaaTbnbaaTbnbaaTbnbsmeaQaRabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabekhkhkhkhablVmcmcmcaoaCbxaSaSarbgmkaUabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabebdkhkhkhabbmaYaZbmbBaZeSaWaWaPnNaYaZabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadududududududududududududududuaaaaaaaaaaaaaaaaaabkbcbcbcbcabababababdqabababababababababaaigihiiiliminipimiqiiilkYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaducdcbcbcbbPcbcbcbbPcbcbcbcfduaaaaaaaaaaaaaaaaaaaaaaaaduaaaadubDbvbzlAbAbdbLduaaaaduaaaaaakZlalblcldlelflglhlcliljinipkYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadubQbpckbubRbpckbubRbpckbucaduaaaaaaaaaaaaaaaaaaaaaaaaduaaaadubHkhbzlAbAkhbEduaaaaduaaaaaakZlklclllclllclllclllclmlnlclaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaotototototaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadubQckcjckbRckcjckbRckcjckcaduaaaaaaaaaaaaaaaaaaaaaaaadudududubHkhbzlAbAkhbEdudududuaaaaaakZlklclllolllplllclllclqlclclraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaotototototaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadubQbdckbvbRbdckbvbRbdckbvcaduaaaaaaaaaaaaaaaaaaaaaaaaduaaaydubHkhbzlAbAkhbEduaaaaduaaaaaakZlklclllclllclllclllclslnlclaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaducgccccccchccccccchccccccciduaaaaaaaaaaaaaaaaaaaaaaaaduaaaadubHbubzlAbAbpbEduaaaaduaaaaaakZlalblcltlclclulclcliljiniplvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadudududuhmdududubKbKbKdudududududuaeaeaeaeaeaeaeaaaaaaaaaaakakakakakanannvananakakakakakaaaaaalwlxlyiliminipimiqlyillvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadubwbCbCbCbCbObKbKbKbKbKbCbCbCbOboaeahajaAaVahaeaaaaaaaaaaakaqaqaqjIaqaqoWaqaqjIaqaqaqakaaaaaaaaacalacaaaaaaaaacalacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadubIbpkhkhbpbKbKdMdNdMbKbKkhkhkhbpaeahbbcZdaahdbaedcdcdcakakaqasasasasasoXasasasasasaqakakacacacacauacaaaaaaaaacauacaaaaaaaagZgZgZgZgZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadubIkhkhkhkhbKdPdSfzfWgPbKkhkhkhkhaemodddedfahaFjRahahahnsaqhSoYpapapapaoZaGaGaGaGaGnRaqnsbiavaxaHalacacacacacaHalacacacaahchthuhuhuhxhBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadubIbpkhkhbpbKgSplgTgSgSbKkhkhkhkhaemjdpdrdrdrdgmvnndjdjosaqhSnycDcGphcGhOcGcGcGcMcAnRaqosbFaIdwjEaIaIaIaIaIaIaIaIaIbhacaahyhzoKoLoIhChwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaduagagazazazagbKbKhVhphvhThTkhkhkhaeahahahahpjaeahnpcSjOcQaqhSpbcUcVcWcWcWcWcWcVdRaGnRaqcQlzamfYiwjnjnjnjBnQjnjnjnjBbjacaahDijlIlLoFoHhDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaduagdLdOdOdOgQhUgJhZhXhXhYhTkhkhkhaeahjSnSjSahaejQnqdkdlnWnZohpbcUcWduaaaaaaducWdRaGionZnWnDcxkNjNczcBcHcIcJacachWnDifcKacikoMhAhAoDoEhDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaduagdTfVgMdOgRiaiblZicielMhTkhkhkhaeaeaeaeaeaeaenOnqdJdmmxdKpcpdcUcWaaaaaaaaaacWdRaGaGdKaGcNnMkNjNczcOcHcJdXcPcPcPcNcXmsdiirishAhAhAhAhDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaduaggNgOhFlXlYhTlNlOlOlPlQhTcohGaEaEbybybybybydndocycCcCjomumajKjLcWaaaaaaaaaacWjMkOlUmulUnhnzkQnAavavjDdWixcPcPmrgcgecYdiithAhAhAoPoQhDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaduaggUhElWngmhhUlRlSmihXhYhToThJkhaeaeaeaeaeaeaeiFfUdJdmofiNofpbcUcWaaaaaaaaaacWdRnLofiNofcNnMoratczgfcHcJiycPcPcNcNiTmAdilDlEhAhAhAoyhDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaduagagcnhIazaghThThThThThThToThJbdaedsdsdsdsdsaejQfUahdtaphRjGpbcUcWduaaaaaaducWdRnLjHhRapcJiupeavczcBcHcIkSacacaccJcIcKaclFlGhAoOoGozhDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadubeoVoVhHoNoSoSoSoSoSoSoSoSoUcpcmaedGdHdHdHeuaeahjyfZjPmwaqhSpbcUcVcWcWcWcWcWcVdRnLnRaqcQlzampfjkjkjkjkjCkTjkjkjkjCmlacaahDlHhAhAnToAhDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadubebdbvjbdudududududududududududuaefFfQfQfQfSnrnKoidjdjnsaqhSmzjtjujujuntjupijukMmznRaqnsmbaImyjFnPokokkUolokokomaIbhacaahDkVhAoJoRoBhDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadubkclcmjcduaaaaaaaaaaaaaaaaaaaaaaaefThQhQhQidojopoqahahosaqhSnwpapapapanupapapapapgnRaqosnxavmmaHonacacacacacaHooacacacaalJlKlKlKlKlKoCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadudududududuaaaaaaaaaaaaaaaaaaaaaaaejmlBlBlBpkdbaedcdcdcakakaqcRcRcRcRcRcecRcRcRcRcRaqakakacacacaciVacaaaaaaaaackiacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaelClClClClCaeaaaaaaaaaaakaqaqaqjJaqaqoWaqaqjJaqaqaqakaaaaaaaaackWacaaaaaaaaackXacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaeaeaeaeaeaeaaaaaaaaaaakakakakakanannvananakakakakakaaaaaaododododododododododododaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaduaaaadubDbvbzlAbAbdbLduaaaaduodododododododododododododododaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaduaaaadubHkhbzlAbAkhbEduaaaaduodododododododododododododododaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadudududubHkhbzlAbAkhbEdudududuododododododododiGododododododaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaduaaaadubHkhbzlAbAkhbEduaaaaduodododododododododododododododaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaduaaaadubHbubzlAbAbpbEduaaaaduodododododododododododododododaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaduadadadadadaBaBcEaBaBadadadadadaaaaaaododododododododododododaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJaNaNaNaJaJaJaJaNaNaNadcTdxdAdBgGgGdygGgGgHdQdYfsadadadadduiHiHiHdudududuiHiHiHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJcvcwcFcLdvdUdVdZcweckkeKdEfyhPfKfKgsfRfRfxfxfxfxadfAfBadduduaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJeeeheJcLeiejekcwcwelkkoggagbeTgqgqmCnanbncndnefXadfCfDadaaduduaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJcveUjYcLcLcLcLjZcwcvadaBaBgteViSgGbNgGnUfxgKaBaBadfEbffHadadduduaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzdudududududubqaJemeUcwekejeqcLeHeXmtadaaiRjUeViSdCoedDoviUjViRaaadkKfGfIfLadbJiZiZiZiZjadududududududzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadudzaaaaaaaaaaaabeaJeIfadZdVeNeQcLmgfecvadaBaBgtgpowgGdIgGoviUgKaBaBadgggknXfLadkhkhkhkhbujbaaaaaaaaaaaadzduaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadududzaaaaaaaaaaaabeaJcLafcLcLcLcLcLcLfjcLjgjhjqnikPgrjrjrjrjrfxjsgllTiMadgEiQadaddhocghghkhjbaaaaaaaaaaaadzduduaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagWaadzaaaaaaaaaaaabeaNeWnEeYjWmBmFjXnjnkmGmHnBnBnBbMbTbTenjijinBnBmJnBmHmIgxgmgngogugvgwghkhjbaaaaaaaaaaaadzaagWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagWdudzdudududududubeaNnCjxfdfcnVfbnFmDfcfcjAfxfxjToxgGgGdygGgGiUjTfxfxjAhKjwkIgngygAgBgCghkhjbdududududududzdugWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagWaaduaaaaaaaaaaaabeaJcLcLgFcLcLcLcLjzcLcLcLcLcLcLcLcLfJgIfJgDgDgDgDgDgDgDhhgLgDgVgXgYhaghkhjbaaaaaaaaaaaaduaagWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagWaaduaaaaaaaaaaaabeaNfffgmDkafhcLfinGfkflfmfncLfofpcLkmklkmgDhbgzgigjhdhehohgoagngniIgndhkhjbaaaaaaaaaaaaduaagWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagWdudzdudududududueZaNfqfrmMmEftaJfunlfwfwfwfwfMmNfNcLmLknmLgDhihjhkhlhfhniDhqiOmXmXjvhsghkhjbdududududududzdugWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagWaadzaaaaaaduaaaaduaNfOfPnIjxgdaJiPiWnHfviXiYdVmfjlcLkjkRmpgDhMhNiAhlhfiBiCnognhriEmYmZghkhjbaaaaaaaaaaaadzaagWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadududzaaaaaaduaaaaaaaNobkofcfckpaJkqkrksktkbkucLkvkwcLbGmnbGgDiJiKiLjpkxkykzkAdhkBkCkDkEghkhjbaaaaaaaaaaaadzduduaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadudzaaaaaaduaaaaaaaaaNaNaNaNaNaJaNaNaNaJaJcLcLcLcLcLhLmKnYgDgDgDgDgDgDgDdhdhdhghghghghghkhjbaaaaaaaaaaaadzduaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotaaaaaaotototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzdudududuaaaaaaaaaaduduaaaaaaaaaaducrbUbVbWbXbWbYbSmObZefeaebedebebjjbUbcclcmcmcmcmcmcmjcdududududududzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaduaaaaaaaaaaaaduduaaaaaaaaaaaaegePeoeoeoepbSmObZdFeresetevewexbUaaaaaaaaaaaaaaduduaaaaaaaaduaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaduaaaaaaaaaaaadududuaaaaaaaaaaegmTeoezeoeAbSmObSeBeCeseDeEeFeGegaaaaaaaaaaaaduduaaaaaaaaaaduaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaduaaaaaaaaaaduduaaduduaaaaaabqegkemQmQmQnmmRmSbSeBereseteLeMeOegaaaaaaaaaadududuaaaaaaaaaaduaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaduaaaaaaaaduduaaaaaaduduaadubeegmUeoezeomVeRivizkfjdjejfjejekgegaaaaaaaaduduaaduduaaaaaaaaduaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotaaaaaaototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaduaaaaaaduduaaaaaaaaaaduducsbpegnJeoeoeomWkFkGkGkHkHkHkHkHkHkHegaaaaaaduaaaaaaaaduduaaaaaaduaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaototototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaduaaaaduduaaaaaaaaaaaaduductkhegkckJeykJkdkLbGbGbGbGbGbGbGbGbGegaaaaduduaaaaaaaaaaduduaaaaduaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaototototaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaduaaduduaaaaaaaaaaaaaaduducubdegegegegegegkLbGbGbGbGbGbGbGbGbGegaaduduaaaaaaaaaaaaaaduduaaduaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagWaaaadududuaaaaaaaaaaaaaaduduaadubebdkhkhkhbdegegegegegegegegegegegegdudududuaaaaaaaaaaaaaadududuaaaadzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagWaaaaduduaaaaaaaaaaaaaaduduaaaaaabkbcbcbcbcbcbcclcmcmcmcmcmcmcmcmcmcqduaaaaduduaaaaaaaaaaaaaaduduaaaadzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagWgWduduaaaaaaaaaaaaaaduduaaaaaaaaduaaaaaaaaduaaaaaaaaaaaaduaaaaaaaaduaaaaaaaaduduaaaaaaaaaaaaaadududzdzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagWduaaaaaaaaaaaaaaduduaaaaaaaaaaduaaaaaaaaduaaaaaaaaaaaaduaaaaaaaaduaaaaaaaaaaduduaaaaaaaaaaaaaadudzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaototototaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagWgWaaaaaaaaaaaaduduaaaaaaaaaaaaduaaaaaaaaduaaaaaaaaaaaaduaaaaaaaaduaaaaaaaaaaaaduduaaaaaaaaaaaadzdzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagWgWaaaaaaaaduduaaaaaaaaaaaaaaduaaaaaaaaduaaaaaaaaaaaaduaaaaaaaaduaaaaaaaaaaaaaaduduaaaaaaaadzdzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagWgWaaaadududududududududududuaaaaaaaaduaaaaaaaaaaaaduaaaaaaaadududududududududududuaaaadzdzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaototototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagWgWduduaaaaaaaaaaaaaaaaaaduaaaaaaaaduaaaaaaaaaaaaduaaaaaaaaduaaaaaaaaaaaaaaaaaadududzdzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototaaaaaaaaaaaaaaaaaaaaotototototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagWgWgWaaaaaaaaaaaaaaaaaadudzdzdzdzdzdududududududzdzdzdzdzduaaaaaaaaaaaaaaaaaadzdzdzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototaaaaaaaaaaaaaaaaaaaaotototototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagWgWgWaaaaaaaaaaaaaaaaaaduduaaaaaaaaaaaaaaaaaaaaduduaaaaaaaaaaaaaaaaaadzdzdzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaototototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadugWgWgWgWaaaagWgWgWgWduaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaduduaaduaaaaduaaduduaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaotaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadugWgWgWgWgWgWduaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaotototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaototaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototaaaaaaototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotaaaaotototaaaaaaototaaaaaaaaaaaaaaaaaaototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaototototototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototototototototototototaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaototototototototototototototototaaaaaaotototaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaotototototototototototototototototototototototototaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototototototaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototototototototototototototototototototototototaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaototaaaaototototototototototototototototototototototototototototaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaototototaaotototototototototototototototototototototototototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototototototototototototototototototototototototototototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotaaaaotototototototototototototototototototototototototototototototototaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototototototototototototototototototototototototototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaotototototototototototototototototototototototototototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaototototaaaaaaaaototototototototototototototototototototototototototototototaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotaaaaotototaaotaaaaotototototototototototototototototototototototototototototaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaototaaaaaaototototototototototototototototototototototototototototototaaaaotaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaotototaaaaaaaaototototototototototototototototototototototototototototaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaototaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaototaaaaaaotaaaaaaaaaaaaaaaaaaaaototototototototototototototototototototototototototototaaaaaaototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototototaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaototototototototototototototototototototototototototototaaaaaaaaototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaotototototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaotototototototototototototototototototototototototototaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototototototaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaototototototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototototototototaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaototototototototototototototaaaaaaaaototototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototototototaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaotototototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototototaaaaaaotototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaotototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototototaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaotototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototaaaaaaaaotaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototaaaaaaaaaaaaaaaaaaaaaaaaaaotototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaotototaaaaaaaaaaaaaaaaotaaaaaaaaototaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaototaaaaaaototototaaaaotaaaaototototaaaaaaotaaaaaaaaaaotototaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototototaaaaaaaaaaaaototototaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaototototaaaaaaaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaotototaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaototaaaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+mPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+"}
diff --git a/maps/entrepot/entrepot-3.dmm b/maps/entrepot/entrepot-3.dmm
new file mode 100644
index 00000000000..ece4e2089aa
--- /dev/null
+++ b/maps/entrepot/entrepot-3.dmm
@@ -0,0 +1,1291 @@
+"aa" = (/turf/space{icon_state = "black"},/area/space)
+"ab" = (/obj/effect/step_trigger/teleporter/random/admin,/turf/space/transit/west,/area/space)
+"ac" = (/turf/space,/area/shuttle/escape/transit)
+"ad" = (/turf/space,/area/space)
+"ae" = (/turf/space/transit/west,/area/space)
+"af" = (/obj/effect/shuttle_landmark/escape/internim,/turf/space,/area/shuttle/escape/transit)
+"ag" = (/obj/structure/lattice,/turf/space,/area/space)
+"ah" = (/turf/simulated/wall/r_wall,/area/centcom/holding)
+"ai" = (/obj/machinery/door/blast/regular{name = "Escape Pods Dock"; icon_state = "pdoor0"; opacity = 0; density = 0; dir = 4; id = "escapepods"},/obj/machinery/light{dir = 8},/obj/machinery/shield_diffuser,/turf/simulated/floor/plating{icon_state = "dmg1"; burnt = 1},/area/centcom/holding)
+"aj" = (/obj/machinery/door/blast/regular{name = "Escape Pods Dock"; icon_state = "pdoor0"; opacity = 0; density = 0; dir = 4; id = "escapepods"},/obj/machinery/shield_diffuser,/turf/simulated/floor/plating/airless,/area/centcom/holding)
+"ak" = (/obj/machinery/door/blast/regular{name = "Escape Pods Dock"; icon_state = "pdoor0"; opacity = 0; density = 0; dir = 4; id = "escapepods"},/obj/machinery/light{dir = 4},/obj/machinery/shield_diffuser,/turf/simulated/floor/plating{icon_state = "dmg4"; burnt = 1},/area/centcom/holding)
+"al" = (/obj/machinery/door/blast/regular{name = "Escape Pods Dock"; icon_state = "pdoor0"; opacity = 0; density = 0; dir = 4; id = "escapepods"},/obj/machinery/light{dir = 8},/obj/machinery/shield_diffuser,/turf/simulated/floor/plating{icon_state = "dmg4"; burnt = 1},/area/centcom/holding)
+"am" = (/obj/machinery/door/blast/regular{name = "Escape Pods Dock"; icon_state = "pdoor0"; opacity = 0; density = 0; dir = 4; id = "escapepods"},/obj/machinery/shield_diffuser,/turf/simulated/floor/plating{icon_state = "dmg1"; burnt = 1},/area/centcom/holding)
+"an" = (/obj/machinery/door/blast/regular{name = "Escape Pods Dock"; icon_state = "pdoor0"; opacity = 0; density = 0; dir = 4; id = "escapepods"},/obj/machinery/light{dir = 4},/obj/machinery/shield_diffuser,/turf/simulated/floor/plating/airless,/area/centcom/holding)
+"ao" = (/turf/simulated/wall,/area/centcom/holding)
+"ap" = (/obj/machinery/door/airlock/external{name = "Escape Pod"; icon_state = "door_locked"; frequency = 1380; locked = 1; req_access = list(13); id_tag = "escape_pod_1_berth_hatch"},/obj/machinery/navbeacon/wayfinding/dockescpod1,/turf/simulated/floor/plating/rough,/area/centcom/holding)
+"aq" = (/obj/structure/sign/warning/pods,/turf/simulated/wall,/area/centcom/holding)
+"ar" = (/obj/machinery/door/airlock/external{name = "Escape Pod"; icon_state = "door_locked"; frequency = 1380; locked = 1; req_access = list(13); id_tag = "escape_pod_2_berth_hatch"},/obj/machinery/navbeacon/wayfinding/dockescpod2,/turf/simulated/floor/plating/rough,/area/centcom/holding)
+"as" = (/obj/structure/window_frame/reinforced/hull,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/centcom/holding)
+"at" = (/obj/machinery/access_button{name = "exterior access button"; dir = 1; pixel_x = -24; pixel_y = 8; frequency = 1380; command = "cycle_exterior"; req_one_access = list(13); master_tag = "admin_shuttle_dock_airlock"},/obj/machinery/door/airlock/external{name = "Docking Port Airlock"; icon_state = "door_locked"; frequency = 1380; locked = 1; req_access = list(13); id_tag = "admin_shuttle_dock_outer"},/obj/machinery/shield_diffuser,/turf/simulated/floor/plating/rough,/area/centcom/holding)
+"au" = (/obj/machinery/door/airlock/external{name = "Docking Port Airlock"; icon_state = "door_locked"; frequency = 1380; locked = 1; req_access = list(13); id_tag = "admin_shuttle_dock_outer"},/obj/machinery/shield_diffuser,/turf/simulated/floor/plating/rough,/area/centcom/holding)
+"av" = (/obj/machinery/door/firedoor/border_only,/obj/structure/window_frame/reinforced/hull,/turf/simulated/floor/plating,/area/centcom/holding)
+"aw" = (/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/structure/bed/chair/blue,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"ax" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"ay" = (/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{pixel_x = -25; pixel_y = 30; frequency = 1380; id_tag = "escape_pod_1_berth"; tag_door = "escape_pod_1_berth_hatch"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 5},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"az" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/closet/emcloset,/obj/item/clothing/suit/space/emergency,/obj/item/clothing/head/helmet/space/emergency,/turf/simulated/floor/tiled/dark/rough,/area/centcom/holding)
+"aA" = (/obj/machinery/camera/xray/security{c_tag = "Arrivals Escape Pods"},/obj/item/device/radio/intercom{pixel_y = 22},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/table/standard,/obj/item/storage/firstaid/regular,/obj/item/storage/toolbox/emergency,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/centcom/holding)
+"aB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/closet/emcloset,/obj/item/clothing/suit/space/emergency,/obj/item/clothing/head/helmet/space/emergency,/turf/simulated/floor/tiled/dark/rough,/area/centcom/holding)
+"aC" = (/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{pixel_x = -25; pixel_y = 30; frequency = 1380; id_tag = "escape_pod_2_berth"; tag_door = "escape_pod_2_berth_hatch"},/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"aD" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"aE" = (/obj/machinery/light/small{dir = 1},/obj/structure/closet/emcloset,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"aF" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/simulated/floor/plating/rough,/area/centcom/holding)
+"aG" = (/obj/effect/floor_decal/industrial/warning{dir = 5},/obj/machinery/atmospherics/unary/vent_pump/high_volume{frequency = 1380; id_tag = "admin_shuttle_dock_pump"},/obj/machinery/light/small/red{dir = 4},/turf/simulated/floor/plating/rough,/area/centcom/holding)
+"aH" = (/obj/structure/table/standard,/obj/item/material/ashtray,/obj/random/smokes,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"aI" = (/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"aJ" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"aK" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"aL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"aM" = (/obj/machinery/door/airlock/external{name = "Shuttle Hatch"; icon_state = "door_locked"; frequency = 1380; locked = 1; req_access = list(13); id_tag = "escape_shuttle_hatch"},/turf/simulated/floor/shuttle/blue,/area/shuttle/escape/centcom)
+"aN" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1380; id_tag = "admin_shuttle_dock_pump"},/obj/machinery/airlock_sensor{dir = 4; pixel_x = -30; pixel_y = 8; frequency = 1380; id_tag = "admin_shuttle_dock_sensor"},/turf/simulated/floor/plating/rough,/area/centcom/holding)
+"aO" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4},/obj/machinery/embedded_controller/radio/airlock/docking_port{dir = 8; pixel_x = 28; frequency = 1380; req_one_access = list(13); id_tag = "admin_shuttle_dock_airlock"; tag_exterior_door = "admin_shuttle_dock_outer"; tag_interior_door = "admin_shuttle_dock_inner"; tag_airpump = "admin_shuttle_dock_pump"; tag_chamber_sensor = "admin_shuttle_dock_sensor"},/turf/simulated/floor/plating/rough,/area/centcom/holding)
+"aP" = (/obj/machinery/power/apc/high{name = "west bump"; dir = 8; pixel_x = -24},/obj/structure/cable/green{icon_state = "0-4"; d2 = 4},/obj/structure/bed/chair/blue{dir = 1},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"aQ" = (/obj/structure/cable/green{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/alarm{dir = 1; pixel_y = -24},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"aR" = (/obj/structure/cable/green{icon_state = "4-8"; d2 = 8; d1 = 4},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"aS" = (/obj/structure/cable/green{icon_state = "2-8"; d2 = 8; d1 = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"aT" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"aU" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = -30},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"aV" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"aW" = (/obj/machinery/door/airlock/external{name = "Engineering External Access"; icon_state = "door_locked"; frequency = 1379; locked = 1; req_access = list(10,13); id_tag = "arrivals_outer"},/turf/simulated/floor/plating/rough,/area/centcom/holding)
+"aX" = (/obj/structure/sign/warning/airlock,/turf/simulated/wall/r_wall,/area/centcom/holding)
+"aY" = (/obj/machinery/door/airlock/external{name = "Docking Port Airlock"; icon_state = "door_locked"; frequency = 1380; locked = 1; req_access = list(13); id_tag = "admin_shuttle_dock_inner"},/turf/simulated/floor/plating/rough,/area/centcom/holding)
+"aZ" = (/obj/machinery/door/airlock/external{name = "Docking Port Airlock"; icon_state = "door_locked"; frequency = 1380; locked = 1; req_access = list(13); id_tag = "admin_shuttle_dock_inner"},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plating/rough,/area/centcom/holding)
+"ba" = (/obj/machinery/door/firedoor/border_only,/obj/structure/window_frame/indestructible,/turf/simulated/floor/plating,/area/centcom/holding)
+"bb" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Escape Pods"; req_access = list(101)},/obj/structure/cable/green{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"bc" = (/obj/structure/lattice,/obj/structure/catwalk,/turf/simulated/floor/plating/rough/airless,/area/space)
+"bd" = (/obj/machinery/access_button{name = "exterior access button"; dir = 1; pixel_x = -25; pixel_y = -25; frequency = 1379; req_access = list(13); command = "cycle_exterior"; master_tag = "arrivals_airlock"},/obj/structure/lattice,/obj/structure/catwalk,/obj/machinery/shield_diffuser,/turf/simulated/floor/plating/rough/airless,/area/space)
+"be" = (/obj/machinery/alarm{dir = 8; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/effect/floor_decal/corner/white{dir = 4},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"bf" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Escape Pods"; req_access = list(101)},/obj/machinery/navbeacon/wayfinding/dockesc,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"bg" = (/obj/machinery/door/airlock/maintenance{req_access = list(12)},/obj/machinery/door/firedoor/border_only,/turf/simulated/wall/r_wall,/area/centcom/holding)
+"bh" = (/obj/effect/floor_decal/industrial/warning/cee{dir = 1},/obj/machinery/light/small/red{dir = 8},/turf/simulated/floor/plating/rough,/area/centcom/holding)
+"bi" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"bj" = (/obj/machinery/access_button{name = "interior access button"; pixel_x = -8; pixel_y = 26; frequency = 1380; command = "cycle_interior"; req_one_access = list(13); master_tag = "admin_shuttle_dock_airlock"},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"bk" = (/obj/effect/floor_decal/corner/white{dir = 4},/obj/effect/floor_decal/corner/blue{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"bl" = (/obj/effect/floor_decal/corner/white{dir = 4},/obj/effect/floor_decal/corner/blue{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/camera/network/exodus{c_tag = "Arrivals Northwest"},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"bm" = (/obj/effect/floor_decal/corner/white{dir = 4},/obj/effect/floor_decal/corner/blue{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"bn" = (/obj/effect/floor_decal/corner/white{dir = 4},/obj/effect/floor_decal/corner/blue{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"bo" = (/obj/effect/floor_decal/corner/white{dir = 4},/obj/effect/floor_decal/corner/blue{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/item/device/radio/intercom{pixel_y = 22},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"bp" = (/obj/effect/floor_decal/corner/white{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/floor_decal/corner/blue{dir = 1},/obj/machinery/alarm{pixel_y = 24},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"bq" = (/obj/effect/floor_decal/corner/white{dir = 4},/obj/effect/floor_decal/corner/blue{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/camera/network/exodus{c_tag = "Arrivals North"},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"br" = (/obj/machinery/light{dir = 1},/obj/machinery/power/apc/high{name = "north bump"; dir = 1; pixel_y = 24},/obj/structure/cable/green{icon_state = "0-4"; d2 = 4},/obj/effect/floor_decal/corner/white{dir = 4},/obj/effect/floor_decal/corner/blue{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"bs" = (/obj/structure/cable/green{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/effect/floor_decal/corner/white{dir = 4},/obj/effect/floor_decal/corner/blue{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"bt" = (/obj/structure/cable/green{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/effect/floor_decal/corner/blue{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/floor_decal/corner/white{dir = 4},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"bu" = (/obj/structure/cable/green{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/effect/floor_decal/corner/blue{dir = 1},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"bv" = (/obj/structure/cable/green{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10},/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/cable/green{icon_state = "1-4"; d2 = 4; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"bw" = (/obj/structure/cable/green{icon_state = "2-8"; d2 = 8; d1 = 2},/obj/structure/sign/warning/pods{dir = 4; pixel_x = 32},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/effect/floor_decal/corner/blue,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"bx" = (/turf/simulated/floor/plating,/area/centcom/holding)
+"by" = (/turf/space,/area/centcom/holding)
+"bz" = (/obj/machinery/oxygen_pump,/turf/simulated/wall,/area/centcom/holding)
+"bA" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{frequency = 1379; id_tag = "arrivals_pump"},/obj/machinery/airlock_sensor{dir = 8; pixel_x = 25; pixel_y = 12; id_tag = "arrivals_sensor"},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{dir = 8; pixel_x = 28; req_access = list(13); id_tag = "arrivals_airlock"; tag_exterior_door = "arrivals_outer"; tag_interior_door = "arrivals_inner"; tag_airpump = "arrivals_pump"; tag_chamber_sensor = "arrivals_sensor"},/obj/effect/floor_decal/industrial/warning/cee,/turf/simulated/floor/plating/rough,/area/centcom/holding)
+"bB" = (/obj/structure/table/standard,/obj/machinery/recharger,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"bC" = (/obj/structure/bed/chair/comfy/beige{dir = 1},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"bD" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"bE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"bF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"bG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"bH" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"bI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"bJ" = (/obj/structure/extinguisher_cabinet{pixel_x = 25},/obj/structure/cable/green{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/effect/floor_decal/corner/white{dir = 4},/obj/effect/floor_decal/corner/blue,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"bK" = (/obj/structure/cable/green{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{req_access = list(101)},/turf/simulated/floor/plating,/area/centcom/holding)
+"bL" = (/obj/machinery/door/airlock/external{name = "Engineering External Access"; icon_state = "door_locked"; frequency = 1379; locked = 1; req_access = list(13); id_tag = "arrivals_inner"},/turf/simulated/floor/plating/rough,/area/centcom/holding)
+"bM" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/structure/bed/chair/comfy/beige{dir = 8},/obj/machinery/embedded_controller/radio/simple_docking_controller{name = "docking port controller"; pixel_y = -25; frequency = 1380; req_one_access = list(13); id_tag = "centcom_dock"; tag_door = "centcom_dock_airlock"},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"bN" = (/obj/structure/closet/emcloset,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"bO" = (/obj/effect/floor_decal/industrial/warning,/obj/structure/sign/warning/airlock{pixel_y = -32},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"bP" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"bQ" = (/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"bR" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"bS" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"bT" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"bU" = (/obj/machinery/light{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/cable/green{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/effect/floor_decal/corner/white{dir = 4},/obj/effect/floor_decal/corner/blue,/obj/machinery/alarm{dir = 8; pixel_x = 24},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"bV" = (/turf/simulated/wall/r_wall,/area/space)
+"bW" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/shield_diffuser,/obj/machinery/door/airlock/external{name = "Arrivals Airlock"; icon_state = "door_locked"; frequency = 1380; locked = 1; req_access = list(13); id_tag = "centcom_dock_airlock"},/turf/simulated/floor/plating/rough,/area/centcom/holding)
+"bX" = (/obj/structure/window_frame/reinforced/hull,/obj/machinery/door/firedoor/border_only,/obj/structure/window_frame/reinforced/hull,/turf/simulated/floor/plating,/area/centcom/holding)
+"bY" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"bZ" = (/obj/machinery/status_display{pixel_y = -32},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"ca" = (/obj/machinery/vending/cola,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"cb" = (/obj/structure/closet/emcloset,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"cc" = (/obj/effect/floor_decal/industrial/warning,/obj/structure/closet/emcloset,/obj/item/clothing/suit/space/emergency,/obj/item/clothing/suit/space/emergency,/obj/item/clothing/head/helmet/space/emergency,/obj/item/clothing/head/helmet/space/emergency,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"cd" = (/obj/machinery/vending/coffee,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"ce" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"cf" = (/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/door/airlock/glass{name = "Arrivals"},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"cg" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/effect/floor_decal/corner/white{dir = 4},/obj/effect/floor_decal/corner/blue,/obj/machinery/door/airlock/glass{name = "Arrivals"},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"ch" = (/obj/structure/sign/warning/docking_area,/turf/simulated/wall/r_wall,/area/centcom/holding)
+"ci" = (/obj/machinery/door/unpowered/shuttle,/obj/machinery/embedded_controller/radio/simple_docking_controller{pixel_y = 34; frequency = 1380; req_one_access = list(13); id_tag = "escape_shuttle"; tag_door = "escape_shuttle_hatch"},/turf/simulated/floor/shuttle/blue,/area/shuttle/escape/centcom)
+"cj" = (/obj/machinery/light{dir = 8},/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"ck" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/power/apc/high{name = "east bump"; dir = 4; pixel_x = 24},/obj/structure/cable/green,/obj/structure/cable/green{icon_state = "0-2"; d2 = 2},/obj/effect/floor_decal/corner/white{dir = 4},/obj/effect/floor_decal/corner/blue,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"cl" = (/obj/structure/bed/chair/shuttle/blue{dir = 8},/turf/simulated/floor/shuttle/blue,/area/shuttle/escape/centcom)
+"cm" = (/obj/effect/shuttle_landmark/escape/centcom,/turf/simulated/floor/shuttle/blue,/area/shuttle/escape/centcom)
+"cn" = (/turf/unsimulated/wall{icon_state = "riveted_l"},/area/acting/backstage)
+"co" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"cp" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/camera/network/exodus{dir = 8; c_tag = "Arrivals East"},/obj/effect/floor_decal/corner/white{dir = 4},/obj/effect/floor_decal/corner/blue,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"cq" = (/obj/structure/closet/secure_closet/security,/obj/machinery/light{dir = 1},/obj/item/device/flashlight/flare,/obj/effect/floor_decal/corner/red/three_quarters{dir = 8},/obj/item/melee/baton/loaded,/obj/item/gun/energy/classictaser,/turf/simulated/floor/tiled/dark/rough,/area/centcom/holding)
+"cr" = (/obj/machinery/power/apc{name = "north bump"; dir = 1; pixel_y = 24},/obj/structure/cable/green{icon_state = "0-2"; d2 = 2},/obj/effect/floor_decal/corner/red{dir = 5},/turf/simulated/floor/tiled/dark/rough,/area/centcom/holding)
+"cs" = (/obj/structure/reagent_dispensers/peppertank{pixel_y = 30},/obj/effect/floor_decal/corner/red{dir = 5},/obj/item/modular_computer/console/preset/security,/turf/simulated/floor/tiled/dark/rough,/area/centcom/holding)
+"ct" = (/obj/item/modular_computer/console/preset/command,/obj/machinery/status_display{pixel_y = 32},/obj/effect/floor_decal/corner/red{dir = 5},/turf/simulated/floor/tiled/dark/rough,/area/centcom/holding)
+"cu" = (/obj/effect/floor_decal/corner/red{dir = 5},/turf/simulated/floor/tiled/dark/rough,/area/centcom/holding)
+"cv" = (/obj/machinery/requests_console{pixel_y = 30; department = "Security"; departmentType = 5},/obj/machinery/light_switch{pixel_x = 27},/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/effect/floor_decal/corner/red/three_quarters{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/centcom/holding)
+"cx" = (/obj/structure/sign/warning/high_voltage,/turf/simulated/wall,/area/centcom/holding)
+"cy" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/effect/floor_decal/corner/white{dir = 4},/obj/effect/floor_decal/corner/blue,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"cz" = (/obj/effect/step_trigger/thrower{name = "thrower_throwdown"; tiles = 0; affect_ghosts = 1},/obj/effect/step_trigger/teleporter/random/admin,/turf/space,/area/space)
+"cA" = (/turf/simulated/mineral,/area/space)
+"cB" = (/obj/structure/lattice,/obj/structure/window_frame/grille,/turf/space,/area/space)
+"cC" = (/obj/structure/lattice,/obj/structure/window_frame/broken,/turf/space,/area/space)
+"cD" = (/turf/unsimulated/wall{icon_state = "riveted_l"},/area/syndicate_mothership)
+"cE" = (/turf/unsimulated/wall{icon_state = "riveted_straight"; dir = 8},/area/syndicate_mothership)
+"cF" = (/obj/structure/sign/flag/syndie,/turf/unsimulated/wall{icon_state = "riveted_straight"; dir = 8},/area/syndicate_mothership)
+"cG" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 8},/area/syndicate_mothership)
+"cH" = (/turf/unsimulated/wall{icon_state = "riveted"; dir = 4},/area/syndicate_mothership)
+"cI" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 4},/area/syndicate_mothership)
+"cJ" = (/obj/structure/table/standard,/obj/item/device/flashlight/lamp{pixel_x = 4; pixel_y = 8},/obj/item/pen{pixel_y = 4},/turf/unsimulated/floor{icon_state = "lino"},/area/syndicate_mothership)
+"cK" = (/obj/structure/table/standard,/obj/effect/landmark/event/nuke/code,/turf/unsimulated/floor{icon_state = "lino"},/area/syndicate_mothership)
+"cL" = (/obj/structure/table/standard,/obj/item/paper_bin{pixel_x = -3; pixel_y = 8},/turf/unsimulated/floor{icon_state = "lino"},/area/syndicate_mothership)
+"cM" = (/obj/structure/closet/wardrobe/red,/obj/effect/floor_decal/corner/red{dir = 9},/turf/simulated/floor/tiled/dark/rough,/area/centcom/holding)
+"cN" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/cable/green{icon_state = "1-2"; d2 = 2; d1 = 1},/turf/simulated/floor/tiled/dark/rough,/area/centcom/holding)
+"cO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/centcom/holding)
+"cP" = (/obj/structure/bed/chair/office/dark,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/centcom/holding)
+"cQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/effect/floor_decal/corner/red{dir = 6},/turf/simulated/floor/tiled/dark/rough,/area/centcom/holding)
+"cR" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 1},/area/syndicate_mothership)
+"cS" = (/obj/structure/window_frame/indestructible/hull,/turf/unsimulated/floor{name = "plating"},/area/syndicate_mothership)
+"cT" = (/obj/structure/bed,/obj/item/bedsheet/hos,/turf/unsimulated/floor{icon_state = "lino"},/area/syndicate_mothership)
+"cU" = (/obj/effect/landmark/start/antags/operatives,/turf/unsimulated/floor{icon_state = "lino"},/area/syndicate_mothership)
+"cV" = (/turf/unsimulated/floor{icon_state = "lino"},/area/syndicate_mothership)
+"cW" = (/turf/unsimulated/wall{icon_state = "riveted_straight"},/area/syndicate_mothership)
+"cX" = (/obj/item/device/pda/syndicate,/turf/unsimulated/floor{icon_state = "lino"},/area/syndicate_mothership)
+"cY" = (/obj/structure/sign/flag/syndie,/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 1},/area/syndicate_mothership)
+"da" = (/obj/structure/window_frame/grille,/obj/structure/window/shuttle{icon_state = "11"; dir = 4},/turf/simulated/floor/plating/rough,/area/shuttle/escape/centcom)
+"db" = (/obj/structure/window_frame/grille,/obj/structure/window/shuttle{icon_state = "11"; dir = 8},/turf/simulated/floor/plating/rough,/area/shuttle/escape/centcom)
+"dc" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/shuttle/blue,/area/shuttle/escape/centcom)
+"dd" = (/obj/machinery/computer/arcade,/turf/simulated/floor/shuttle/blue,/area/shuttle/escape/centcom)
+"de" = (/obj/structure/closet/wardrobe/black,/obj/machinery/light{dir = 1},/obj/machinery/camera/network/exodus{c_tag = "Arrivals - Main Shuttle"},/turf/simulated/floor/shuttle/blue,/area/shuttle/escape/centcom)
+"df" = (/obj/structure/closet/wardrobe/xenos,/turf/simulated/floor/shuttle/blue,/area/shuttle/escape/centcom)
+"dg" = (/obj/structure/closet/wardrobe/mixed,/turf/simulated/floor/shuttle/blue,/area/shuttle/escape/centcom)
+"dh" = (/obj/structure/closet/wardrobe/grey,/obj/machinery/light{dir = 1},/turf/simulated/floor/shuttle/blue,/area/shuttle/escape/centcom)
+"di" = (/obj/machinery/door/airlock/security{name = "Security Checkpoint"; req_access = list(1)},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{icon_state = "1-2"; d2 = 2; d1 = 1},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"dj" = (/obj/machinery/door/airlock/maintenance{name = "Security Maintenance"; req_access = list(101)},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/centcom/holding)
+"dl" = (/obj/machinery/alarm{dir = 4; pixel_x = -24},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/camera/network/security{dir = 1; c_tag = "Security - Arrival Checkpoint"},/obj/effect/floor_decal/corner/red/three_quarters,/turf/simulated/floor/tiled/dark/rough,/area/centcom/holding)
+"dm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/effect/floor_decal/corner/red{dir = 10},/turf/simulated/floor/tiled/dark/rough,/area/centcom/holding)
+"dn" = (/obj/structure/table/reinforced,/obj/effect/floor_decal/corner/red{dir = 10},/turf/simulated/floor/tiled/dark/rough,/area/centcom/holding)
+"do" = (/obj/structure/table/reinforced,/obj/item/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/pen,/obj/effect/floor_decal/corner/red{dir = 10},/turf/simulated/floor/tiled/dark/rough,/area/centcom/holding)
+"dp" = (/obj/machinery/recharger{pixel_y = 4},/obj/structure/table/reinforced,/obj/effect/floor_decal/corner/red{dir = 10},/turf/simulated/floor/tiled/dark/rough,/area/centcom/holding)
+"dq" = (/turf/unsimulated/wall{icon_state = "riveted"; dir = 8},/area/syndicate_mothership)
+"dr" = (/obj/machinery/door/airlock/centcom{name = "Barracks"; opacity = 1; req_access = list(150)},/turf/unsimulated/floor{icon_state = "lino"},/area/syndicate_mothership)
+"ds" = (/obj/item/crowbar,/obj/item/device/flash,/obj/effect/floor_decal/corner/red/three_quarters{dir = 4},/obj/item/device/radio/intercom{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/dark/rough,/area/centcom/holding)
+"dv" = (/turf/unsimulated/wall{icon_state = "riveted_15"},/area/syndicate_mothership)
+"dw" = (/turf/space,/turf/simulated/shuttle/wall/corner/syndi/nw,/area/syndicate_station/start)
+"dx" = (/obj/machinery/door/blast/regular{name = "Shuttle Blast Shutters"; icon_state = "pdoor0"; opacity = 0; density = 0; dir = 4; id = "syndieshutters"},/obj/structure/window/syndi{icon_state = "ws4"},/turf/simulated/floor/plating,/area/syndicate_station/start)
+"dy" = (/obj/machinery/door/blast/regular{name = "Shuttle Blast Shutters"; icon_state = "pdoor0"; opacity = 0; density = 0; dir = 4; id = "syndieshutters"},/obj/structure/window/syndi{icon_state = "ws6"},/turf/simulated/floor/plating,/area/syndicate_station/start)
+"dz" = (/obj/machinery/door/blast/regular{name = "Shuttle Blast Shutters"; icon_state = "pdoor0"; opacity = 0; density = 0; dir = 4; id = "syndieshutters"},/obj/structure/window/syndi{icon_state = "ws5"},/turf/simulated/floor/plating,/area/syndicate_station/start)
+"dA" = (/turf/space,/turf/simulated/shuttle/wall/corner/syndi/ne,/area/syndicate_station/start)
+"dB" = (/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_mothership)
+"dC" = (/obj/structure/sign/double/map/left{pixel_y = 32},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_mothership)
+"dD" = (/obj/structure/sign/double/map/right{pixel_y = 32},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_mothership)
+"dE" = (/obj/machinery/vending/snack{name = "hacked Getmore Chocolate Corp"; prices = list()},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_mothership)
+"dF" = (/obj/machinery/light{dir = 4},/turf/simulated/floor/shuttle/blue,/area/shuttle/escape/centcom)
+"dG" = (/obj/structure/shuttle/engine/propulsion/burst{dir = 4},/turf/space,/area/shuttle/escape/centcom)
+"dH" = (/obj/machinery/light{dir = 4},/obj/structure/bed/chair/shuttle/blue{dir = 8},/turf/simulated/floor/shuttle/blue,/area/shuttle/escape/centcom)
+"dI" = (/turf/unsimulated/wall{icon_state = "riveted"; dir = 1},/area/syndicate_mothership)
+"dJ" = (/obj/structure/shuttle/engine/heater{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/rough/airless,/area/shuttle/escape/centcom)
+"dK" = (/obj/structure/window_frame/grille,/obj/structure/window/shuttle{icon_state = "2"; dir = 1},/turf/simulated/floor/plating/rough,/area/shuttle/escape/centcom)
+"dL" = (/obj/machinery/computer/shuttle_control/emergency,/turf/simulated/floor/shuttle/blue,/area/shuttle/escape/centcom)
+"dN" = (/obj/structure/table/standard,/obj/machinery/chemical_dispenser/bar_soft/full{pixel_x = 2; pixel_y = 6},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership)
+"dO" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/shuttle/blue,/area/shuttle/escape/centcom)
+"dP" = (/obj/machinery/light,/obj/item/device/radio/intercom{dir = 1; pixel_y = -22},/turf/simulated/floor/shuttle/blue,/area/shuttle/escape/centcom)
+"dQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/door/airlock/engineering{name = "Civilian West Substation"; req_one_access = list(11,24)},/turf/simulated/floor/plating,/area/centcom/holding)
+"dR" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"dS" = (/obj/machinery/status_display{pixel_y = 32},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"dT" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/vending/snack,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"dU" = (/obj/machinery/camera/network/exodus{c_tag = "Arrivals South"},/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/closet/emcloset,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"dV" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/closet/emcloset,/obj/item/clothing/suit/space/emergency,/obj/item/clothing/suit/space/emergency,/obj/item/clothing/head/helmet/space/emergency,/obj/item/clothing/head/helmet/space/emergency,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"dW" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/lapvend,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"dX" = (/obj/structure/table/standard,/obj/item/storage/box/glasses/square{pixel_x = 1; pixel_y = 4},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership)
+"dY" = (/obj/structure/sink/kitchen{pixel_y = 28},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership)
+"dZ" = (/obj/structure/closet/secure_closet/freezer/fridge,/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership)
+"ea" = (/turf/unsimulated/wall{icon_state = "riveted_d"; dir = 8},/area/syndicate_mothership)
+"eb" = (/turf/unsimulated/wall{icon_state = "riveted_d"; dir = 1},/area/syndicate_mothership)
+"ec" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 9},/area/syndicate_station/start)
+"ed" = (/obj/machinery/recharger,/obj/structure/table/reinforced,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"ee" = (/obj/effect/floor_decal/industrial/warning{dir = 5},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"ef" = (/obj/item/modular_computer/console/preset/syndicate,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"eg" = (/obj/machinery/computer/shuttle_control/multi/syndicate,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"eh" = (/obj/structure/computerframe,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"ei" = (/obj/machinery/button/remote/blast_door{name = "remote shutter control"; id = "syndieshutters"; req_access = list(150)},/obj/structure/table/reinforced,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"ej" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 5},/area/syndicate_station/start)
+"ek" = (/obj/machinery/requests_console{pixel_y = -30; department = "Arrival shuttle"},/obj/machinery/light,/turf/simulated/floor/shuttle/blue,/area/shuttle/escape/centcom)
+"el" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"; dir = 5},/area/shuttle/escape/centcom)
+"em" = (/obj/machinery/camera/network/exodus{c_tag = "Arrivals Southwest"},/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/structure/closet/emcloset,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"en" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"eo" = (/obj/structure/sign/warning/airlock{pixel_y = 32},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"ep" = (/obj/machinery/door/airlock/maintenance{req_access = list(12)},/obj/structure/cable/green{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/centcom/holding)
+"eq" = (/obj/machinery/door/airlock/external{name = "Docking Port Airlock"; icon_state = "door_locked"; frequency = 1331; locked = 1; req_access = list(13); id_tag = "rescue_shuttle_dock_outer"},/obj/machinery/shield_diffuser,/turf/simulated/floor/plating/rough,/area/centcom/holding)
+"er" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1331; id_tag = "rescue_shuttle_dock_pump"},/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/light/small/red{dir = 1},/turf/simulated/floor/plating/rough,/area/centcom/holding)
+"es" = (/obj/machinery/embedded_controller/radio/airlock/docking_port{pixel_y = 30; frequency = 1331; req_access = list(0); req_one_access = list(13); id_tag = "rescue_shuttle_dock_airlock"; tag_exterior_door = "rescue_shuttle_dock_outer"; tag_interior_door = "rescue_shuttle_dock_inner"; tag_airpump = "rescue_shuttle_dock_pump"; tag_chamber_sensor = "rescue_shuttle_dock_sensor"},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1},/obj/effect/floor_decal/industrial/warning{dir = 5},/turf/simulated/floor/plating/rough,/area/centcom/holding)
+"et" = (/obj/machinery/door/airlock/external{name = "Docking Port Airlock"; icon_state = "door_locked"; frequency = 1331; locked = 1; req_access = list(13); id_tag = "rescue_shuttle_dock_inner"},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/plating/rough,/area/centcom/holding)
+"eu" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/access_button{name = "interior access button"; pixel_x = -28; pixel_y = 26; frequency = 1331; command = "cycle_interior"; req_one_access = list(13); master_tag = "rescue_shuttle_dock_airlock"},/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"ev" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"ew" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/window/brigdoor/northleft{name = "Security Checkpoint"; req_access = list(63)},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark/rough,/area/centcom/holding)
+"ex" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"ey" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"ez" = (/obj/structure/bed/chair/comfy/black,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_mothership)
+"eA" = (/obj/machinery/door/airlock/centcom{name = "Kitchen"; opacity = 1; req_access = list(150)},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership)
+"eB" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"eC" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"eD" = (/obj/machinery/door/airlock/external{name = "Docking Port Airlock"; icon_state = "door_locked"; frequency = 1331; locked = 1; req_access = list(13); id_tag = "rescue_shuttle_dock_outer"},/obj/machinery/access_button{name = "exterior access button"; pixel_x = -5; pixel_y = -26; frequency = 1331; command = "cycle_exterior"; req_one_access = list(13); master_tag = "nuke_shuttle_dock_airlock"},/obj/machinery/shield_diffuser,/turf/simulated/floor/plating/rough,/area/centcom/holding)
+"eE" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/plating/rough,/area/centcom/holding)
+"eF" = (/obj/structure/sign/double/map/left,/turf/simulated/wall,/area/centcom/holding)
+"eG" = (/obj/structure/sign/double/map/right,/turf/simulated/wall,/area/centcom/holding)
+"eH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/power/apc{name = "north bump"; dir = 1; pixel_y = 24},/obj/structure/cable/green{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating,/area/centcom/holding)
+"eI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/meter,/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/light/small/hl{dir = 1},/turf/simulated/floor/plating,/area/centcom/holding)
+"eJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/terminal,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/centcom/holding)
+"eK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/structure/cable{icon_state = "1-8"; d2 = 8; d1 = 1},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/centcom/holding)
+"eL" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/item/modular_computer/telescreen/preset/generic{name = "west bump"; pixel_x = -32},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"eM" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/cable/green{icon_state = "1-4"; d2 = 4; d1 = 1},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"eN" = (/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/structure/cable/green{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/light{dir = 1},/obj/machinery/door/airlock/glass{name = "Arrivals"},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"eO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/effect/floor_decal/industrial/outline/yellow,/obj/item/device/radio/intercom{pixel_y = 22},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"eP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/structure/cable/green{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/structure/cable/green{icon_state = "1-4"; d2 = 4; d1 = 1},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"eQ" = (/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership)
+"eR" = (/obj/structure/table/reinforced,/obj/machinery/microwave{pixel_x = -1; pixel_y = 8},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership)
+"eS" = (/turf/unsimulated/wall{icon_state = "riveted_b"; dir = 8},/area/syndicate_mothership)
+"eT" = (/turf/unsimulated/wall{icon_state = "riveted_c"; dir = 4},/area/syndicate_mothership)
+"eU" = (/obj/vehicle/bike/electric,/obj/effect/floor_decal/industrial/hatch/red,/obj/effect/floor_decal/industrial/warning/full,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"eV" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1331; id_tag = "rescue_shuttle_dock_pump"},/obj/machinery/airlock_sensor{pixel_y = -25; frequency = 1331; id_tag = "rescue_shuttle_dock_sensor"},/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/plating/rough,/area/centcom/holding)
+"eW" = (/obj/structure/cable/green{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"eX" = (/obj/machinery/light{dir = 1},/obj/structure/cable/green{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/camera/network/exodus{c_tag = "Arrivals Lounge"},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"eY" = (/obj/structure/extinguisher_cabinet{pixel_x = -7; pixel_y = 32},/obj/structure/cable/green{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/vending/wallmed1{pixel_x = 7; pixel_y = 32},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"eZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/cable/green{icon_state = "4-8"; d2 = 8; d1 = 4},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"fa" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/structure/cable/green{icon_state = "2-4"; d2 = 4; d1 = 2},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"fb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/door/airlock/engineering{name = "Civilian West Substation"; req_access = list(101)},/turf/simulated/floor/plating,/area/centcom/holding)
+"fc" = (/obj/machinery/alarm{dir = 1; pixel_y = -24},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/power/sensor{name = "Powernet Sensor - Civilian West"; name_tag = "Civilian West Subgrid"},/obj/structure/cable/green{icon_state = "0-8"; d2 = 8},/obj/structure/cable/green{icon_state = "0-4"; d2 = 4},/obj/structure/cable/green,/turf/simulated/floor/plating,/area/centcom/holding)
+"fd" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/meter,/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/camera/network/engineering{dir = 1; c_tag = "Civilian West Substation"},/turf/simulated/floor/plating,/area/centcom/holding)
+"fe" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/power/breakerbox/activated{RCon_tag = "Civilian West Substation Bypass"},/turf/simulated/floor/plating,/area/centcom/holding)
+"ff" = (/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/spline/fancy/wood/corner,/obj/machinery/door/airlock/glass{name = "Arrivals"},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"fg" = (/obj/effect/floor_decal/spline/fancy/wood,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"fh" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/spline/fancy/wood,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"fi" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/spline/fancy/wood/corner{dir = 8},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"fj" = (/obj/structure/cable/green{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"fk" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{icon_state = "0-4"; d2 = 4},/obj/structure/cable/green{icon_state = "0-8"; d2 = 8},/obj/machinery/power/smes/buildable{input_level = 250000; input_level_max = 250000; output_level = 250000; output_level_max = 250000; RCon_tag = "Substation - Civilian West"},/turf/simulated/floor/plating,/area/maintenance/substation/civilian_west)
+"fl" = (/obj/structure/window_frame/rglass,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/centcom/holding)
+"fm" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_straight"; dir = 1},/area/syndicate_station/start)
+"fn" = (/obj/machinery/microwave{pixel_x = -1; pixel_y = 2},/obj/structure/table/reinforced,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"fo" = (/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"fp" = (/obj/effect/shuttle_landmark/syndi/start,/obj/structure/bed/chair/comfy/captain{dir = 1},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"fq" = (/obj/structure/table/reinforced,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"fr" = (/obj/structure/bed/chair/comfy/black{dir = 4},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_mothership)
+"fs" = (/obj/item/folder{pixel_y = 2},/obj/structure/table/glass,/obj/item/flame/lighter/zippo/syndie,/obj/item/deck/cards,/obj/item/music_tape_box/syndie,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_mothership)
+"ft" = (/obj/item/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/pen{pixel_y = 4},/obj/structure/table/glass,/obj/item/clothing/glasses/rglasses,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_mothership)
+"fu" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Primary Tool Storage"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"fv" = (/obj/machinery/door/airlock/external{name = "Docking Port Airlock"; icon_state = "door_locked"; frequency = 1331; locked = 1; req_access = list(13); id_tag = "rescue_shuttle_dock_inner"},/turf/simulated/floor/plating/rough,/area/centcom/holding)
+"fw" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"fx" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Primary Tool Storage"},/obj/structure/cable/green{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"fy" = (/obj/structure/window_frame/rglass,/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/centcom/holding)
+"fz" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"fA" = (/obj/structure/bed/chair/comfy/beige,/turf/simulated/floor/trim/wood,/area/centcom/holding)
+"fB" = (/turf/simulated/floor/trim/wood,/area/centcom/holding)
+"fC" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green{pixel_x = 1; pixel_y = 5},/obj/item/book/wiki/nt_regs,/turf/simulated/floor/trim/wood,/area/centcom/holding)
+"fD" = (/obj/machinery/vending/cigarette,/obj/effect/floor_decal/spline/plain/black{dir = 9},/turf/simulated/floor/tiled/dark/rough,/area/centcom/holding)
+"fE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/spline/fancy/wood{dir = 8},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"fF" = (/obj/structure/cable/green{icon_state = "1-2"; d2 = 2; d1 = 1},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"fG" = (/obj/machinery/light{dir = 1},/obj/structure/sign/directions/evac{dir = 4; pixel_y = 32; pixel_z = -8},/obj/structure/sign/directions/medical{dir = 4; pixel_y = 32},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"fH" = (/obj/machinery/door/airlock/glass{name = "Central Access"; req_access = list(101)},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"fI" = (/obj/structure/bed/chair/comfy/black{dir = 8},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_mothership)
+"fJ" = (/obj/effect/floor_decal/corner/blue,/obj/effect/floor_decal/corner/white{dir = 8},/obj/item/device/radio/intercom{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"fK" = (/turf/unsimulated/wall{icon_state = "riveted"},/area/syndicate_mothership)
+"fL" = (/obj/machinery/newscaster{pixel_y = 32},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"fM" = (/obj/structure/table/reinforced,/obj/item/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership)
+"fN" = (/obj/machinery/power/apc{name = "north bump"; dir = 1; pixel_y = 24},/obj/structure/cable/green{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"fO" = (/obj/machinery/status_display{pixel_y = 32},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"fP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"fQ" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"fR" = (/obj/structure/cable/green{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"fS" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"fT" = (/obj/machinery/light{dir = 1},/obj/structure/sign/warning/high_voltage{pixel_y = 32},/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"fU" = (/obj/machinery/light{dir = 8},/obj/item/device/radio/intercom{dir = 4; pixel_x = -22},/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"fV" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"fW" = (/obj/structure/table/woodentable,/obj/random/single{name = "randomly spawned deck of cards"; icon = 'icons/obj/playing_cards.dmi'; icon_state = "deck"; spawn_nothing_percentage = 50; spawn_object = /obj/item/deck/cards},/obj/machinery/recharger,/turf/simulated/floor/trim/wood,/area/centcom/holding)
+"fX" = (/obj/structure/table/woodentable,/obj/random/snack,/obj/item/plant_pot/random,/turf/simulated/floor/trim/carpet,/area/centcom/holding)
+"fY" = (/turf/simulated/floor/trim/carpet,/area/centcom/holding)
+"fZ" = (/obj/item/modular_computer/console/preset/civilian,/turf/simulated/floor/trim/wood,/area/centcom/holding)
+"ga" = (/obj/machinery/vending/coffee,/obj/effect/floor_decal/spline/plain/black{dir = 8},/turf/simulated/floor/tiled/dark/rough,/area/centcom/holding)
+"gb" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/green,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/green,/obj/effect/floor_decal/industrial/hatch/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"gc" = (/obj/structure/cable/green{icon_state = "1-4"; d2 = 4; d1 = 1},/obj/structure/cable/green{icon_state = "2-4"; d2 = 4; d1 = 2},/obj/effect/floor_decal/plaque,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"gd" = (/obj/machinery/door/airlock/glass{name = "Central Access"; req_access = list(101)},/obj/structure/cable/green{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"gf" = (/obj/effect/floor_decal/industrial/warning/red/cee{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"gg" = (/obj/effect/floor_decal/corner/blue,/obj/effect/floor_decal/corner/white{dir = 8},/obj/machinery/alarm{dir = 1; pixel_y = -24},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"gh" = (/obj/machinery/light,/obj/effect/floor_decal/corner/blue,/obj/effect/floor_decal/corner/white{dir = 8},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"gi" = (/obj/structure/cable/green{icon_state = "2-4"; d2 = 4; d1 = 2},/obj/structure/cable/green{icon_state = "4-8"; d2 = 8; d1 = 4},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"gj" = (/obj/structure/cable/green{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/structure/cable/green{icon_state = "1-4"; d2 = 4; d1 = 1},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"gk" = (/obj/structure/cable/green{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"gl" = (/obj/structure/cable/green{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"gm" = (/obj/structure/cable/green{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/structure/cable/green{icon_state = "2-4"; d2 = 4; d1 = 2},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"gn" = (/obj/structure/cable/green{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"go" = (/obj/structure/cable/green{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/cable/green{icon_state = "1-4"; d2 = 4; d1 = 1},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"gp" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{icon_state = "4-8"; d2 = 8; d1 = 4},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"gq" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"gr" = (/obj/structure/extinguisher_cabinet{pixel_x = -24},/obj/machinery/camera/network/exodus{dir = 4; c_tag = "Arrivals Southeast"},/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"gs" = (/obj/structure/table/woodentable,/obj/random/single{name = "randomly spawned lighter"; icon = 'icons/obj/items.dmi'; icon_state = "lighter-g"; spawn_nothing_percentage = 50; spawn_object = /obj/item/flame/lighter},/obj/random/smokes,/turf/simulated/floor/trim/wood,/area/centcom/holding)
+"gt" = (/obj/structure/table/woodentable,/obj/item/material/ashtray/plastic,/turf/simulated/floor/trim/carpet,/area/centcom/holding)
+"gu" = (/obj/machinery/vending/cola,/obj/effect/floor_decal/spline/plain/black{dir = 8},/turf/simulated/floor/tiled/dark/rough,/area/centcom/holding)
+"gv" = (/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = -32},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"gw" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/structure/cable{icon_state = "1-4"; d2 = 4; d1 = 1},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"gx" = (/obj/machinery/light,/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"gy" = (/obj/machinery/camera/network/exodus{dir = 1; c_tag = "Primary Hallway Port - West"},/obj/item/device/radio/intercom{dir = 1; pixel_y = -22},/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"gz" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"gA" = (/obj/structure/disposalpipe/segment{icon_state = "pipe-c"; dir = 4},/obj/structure/cable/green{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"gB" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"gC" = (/obj/effect/floor_decal/corner/blue,/obj/effect/floor_decal/corner/white{dir = 8},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"gD" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/corner/blue,/obj/effect/floor_decal/corner/white{dir = 8},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"gE" = (/obj/effect/floor_decal/corner/white{dir = 8},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"gF" = (/obj/machinery/door/firedoor/border_only,/obj/structure/window_frame/indestructible/hull,/turf/simulated/floor/plating,/area/centcom/holding)
+"gG" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/spline/fancy/wood/corner{dir = 1},/obj/machinery/door/airlock/glass{name = "Arrivals"},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"gH" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/light,/obj/machinery/door/airlock/glass{name = "Arrivals"},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"gI" = (/obj/structure/window_frame/rglass,/obj/machinery/door/firedoor/border_only,/obj/machinery/door/blast/shutters{name = "Office Shutters"; id = "office_shutter"},/turf/simulated/floor/plating,/area/centcom/holding)
+"gJ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/alarm{dir = 1; pixel_y = -24},/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/light,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"gK" = (/obj/structure/disposalpipe/sortjunction/flipped{name = "Primary Tool Storage"; dir = 4; sortType = "Primary Tool Storage"},/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"gL" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"gM" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"gN" = (/obj/structure/bed/chair/comfy/beige{dir = 1},/turf/simulated/floor/trim/wood,/area/centcom/holding)
+"gO" = (/obj/machinery/vending/snack,/obj/effect/floor_decal/spline/plain/black{dir = 10},/turf/simulated/floor/tiled/dark/rough,/area/centcom/holding)
+"gP" = (/obj/structure/cable/green,/obj/machinery/power/apc/high{name = "east bump"; dir = 4; pixel_x = 24},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"gQ" = (/obj/machinery/door/airlock/glass{name = "Locker Room"},/obj/machinery/door/firedoor,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"gR" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/green{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/glass{name = "Locker Room"},/obj/machinery/door/firedoor,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"gS" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"gT" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"gU" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/door/airlock/glass{name = "Arrivals"; req_access = list(101)},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"gV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/spline/fancy/wood{dir = 1},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"gW" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/effect/floor_decal/spline/fancy/wood{dir = 1},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"gX" = (/obj/effect/floor_decal/spline/fancy/wood{dir = 1},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"gY" = (/obj/machinery/status_display{pixel_y = 32},/obj/effect/floor_decal/spline/fancy/wood{dir = 1},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"gZ" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/blue,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/blue,/obj/effect/floor_decal/industrial/hatch/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"ha" = (/obj/item/storage/box/donkpockets{pixel_x = 2; pixel_y = 3},/obj/structure/table/reinforced,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"hb" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass{name = "Vacant Office"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"hc" = (/obj/structure/closet/emcloset,/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"hd" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"he" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"hf" = (/obj/structure/window_frame/rglass,/obj/machinery/door/firedoor/border_only,/obj/machinery/door/blast/shutters{name = "Office Shutters"; dir = 8; id = "office_shutter"},/turf/simulated/floor/plating,/area/centcom/holding)
+"hg" = (/obj/structure/table/standard{name = "plastic table frame"},/turf/simulated/floor/tiled,/area/centcom/holding)
+"hh" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/item/plant_pot/random,/turf/simulated/floor/tiled,/area/centcom/holding)
+"hi" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/spline/fancy/wood/corner{dir = 4},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"hj" = (/obj/machinery/atm{pixel_x = 24},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"hk" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"hl" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/glass{name = "Arrivals"; req_access = list(101)},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"hm" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/papershredder,/turf/simulated/floor/tiled,/area/centcom/holding)
+"hn" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"ho" = (/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = -30},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"hp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/table/standard{name = "plastic table frame"},/turf/simulated/floor/tiled,/area/centcom/holding)
+"hq" = (/obj/structure/window/basic{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/table/standard{name = "plastic table frame"},/turf/simulated/floor/tiled,/area/centcom/holding)
+"hr" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/tiled/dark,/area/centcom/holding)
+"hs" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/button/remote/blast_door{name = "Office Shutters"; pixel_x = -8; pixel_y = 22; id = "office_shutter"},/obj/machinery/light_switch{pixel_x = -8; pixel_y = 32},/turf/simulated/floor/tiled/dark,/area/centcom/holding)
+"ht" = (/obj/machinery/alarm{dir = 8; pixel_x = 24},/obj/structure/table/standard,/obj/item/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/hand_labeler,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/dark,/area/centcom/holding)
+"hu" = (/obj/structure/window_frame/reinforced/hull,/obj/structure/sign/warning/airlock,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/centcom/holding)
+"hv" = (/obj/structure/window_frame/reinforced/hull,/turf/simulated/floor/plating,/area/centcom/holding)
+"hw" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"hx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"hy" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/machinery/recharger,/turf/simulated/floor/tiled,/area/centcom/holding)
+"hz" = (/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/firealarm{pixel_y = -24},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"hA" = (/obj/machinery/alarm{dir = 1; pixel_y = -24},/obj/machinery/camera/network/exodus{dir = 8; c_tag = "Arrivals Hallway"},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"hI" = (/obj/structure/bed/chair/shuttle/red{dir = 4},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"hJ" = (/obj/machinery/light{dir = 4},/obj/structure/computerframe,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"hK" = (/obj/structure/bed/chair/comfy/black{dir = 1},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_mothership)
+"hL" = (/obj/structure/bed/chair/office/light{dir = 8},/turf/simulated/floor/tiled,/area/centcom/holding)
+"hM" = (/obj/machinery/vending/cola{name = "hacked Robust Softdrinks"; prices = list()},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_mothership)
+"hN" = (/obj/structure/closet/secure_closet/freezer/kitchen{req_access = list(150)},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership)
+"hO" = (/obj/structure/closet/crate/bin,/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership)
+"hP" = (/obj/structure/table/reinforced,/obj/item/tray{pixel_y = 5},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership)
+"hQ" = (/obj/structure/table/reinforced,/obj/item/reagent_containers/vessel/bottle/vodka{pixel_x = 3; pixel_y = 12},/obj/item/reagent_containers/vessel/bottle/wine{pixel_x = -1; pixel_y = 8},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership)
+"hR" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/med,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/med,/obj/effect/floor_decal/industrial/hatch/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"hS" = (/obj/effect/floor_decal/industrial/warning/red{dir = 4},/obj/effect/floor_decal/industrial/warning/red{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"hT" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/orange,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/orange,/obj/effect/floor_decal/industrial/hatch/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"hU" = (/obj/item/stack/material/glass{amount = 15},/obj/structure/table/reinforced,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"hV" = (/obj/machinery/light,/obj/item/device/radio/intercom/syndicate{dir = 1; pixel_y = -22},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"hW" = (/obj/item/paper_bin{pixel_x = -3; pixel_y = 8},/obj/item/pen{pixel_y = 4},/obj/structure/table/reinforced,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"hX" = (/obj/structure/closet/crate/bin,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_mothership)
+"hY" = (/turf/simulated/floor/tiled,/area/centcom/holding)
+"hZ" = (/obj/structure/bed/chair/office/dark{dir = 4},/turf/simulated/floor/tiled,/area/centcom/holding)
+"ia" = (/obj/structure/window/basic{dir = 4},/obj/item/folder/blue{pixel_x = 5},/obj/structure/table/standard{name = "plastic table frame"},/turf/simulated/floor/tiled,/area/centcom/holding)
+"ib" = (/obj/structure/cable/green{icon_state = "2-4"; d2 = 4; d1 = 2},/turf/simulated/floor/tiled/dark,/area/centcom/holding)
+"ic" = (/obj/structure/cable/green{icon_state = "4-8"; d2 = 8; d1 = 4},/turf/simulated/floor/tiled/dark,/area/centcom/holding)
+"id" = (/obj/machinery/power/apc{name = "east bump"; dir = 4; pixel_x = 24},/obj/structure/table/standard,/obj/item/stamp,/obj/structure/cable/green{icon_state = "0-8"; d2 = 8},/obj/item/pen,/turf/simulated/floor/tiled/dark,/area/centcom/holding)
+"ie" = (/obj/machinery/door/airlock/external{name = "Docking Port Airlock"; icon_state = "door_locked"; frequency = 1380; locked = 1; req_access = list(13); id_tag = "centcom_shuttle_dock_outer"},/obj/machinery/access_button{name = "exterior access button"; dir = 8; pixel_x = -5; pixel_y = -26; frequency = 1380; command = "cycle_exterior"; req_one_access = list(13); master_tag = "ghetto_shuttle_dock"},/obj/machinery/shield_diffuser,/turf/simulated/floor/plating/rough,/area/centcom/holding)
+"if" = (/obj/machinery/embedded_controller/radio/airlock/docking_port{pixel_y = 30; frequency = 1380; req_one_access = list(13); id_tag = "centcom_shuttle_dock_airlock"; tag_exterior_door = "centcom_shuttle_dock_outer"; tag_interior_door = "centcom_shuttle_dock_inner"; tag_airpump = "centcom_shuttle_dock_pump"; tag_chamber_sensor = "centcom_shuttle_dock_sensor"},/obj/machinery/airlock_sensor{dir = 1; pixel_y = -25; frequency = 1380; id_tag = "centcom_shuttle_dock_sensor"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1380; id_tag = "centcom_shuttle_dock_pump"},/obj/effect/floor_decal/industrial/warning/full,/turf/simulated/floor/plating/rough,/area/centcom/holding)
+"ig" = (/obj/machinery/door/airlock/external{name = "Docking Port Airlock"; icon_state = "door_locked"; frequency = 1380; locked = 1; req_access = list(13); id_tag = "centcom_shuttle_dock_inner"},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/plating/rough,/area/centcom/holding)
+"ih" = (/obj/machinery/access_button{name = "interior access button"; dir = 4; pixel_x = -28; pixel_y = 26; frequency = 1380; command = "cycle_interior"; req_one_access = list(13); master_tag = "centcom_shuttle_dock_airlock"},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"ii" = (/obj/machinery/light{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"iq" = (/obj/machinery/vending/cigarette{name = "hacked cigarette machine"; products = list(/obj/item/storage/fancy/cigarettes=10, /obj/item/storage/box/matches=10, /obj/item/flame/lighter/zippo=4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana=2); prices = list()},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_mothership)
+"ir" = (/obj/structure/cable/green{icon_state = "1-2"; d2 = 2; d1 = 1},/turf/simulated/floor/tiled/dark,/area/centcom/holding)
+"is" = (/turf/unsimulated/wall{icon_state = "riveted_t"; dir = 8},/area/syndicate_mothership)
+"it" = (/turf/unsimulated/wall{icon_state = "riveted_t"; dir = 4},/area/syndicate_mothership)
+"iu" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/engie,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/engie,/obj/effect/floor_decal/industrial/hatch/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"iv" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/red,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/red,/obj/effect/floor_decal/industrial/hatch/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"iw" = (/turf/simulated/floor/tiled/dark,/area/centcom/holding)
+"ix" = (/obj/structure/table/standard,/obj/machinery/light{dir = 4},/obj/machinery/status_display{pixel_x = 32},/obj/random/smokes,/turf/simulated/floor/tiled/dark,/area/centcom/holding)
+"iy" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"iz" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"iA" = (/obj/structure/bed/chair/office/dark{dir = 8},/turf/simulated/floor/tiled,/area/centcom/holding)
+"iB" = (/turf/space,/turf/simulated/shuttle/wall/corner/syndi/sw,/area/syndicate_station/start)
+"iC" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 10},/area/syndicate_station/start)
+"iD" = (/obj/machinery/door/window/northright{name = "Flight Deck"; req_access = list(150)},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"iE" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 4},/area/syndicate_station/start)
+"iF" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_straight"; dir = 4},/area/syndicate_station/start)
+"iG" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_t"; dir = 1},/area/syndicate_station/start)
+"iH" = (/turf/space,/turf/simulated/shuttle/wall/corner/syndi/se,/area/syndicate_station/start)
+"iI" = (/obj/structure/sign/flag/syndie,/turf/unsimulated/wall,/area/syndicate_mothership)
+"iJ" = (/obj/structure/window/basic{dir = 4},/obj/structure/table/standard{name = "plastic table frame"},/turf/simulated/floor/tiled,/area/centcom/holding)
+"iK" = (/obj/machinery/photocopier,/turf/simulated/floor/tiled/dark,/area/centcom/holding)
+"iL" = (/obj/structure/closet/emcloset,/obj/effect/floor_decal/industrial/warning/cee{dir = 8},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"iM" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"iN" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/camera/network/exodus{dir = 8; c_tag = "Arrivals Auxiliary Docking North"},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"iO" = (/obj/item/folder/yellow,/obj/structure/table/standard{name = "plastic table frame"},/turf/simulated/floor/tiled,/area/centcom/holding)
+"iP" = (/obj/machinery/firealarm{pixel_y = -24},/obj/machinery/light,/turf/simulated/floor/tiled,/area/centcom/holding)
+"iQ" = (/obj/machinery/newscaster{pixel_y = -32},/obj/structure/table/standard{name = "plastic table frame"},/obj/item/plant_pot/random,/turf/simulated/floor/tiled,/area/centcom/holding)
+"iR" = (/obj/machinery/camera/network/civilian_west{dir = 1; c_tag = "Vacant Office"},/obj/item/device/radio/intercom{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/dark,/area/centcom/holding)
+"iS" = (/obj/structure/filingcabinet,/turf/simulated/floor/tiled/dark,/area/centcom/holding)
+"iT" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/alarm{dir = 4; pixel_x = -24},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"iU" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/power/apc/high{name = "east bump"; dir = 4; pixel_x = 24},/obj/structure/cable/green{icon_state = "0-2"; d2 = 2},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"iW" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1380; id_tag = "deathsquad_shuttle_dock_pump"},/obj/machinery/light/small/red{dir = 1},/turf/simulated/floor/plating/rough,/area/centcom/holding)
+"iX" = (/obj/effect/floor_decal/spline/plain/black{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"iY" = (/obj/structure/urinal{pixel_y = 32},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/syndicate_mothership)
+"iZ" = (/obj/machinery/shower{pixel_y = 24},/obj/structure/window/basic{dir = 8},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/syndicate_mothership)
+"ja" = (/obj/item/soap/syndie,/obj/machinery/shower{pixel_y = 24},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/syndicate_mothership)
+"jb" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black,/obj/effect/floor_decal/industrial/hatch/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"jc" = (/obj/structure/table/rack,/obj/item/clothing/suit/armor/vest{pixel_x = 2; pixel_y = 2},/obj/item/clothing/suit/armor/vest,/obj/effect/floor_decal/industrial/hatch/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"jd" = (/obj/structure/closet/secure_closet/medical_wall{pixel_x = -32; req_access = list(150)},/obj/item/stack/medical/splint,/obj/item/stack/medical/ointment,/obj/item/stack/medical/ointment,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/obj/item/storage/belt/medical,/obj/item/storage/belt/medical,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"je" = (/obj/effect/floor_decal/industrial/warning/red{dir = 6},/obj/structure/bed/chair/shuttle/red{dir = 8},/turf/simulated/floor,/area/syndicate_station/start)
+"jf" = (/obj/machinery/light{dir = 1},/obj/structure/bed/chair/shuttle/red{dir = 4},/obj/effect/floor_decal/industrial/warning/red{dir = 10},/turf/simulated/floor,/area/syndicate_station/start)
+"jg" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 1},/obj/effect/floor_decal/industrial/warning{dir = 5},/obj/machinery/embedded_controller/radio/airlock/docking_port{pixel_y = 30; frequency = 1380; req_access = list(0); req_one_access = list(13); id_tag = "deathsquad_shuttle_dock_airlock"; tag_exterior_door = "deathsquad_shuttle_dock_outer"; tag_interior_door = "deathsquad_shuttle_dock_inner"; tag_airpump = "deathsquad_shuttle_dock_pump"; tag_chamber_sensor = "deathsquad_shuttle_dock_sensor"},/turf/simulated/floor/plating/rough,/area/centcom/holding)
+"jh" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/door/airlock/external{name = "Docking Port Airlock"; icon_state = "door_locked"; frequency = 1380; locked = 1; req_access = list(13); id_tag = "deathsquad_shuttle_dock_inner"},/turf/simulated/floor/plating/rough,/area/centcom/holding)
+"ji" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/access_button{name = "interior access button"; pixel_x = -8; pixel_y = 26; frequency = 1380; command = "cycle_interior"; req_one_access = list(13); master_tag = "deathsquad_shuttle_dock_airlock"},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"jj" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"jk" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"jl" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/machinery/atmospherics/pipe/manifold4w/hidden,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"jm" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/cable/green{icon_state = "1-4"; d2 = 4; d1 = 1},/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"jn" = (/obj/machinery/door/airlock/maintenance{req_access = list(12)},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/centcom/holding)
+"jo" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{icon_state = "4-8"; d2 = 8; d1 = 4},/turf/simulated/floor/plating,/area/centcom/holding)
+"jp" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/structure/sign/warning/moving_parts{pixel_y = -32},/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/plating,/area/centcom/holding)
+"jq" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/centcom/holding)
+"jr" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/centcom/holding)
+"js" = (/obj/structure/cable/green{icon_state = "1-4"; d2 = 4; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{icon_state = "1-8"; d2 = 8; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/plating,/area/centcom/holding)
+"jt" = (/obj/structure/closet/hydrant{pixel_y = 32},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"ju" = (/obj/structure/table/rack,/obj/item/storage/belt/security,/obj/item/storage/belt/security,/obj/item/ammo_magazine/mc9mm/flash,/obj/item/gun/projectile/pistol/holdout/flash,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"jv" = (/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"jw" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{icon_state = "4-8"; d2 = 8; d1 = 4},/turf/simulated/wall,/area/centcom/holding)
+"jx" = (/obj/machinery/door/airlock/centcom{name = "Bathroom"; opacity = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/syndicate_mothership)
+"jy" = (/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/syndicate_mothership)
+"jz" = (/obj/machinery/shower{dir = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/syndicate_mothership)
+"jA" = (/obj/machinery/recharger/wallcharger{pixel_x = -25},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"jB" = (/obj/structure/bed/chair/shuttle/red{dir = 8},/obj/effect/floor_decal/industrial/warning/red{dir = 8},/turf/simulated/floor,/area/syndicate_station/start)
+"jC" = (/obj/structure/bed/chair/shuttle/red{dir = 4},/obj/effect/floor_decal/industrial/warning/red{dir = 4},/turf/simulated/floor,/area/syndicate_station/start)
+"jD" = (/obj/structure/closet,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"jE" = (/obj/structure/mirror{dir = 4; pixel_x = -32},/obj/structure/sink{dir = 8; pixel_x = -12; pixel_y = 2},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/syndicate_mothership)
+"jF" = (/obj/structure/window/reinforced/tinted{dir = 8},/obj/structure/toilet{dir = 8},/obj/item/paper/crumpled,/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/syndicate_mothership)
+"jG" = (/obj/structure/window_frame/indestructible/grille,/turf/unsimulated/floor{name = "plating"},/area/syndicate_mothership)
+"jH" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/airlock_sensor{dir = 4; pixel_x = -25; frequency = 1380; id_tag = "deathsquad_shuttle_dock_sensor"},/turf/simulated/floor/plating/rough,/area/centcom/holding)
+"jI" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "deathsquad_shuttle_dock_pump"},/turf/simulated/floor/plating/rough,/area/centcom/holding)
+"jJ" = (/obj/machinery/door/airlock/external{name = "Docking Port Airlock"; icon_state = "door_locked"; frequency = 1380; locked = 1; req_access = list(13); id_tag = "deathsquad_shuttle_dock_inner"},/turf/simulated/floor/plating/rough,/area/centcom/holding)
+"jK" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/light,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"jL" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"jM" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"jN" = (/obj/machinery/status_display{pixel_x = 32},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/spline/fancy/wood/corner,/turf/simulated/floor/tiled/rough,/area/centcom/holding)
+"jO" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Disposal Access"; req_access = list(12)},/turf/simulated/floor/plating,/area/centcom/holding)
+"jP" = (/obj/machinery/door/airlock/centcom{name = "Suit Storage"; opacity = 1},/obj/effect/floor_decal/industrial/warning/red{dir = 4},/obj/effect/floor_decal/industrial/warning/red{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"jQ" = (/turf/space,/turf/simulated/shuttle/wall/corner/syndi/nw{icon_state = "corner_syndiwall_s"},/area/syndicate_station/start)
+"jR" = (/obj/machinery/access_button{name = "exterior access button"; pixel_x = -26; pixel_y = -5; frequency = 1380; command = "cycle_exterior"; req_one_access = list(13); master_tag = "deathsquad_shuttle_dock_airlock"},/obj/machinery/door/airlock/external{name = "Docking Port Airlock"; icon_state = "door_locked"; frequency = 1380; locked = 1; req_access = list(13); id_tag = "deathsquad_shuttle_dock_outer"},/obj/machinery/shield_diffuser,/turf/simulated/floor/plating/rough,/area/centcom/holding)
+"jS" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_b"; dir = 4},/area/syndicate_station/start)
+"jT" = (/obj/structure/closet,/obj/item/reagent_containers/food/liquidfood,/obj/item/reagent_containers/food/liquidfood,/obj/item/reagent_containers/food/liquidfood,/obj/item/reagent_containers/food/liquidfood,/obj/machinery/light{dir = 4},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"jU" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_d"; dir = 8},/area/syndicate_station/start)
+"jV" = (/turf/space,/turf/simulated/shuttle/wall/corner/syndi/ne{icon_state = "corner_syndiwall_s"},/area/syndicate_station/start)
+"jW" = (/turf/unsimulated/wall{icon_state = "riveted_t"; dir = 1},/area/syndicate_mothership)
+"jX" = (/obj/structure/table/rack,/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/effect/floor_decal/industrial/hatch/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"jY" = (/obj/machinery/autolathe{name = "Unlocked Autolathe"; desc = "Your typical Autolathe. It appears to have much more options than your regular one, however..."; hacked = 1},/obj/effect/floor_decal/industrial/hatch/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"jZ" = (/obj/machinery/door/airlock/external{name = "Docking Port Airlock"; icon_state = "door_locked"; frequency = 1380; locked = 1; req_access = list(13); id_tag = "deathsquad_shuttle_dock_outer"},/obj/machinery/shield_diffuser,/turf/simulated/floor/plating/rough,/area/centcom/holding)
+"ka" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/wall/r_wall,/area/centcom/holding)
+"ke" = (/obj/effect/floor_decal/industrial/warning/red{dir = 6},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"kf" = (/obj/effect/floor_decal/sign/armory/suits{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"kg" = (/obj/effect/floor_decal/industrial/warning/red{dir = 10},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"kh" = (/obj/structure/table/rack,/obj/item/ammo_magazine/a10mm,/obj/item/ammo_magazine/a10mm,/obj/item/ammo_magazine/a10mm,/obj/item/ammo_magazine/a10mm,/obj/item/ammo_magazine/a10mm,/obj/item/ammo_magazine/a10mm,/obj/item/gun/projectile/automatic/c20r,/obj/item/gun/projectile/automatic/c20r,/obj/item/gun/projectile/automatic/c20r,/obj/effect/floor_decal/industrial/hatch/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"ki" = (/obj/structure/table/rack,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/item/device/suit_cooling_unit,/obj/item/ammo_magazine/c556,/obj/item/ammo_magazine/c556,/obj/item/ammo_magazine/c556,/obj/effect/floor_decal/industrial/hatch/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"kj" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_d"},/area/syndicate_station/start)
+"kk" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_d"; dir = 4},/area/syndicate_station/start)
+"kl" = (/obj/structure/sign/poster{pixel_x = -32; poster_type = "/datum/poster/bay_50"},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"km" = (/obj/structure/bed/chair/shuttle/red{dir = 8},/obj/effect/floor_decal/industrial/warning/red{dir = 5},/turf/simulated/floor,/area/syndicate_station/start)
+"kn" = (/obj/structure/bed/chair/shuttle/red{dir = 4},/obj/effect/floor_decal/industrial/warning/red{dir = 9},/turf/simulated/floor,/area/syndicate_station/start)
+"ko" = (/obj/structure/closet,/obj/item/reagent_containers/food/packaged/tastybread,/obj/item/reagent_containers/food/packaged/tastybread,/obj/item/reagent_containers/food/packaged/tastybread,/obj/item/reagent_containers/food/packaged/tastybread,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"kp" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_b"; dir = 8},/area/syndicate_station/start)
+"kq" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_b"},/area/syndicate_station/start)
+"kz" = (/obj/structure/window/reinforced/crescent,/turf/space,/area/space)
+"kA" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{pixel_x = -25; pixel_y = -5; frequency = 1331; id_tag = "merc_base"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"kB" = (/obj/effect/floor_decal/industrial/warning/corner,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"kC" = (/obj/structure/table/rack,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/effect/floor_decal/industrial/hatch/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"kD" = (/obj/structure/table/rack,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/effect/floor_decal/industrial/hatch/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"kE" = (/obj/effect/floor_decal/industrial/warning/red{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"kF" = (/obj/effect/floor_decal/industrial/warning/red/corner{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"kM" = (/obj/effect/floor_decal/industrial/warning/red/corner{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"kN" = (/obj/effect/floor_decal/sign/armory/ballistic1{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"kO" = (/obj/effect/floor_decal/sign/armory/ballistic2{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"kP" = (/obj/machinery/suit_cycler/syndicate{locked = 0},/obj/effect/floor_decal/industrial/hatch/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"kQ" = (/obj/structure/toilet{dir = 4},/turf/simulated/floor/shuttle/black,/area/syndicate_station/start)
+"lf" = (/obj/machinery/flasher{pixel_y = 28; id = "syndieflash"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/shuttle/black,/area/syndicate_station/start)
+"lg" = (/obj/item/device/radio/electropack,/turf/simulated/floor/shuttle/black,/area/syndicate_station/start)
+"lh" = (/obj/item/device/radio/intercom/syndicate{dir = 1; pixel_y = -22},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"li" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 6},/area/syndicate_station/start)
+"lj" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1331; id_tag = "merc_shuttle_pump"},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"lk" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 1},/obj/machinery/airlock_sensor{pixel_x = 8; pixel_y = 25; frequency = 1331; id_tag = "merc_shuttle_sensor"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"ll" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1331; id_tag = "merc_shuttle_pump"},/obj/machinery/embedded_controller/radio/airlock/docking_port{pixel_x = -8; pixel_y = 25; frequency = 1331; req_access = list(150); id_tag = "merc_shuttle"},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"lm" = (/obj/machinery/door/airlock/external{name = "Ship External Access"; frequency = 1331; req_access = list(150); id_tag = "merc_shuttle_outer"},/obj/machinery/door/blast/regular{name = "Outer Airlock"; icon_state = "pdoor0"; opacity = 0; density = 0; id = "smindicate"},/obj/machinery/shield_diffuser,/turf/simulated/floor/plating,/area/syndicate_station/start)
+"ln" = (/obj/machinery/door/airlock/external{frequency = 1331; req_access = list(150); id_tag = "merc_base_hatch"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"lo" = (/obj/structure/window/reinforced/crescent{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"lp" = (/turf/unsimulated/wall{icon_state = "riveted_straight"; dir = 8},/area/acting/backstage)
+"lB" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"lC" = (/obj/machinery/door/airlock/vault{name = "Armory"; req_access = list(150)},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"lD" = (/obj/effect/floor_decal/industrial/warning/red/cee{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"lE" = (/obj/effect/floor_decal/industrial/warning/red,/obj/effect/floor_decal/industrial/warning/red{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"lF" = (/obj/effect/floor_decal/industrial/warning/red/corner{dir = 8},/obj/effect/floor_decal/industrial/warning/red/corner{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"lG" = (/obj/effect/floor_decal/industrial/warning/red{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"lH" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/obj/effect/floor_decal/industrial/hatch/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"lI" = (/obj/structure/sign/flag/syndie,/turf/unsimulated/wall{icon_state = "riveted_straight"},/area/syndicate_mothership)
+"lJ" = (/obj/structure/window/syndi,/turf/simulated/floor/plating,/area/syndicate_station/start)
+"lK" = (/turf/simulated/floor/shuttle/black,/area/syndicate_station/start)
+"lN" = (/obj/item/cigbutt,/turf/simulated/floor/shuttle/black,/area/syndicate_station/start)
+"lO" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_d"; dir = 1},/area/syndicate_station/start)
+"lP" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 8},/area/syndicate_station/start)
+"lQ" = (/obj/machinery/door/window{name = "Seating"; dir = 2; req_access = list(150)},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"lR" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_t"; dir = 4},/area/syndicate_station/start)
+"lS" = (/obj/structure/table/standard,/obj/machinery/computer/pod/old/syndicate{id = "smindicate"},/obj/machinery/door/window{name = "Blast Door Control"; req_access = list(150)},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"lT" = (/obj/machinery/atmospherics/pipe/manifold4w/visible,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"lU" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1331; id_tag = "merc_shuttle_pump"},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"lV" = (/obj/structure/window/reinforced/crescent,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"lW" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"lX" = (/obj/structure/table/rack,/obj/item/tank/jetpack/oxygen,/obj/item/tank/jetpack/oxygen,/obj/item/tank/jetpack/oxygen,/obj/item/tank/jetpack/oxygen,/obj/item/tank/jetpack/oxygen,/obj/item/tank/jetpack/oxygen,/obj/effect/floor_decal/industrial/hatch/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"lY" = (/obj/structure/table/rack,/obj/item/tank/jetpack/carbondioxide,/obj/item/tank/jetpack/carbondioxide,/obj/item/tank/jetpack/carbondioxide,/obj/item/tank/jetpack/carbondioxide,/obj/item/tank/jetpack/carbondioxide,/obj/item/tank/jetpack/carbondioxide,/obj/effect/floor_decal/industrial/hatch/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"lZ" = (/obj/effect/floor_decal/industrial/warning/red{dir = 5},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"ma" = (/obj/effect/floor_decal/industrial/warning/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"mb" = (/obj/effect/floor_decal/industrial/warning/red/corner{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"md" = (/obj/effect/floor_decal/industrial/warning/red/corner,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"me" = (/obj/effect/floor_decal/sign/armory/energy,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"mf" = (/obj/effect/floor_decal/industrial/warning/red{dir = 9},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"mg" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/effect/floor_decal/industrial/hatch/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"mh" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_t"; dir = 8},/area/syndicate_station/start)
+"mi" = (/turf/space,/turf/simulated/shuttle/wall/corner/smoothwhite/nw,/area/shuttle/escape/centcom)
+"mj" = (/obj/machinery/door/window{name = "Cell"; dir = 1; req_access = list(150)},/obj/item/device/radio/intercom/syndicate{dir = 8; pixel_x = 22},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"mk" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_c"; dir = 1},/area/syndicate_station/start)
+"ml" = (/obj/machinery/vending/assist/antag,/obj/machinery/light{dir = 4},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"mm" = (/turf/space,/turf/simulated/shuttle/wall/corner/smoothwhite/ne,/area/shuttle/escape/centcom)
+"mn" = (/obj/machinery/door/airlock/external{name = "Ship External Access"; frequency = 1331; req_access = list(0); id_tag = "merc_shuttle_inner"},/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"mo" = (/obj/structure/window/reinforced/crescent{dir = 1},/turf/space,/area/space)
+"mp" = (/turf/unsimulated/wall,/area/syndicate_mothership)
+"mq" = (/turf/unsimulated/wall{icon_state = "riveted_t"},/area/syndicate_mothership)
+"mr" = (/turf/simulated/floor/shuttle/blue,/area/shuttle/escape/centcom)
+"ms" = (/obj/structure/table/rack,/obj/item/storage/box/handcuffs{pixel_x = 4; pixel_y = 2},/obj/item/storage/box/flashbangs,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/effect/floor_decal/industrial/hatch/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"mt" = (/obj/structure/table/rack,/obj/item/pinpointer/nukeop,/obj/item/pinpointer/nukeop,/obj/item/pinpointer/nukeop,/obj/item/pinpointer/nukeop,/obj/item/pinpointer/nukeop,/obj/item/pinpointer/nukeop,/obj/item/shield/energy,/obj/item/shield/energy,/obj/item/shield/energy,/obj/item/shield/energy,/obj/item/shield/energy,/obj/item/shield/energy,/obj/effect/floor_decal/industrial/hatch/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"mu" = (/obj/effect/floor_decal/sign/armory/suits,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"mv" = (/obj/structure/table/rack,/obj/item/gun/energy/gun,/obj/item/gun/energy/gun,/obj/item/gun/energy/gun,/obj/machinery/recharger/wallcharger{pixel_x = 5; pixel_y = -32},/obj/effect/floor_decal/industrial/hatch/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"mw" = (/obj/structure/table/rack,/obj/item/gun/energy/ionrifle,/obj/item/gun/energy/ionrifle,/obj/effect/floor_decal/industrial/hatch/red,/obj/machinery/recharger/wallcharger{pixel_x = 5; pixel_y = -32},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"mx" = (/obj/machinery/vending/cigarette{name = "hacked cigarette machine"; products = list(/obj/item/storage/fancy/cigarettes=10, /obj/item/storage/box/matches=10, /obj/item/flame/lighter/zippo=4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana=2); prices = list()},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"my" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/button/flasher{name = "Flasher"; pixel_x = 27; id = "syndieflash"},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"mz" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 1},/area/syndicate_station/start)
+"mA" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"mB" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/machinery/meter,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"mC" = (/turf/simulated/shuttle/wall{icon_state = "whiteship_straight"},/area/shuttle/escape/centcom)
+"mD" = (/obj/machinery/access_button{name = "interior access button"; pixel_x = 25; pixel_y = 25; frequency = 1331; req_access = list(150); command = "cycle_interior"; master_tag = "merc_shuttle"},/obj/machinery/atmospherics/pipe/simple/visible{dir = 9},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"mE" = (/obj/machinery/suit_cycler/syndicate{locked = 0},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"mF" = (/obj/machinery/door/airlock/centcom{name = "Hardsuit Storage"; opacity = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"mG" = (/obj/item/material/kitchen/utensil/knife{pixel_x = -6},/obj/item/reagent_containers/syringe/drugs{pixel_x = 3; pixel_y = -1},/obj/item/reagent_containers/syringe/drugs{pixel_x = 3; pixel_y = 4},/obj/item/reagent_containers/syringe/drugs{pixel_x = 3; pixel_y = 9},/obj/structure/table/glass,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"mH" = (/obj/machinery/door/window{name = "Brig"; req_access = list(150)},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"mI" = (/obj/machinery/door/window{name = "Preparation"; icon_state = "right"; dir = 8; req_access = list(150); base_state = "right"},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"mJ" = (/obj/structure/closet/syndicate/suit{name = "suit closet"},/obj/machinery/light{dir = 4},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"mK" = (/obj/structure/table/rack,/obj/item/clothing/mask/gas/syndicate,/obj/item/clothing/suit/space/void/syndi/prepared,/obj/effect/floor_decal/industrial/hatch/red,/obj/item/clothing/accessory/holochip/nuke,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"mL" = (/obj/effect/floor_decal/industrial/warning/red/corner{dir = 1},/obj/effect/floor_decal/industrial/warning/red/corner{dir = 4},/obj/effect/floor_decal/industrial/warning/red{dir = 8},/obj/effect/floor_decal/industrial/warning/red{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"mM" = (/obj/structure/closet{name = "custodial"},/obj/item/reagent_containers/vessel/bucket,/obj/item/mop,/obj/item/reagent_containers/spray/cleaner,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"mN" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"},/area/shuttle/escape/centcom)
+"mO" = (/obj/machinery/door/window{name = "Brig"; icon_state = "right"; req_access = list(150); base_state = "right"},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"mP" = (/obj/machinery/door/window{name = "Preparation"; dir = 8; req_access = list(150)},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"mQ" = (/obj/structure/table/standard,/obj/item/storage/toolbox/syndicate{pixel_x = -1; pixel_y = 3},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"mR" = (/turf/simulated/shuttle/wall{icon_state = "whiteship_straight"; dir = 4},/area/shuttle/escape/centcom)
+"mS" = (/obj/effect/floor_decal/industrial/warning/red{dir = 8},/obj/effect/floor_decal/industrial/warning/red{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"mT" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_t"},/area/syndicate_station/start)
+"mU" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_straight"; dir = 8},/area/syndicate_station/start)
+"mV" = (/obj/machinery/sleeper{dir = 4},/turf/simulated/floor/shuttle/white,/area/syndicate_station/start)
+"mW" = (/turf/simulated/floor/shuttle/white,/area/syndicate_station/start)
+"mX" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"; dir = 1},/area/shuttle/escape/centcom)
+"mY" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/structure/sign/warning/nosmoking_1{pixel_y = 32},/turf/simulated/floor/shuttle/white,/area/syndicate_station/start)
+"mZ" = (/obj/structure/table/standard,/obj/item/roller{pixel_y = 8},/obj/item/reagent_containers/syringe/antiviral/packaged,/turf/simulated/floor/shuttle/white,/area/syndicate_station/start)
+"na" = (/obj/structure/table/standard,/obj/structure/closet/secure_closet/medical_wall{pixel_y = 32; req_access = list(150)},/obj/item/bodybag,/obj/item/reagent_containers/vessel/bottle/chemical/antitoxin{pixel_x = -4; pixel_y = 8},/obj/item/reagent_containers/vessel/bottle/chemical/inaprovaline{pixel_x = 4; pixel_y = 7},/obj/item/reagent_containers/syringe,/obj/machinery/light{dir = 4},/obj/item/reagent_containers/syringe/antiviral/packaged,/obj/item/reagent_containers/syringe/antiviral/packaged,/turf/simulated/floor/shuttle/white,/area/syndicate_station/start)
+"nb" = (/obj/item/device/radio/intercom/syndicate{dir = 4; pixel_x = -22},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"nc" = (/obj/machinery/light{dir = 4},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"nd" = (/obj/item/clothing/gloves/insulated,/obj/item/device/assembly/signaler{pixel_y = 2},/obj/item/clothing/glasses/hud/scanners/night,/obj/structure/table/steel,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"ne" = (/obj/item/clothing/gloves/insulated,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/clothing/glasses/hud/scanners/night,/obj/structure/table/steel,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"nf" = (/obj/item/clothing/gloves/insulated,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/clothing/glasses/hud/scanners/night,/obj/machinery/light{dir = 4},/obj/structure/table/steel,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"ng" = (/obj/effect/floor_decal/sign/armory,/obj/effect/floor_decal/industrial/warning/red{dir = 4},/obj/effect/floor_decal/industrial/warning/red{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"nh" = (/turf/simulated/shuttle/wall{icon_state = "whiteship_t"; dir = 4},/area/shuttle/escape/centcom)
+"ni" = (/obj/machinery/door/blast/regular{name = "Shuttle Blast Shutters"; icon_state = "pdoor0"; opacity = 0; density = 0; id = "syndieshutters_infirmary"},/obj/structure/window/syndi{icon_state = "ws2"},/turf/simulated/floor/plating,/area/syndicate_station/start)
+"nj" = (/obj/item/screwdriver,/obj/structure/table/steel,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"nk" = (/obj/machinery/door/blast/regular{name = "Shuttle Blast Shutters"; icon_state = "pdoor0"; opacity = 0; density = 0; id = "syndieshutters_workshop"},/obj/structure/window/syndi{icon_state = "ws2"},/turf/simulated/floor/plating,/area/syndicate_station/start)
+"nl" = (/obj/structure/table/rack,/obj/item/rig/syndi/empty,/obj/effect/floor_decal/industrial/hatch/red,/obj/effect/floor_decal/industrial/warning/full,/obj/item/clothing/accessory/holochip/nuke,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"nm" = (/obj/machinery/door/blast/regular{name = "Shuttle Blast Shutters"; icon_state = "pdoor0"; opacity = 0; density = 0; id = "syndieshutters_infirmary"},/obj/structure/window/syndi{icon_state = "ws3"},/turf/simulated/floor/plating,/area/syndicate_station/start)
+"nn" = (/obj/machinery/bodyscanner{dir = 8},/turf/simulated/floor/shuttle/white,/area/syndicate_station/start)
+"no" = (/obj/machinery/body_scanconsole{dir = 8},/turf/simulated/floor/shuttle/white,/area/syndicate_station/start)
+"np" = (/obj/machinery/door/window{name = "Infirmary"; req_access = list(150)},/turf/simulated/floor/shuttle/white,/area/syndicate_station/start)
+"nq" = (/obj/machinery/door/window/westright{name = "Tool Storage"; req_access = list(150)},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"nr" = (/obj/item/stool/padded,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"ns" = (/obj/structure/table/steel,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"nt" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"; dir = 8},/area/shuttle/escape/centcom)
+"nu" = (/obj/machinery/door/blast/regular{name = "Shuttle Blast Shutters"; icon_state = "pdoor0"; opacity = 0; density = 0; id = "syndieshutters_workshop"},/obj/structure/window/syndi{icon_state = "ws3"},/turf/simulated/floor/plating,/area/syndicate_station/start)
+"nv" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"; dir = 4},/area/shuttle/escape/centcom)
+"nw" = (/obj/machinery/door/blast/regular{name = "Shuttle Blast Shutters"; icon_state = "pdoor0"; opacity = 0; density = 0; id = "syndieshutters_infirmary"},/obj/structure/window/syndi{icon_state = "ws1"},/turf/simulated/floor/plating,/area/syndicate_station/start)
+"nx" = (/obj/machinery/door/window{name = "Infirmary"; icon_state = "right"; req_access = list(150); base_state = "right"},/turf/simulated/floor/shuttle/white,/area/syndicate_station/start)
+"ny" = (/obj/machinery/door/window{name = "Tool Storage"; dir = 8; req_access = list(150)},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"nz" = (/obj/item/aicard,/obj/structure/table/steel,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"nA" = (/obj/machinery/door/blast/regular{name = "Shuttle Blast Shutters"; icon_state = "pdoor0"; opacity = 0; density = 0; id = "syndieshutters_workshop"},/obj/structure/window/syndi{icon_state = "ws1"},/turf/simulated/floor/plating,/area/syndicate_station/start)
+"nB" = (/obj/machinery/button/remote/blast_door{name = "remote shutter control"; pixel_x = -25; id = "syndieshutters_infirmary"},/obj/structure/mopbucket,/turf/simulated/floor/shuttle/white,/area/syndicate_station/start)
+"nC" = (/obj/machinery/light{dir = 4},/obj/item/device/radio/intercom/syndicate{dir = 8; pixel_x = 22},/turf/simulated/floor/shuttle/white,/area/syndicate_station/start)
+"nD" = (/obj/machinery/door/window{name = "Secure Storage"; dir = 1; req_access = list(150)},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"nE" = (/obj/structure/table/rack,/obj/item/storage/belt/utility/full,/obj/item/device/multitool,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"nF" = (/obj/machinery/button/remote/blast_door{name = "remote shutter control"; pixel_y = -25; id = "syndieshutters_telebay"; req_access = list(150)},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"nG" = (/obj/machinery/button/remote/blast_door{name = "remote shutter control"; pixel_x = 25; id = "syndieshutters_workshop"},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"nH" = (/obj/structure/window/reinforced/crescent{dir = 1},/obj/item/bonesetter,/obj/item/bonegel,/obj/item/organfixer/advanced,/obj/structure/table/glass,/turf/simulated/floor/shuttle/white,/area/syndicate_station/start)
+"nI" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"; dir = 6},/area/shuttle/escape/centcom)
+"nJ" = (/obj/machinery/door/window{name = "Surgery"; dir = 1; req_access = list(150)},/turf/simulated/floor/shuttle/white,/area/syndicate_station/start)
+"nK" = (/obj/structure/window/reinforced/crescent{dir = 1},/obj/structure/gas_stand/anesthetic,/turf/simulated/floor/shuttle/white,/area/syndicate_station/start)
+"nL" = (/obj/structure/table/standard,/obj/structure/window/reinforced/crescent{dir = 8},/obj/item/storage/firstaid/toxin{pixel_x = 3; pixel_y = 3},/obj/item/storage/firstaid/adv{pixel_x = 1},/turf/simulated/floor/shuttle/white,/area/syndicate_station/start)
+"nM" = (/obj/structure/table/standard,/obj/item/storage/firstaid/o2{pixel_x = 3; pixel_y = 3},/obj/item/storage/firstaid/fire{pixel_x = 1},/turf/simulated/floor/shuttle/white,/area/syndicate_station/start)
+"nN" = (/obj/item/weldingtool,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"nO" = (/obj/structure/sign/warning/caution{pixel_x = 32},/obj/machinery/light{dir = 4},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"nP" = (/obj/machinery/telecomms/allinone{intercept = 1},/obj/machinery/door/window/northright{name = "Telecoms Mainframe"; req_access = list(150)},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"nQ" = (/obj/machinery/door/blast/regular{name = "Outer Airlock"; id = "syndieshutters_telebay"},/turf/simulated/floor/plating,/area/syndicate_station/start)
+"nR" = (/obj/item/scalpel,/obj/item/circular_saw{pixel_y = 8},/obj/machinery/light/small{dir = 8},/obj/structure/table/glass,/turf/simulated/floor/shuttle/white,/area/syndicate_station/start)
+"nS" = (/obj/structure/sink{dir = 4; pixel_x = 11},/obj/item/reagent_containers/vessel/bottle/chemical/stoxin,/obj/item/reagent_containers/vessel/bottle/chemical/stoxin,/obj/item/reagent_containers/syringe,/obj/item/clothing/mask/surgical,/obj/item/clothing/gloves/latex,/obj/item/surgicaldrill,/obj/structure/closet/secure_closet/medical_wall{pixel_x = 32; req_access = list(150)},/obj/item/reagent_containers/syringe/antiviral/packaged,/turf/simulated/floor/shuttle/white,/area/syndicate_station/start)
+"nT" = (/obj/effect/landmark/event/nuke/bomb,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"nU" = (/obj/item/crowbar,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"nV" = (/obj/machinery/light/small{dir = 8},/obj/effect/decal/cleanable/liquid_fuel,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"nW" = (/obj/effect/decal/cleanable/liquid_fuel,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"nX" = (/obj/structure/sign/warning/nosmoking_2{pixel_x = 32},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"nY" = (/obj/item/cautery,/obj/item/hemostat,/obj/item/FixOVein,/obj/structure/table/glass,/turf/simulated/floor/shuttle/white,/area/syndicate_station/start)
+"nZ" = (/obj/machinery/optable,/turf/simulated/floor/shuttle/white,/area/syndicate_station/start)
+"oa" = (/obj/item/stack/medical/advanced/bruise_pack,/obj/item/retractor,/obj/item/device/radio/intercom/syndicate{dir = 8; pixel_x = 22},/obj/structure/table/glass,/turf/simulated/floor/shuttle/white,/area/syndicate_station/start)
+"ob" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced/crescent{dir = 1},/turf/simulated/floor/plating/airless,/area/syndicate_station/start)
+"oc" = (/obj/structure/reagent_dispensers/fueltank,/obj/effect/decal/cleanable/liquid_fuel,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"od" = (/obj/structure/table/steel,/obj/item/flame/lighter/zippo,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"oe" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"},/turf/space,/area/syndicate_station/start)
+"of" = (/obj/structure/shuttle/engine/propulsion,/turf/space,/area/syndicate_station/start)
+"og" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"},/turf/space,/area/syndicate_station/start)
+"oh" = (/turf/unsimulated/wall{icon_state = "riveted_l"},/area/space)
+"oi" = (/turf/unsimulated/wall{icon_state = "riveted_straight"; dir = 8},/area/space)
+"oj" = (/turf/unsimulated/wall{icon_state = "riveted_t"; dir = 1},/area/skipjack_station/base)
+"ok" = (/turf/unsimulated/wall{icon_state = "riveted"; dir = 8},/area/skipjack_station/base)
+"ol" = (/obj/structure/window_frame/indestructible/hull,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"om" = (/turf/unsimulated/wall,/area/skipjack_station/base)
+"on" = (/turf/unsimulated/wall{icon_state = "riveted"; dir = 4},/area/skipjack_station/base)
+"oo" = (/turf/unsimulated/wall{icon_state = "riveted_straight"; dir = 8},/area/skipjack_station/base)
+"op" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 8},/area/skipjack_station/base)
+"oq" = (/turf/unsimulated/wall{icon_state = "riveted_l"},/area/skipjack_station/base)
+"or" = (/obj/structure/sign/double/maltesefalcon/left,/turf/unsimulated/wall{icon_state = "riveted_straight"; dir = 8},/area/skipjack_station/base)
+"os" = (/obj/structure/sign/double/maltesefalcon/right,/turf/unsimulated/wall{icon_state = "riveted_straight"; dir = 8},/area/skipjack_station/base)
+"ot" = (/obj/structure/window_frame/indestructible/hull,/turf/unsimulated/floor{icon_state = "wood"; dir = 8; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"ou" = (/turf/space,/turf/simulated/shuttle/wall/corner/smoothwhite/sw,/area/shuttle/escape/centcom)
+"ov" = (/turf/unsimulated/wall{icon_state = "riveted"; dir = 8},/area/space)
+"ow" = (/turf/unsimulated/wall{icon_state = "riveted_straight"},/area/space)
+"ox" = (/turf/unsimulated/wall{icon_state = "riveted_straight"},/area/skipjack_station/base)
+"oy" = (/obj/structure/bed,/obj/item/bedsheet/orange,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"oz" = (/turf/space,/turf/simulated/shuttle/wall/corner/smoothwhite/se,/area/shuttle/escape/centcom)
+"oA" = (/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"oB" = (/obj/structure/table/steel,/obj/item/device/flashlight/lamp/brown,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"oC" = (/obj/structure/bed,/obj/item/bedsheet/purple,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"oD" = (/obj/machinery/washing_machine,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"oE" = (/obj/structure/largecrate/animal/cow,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"oF" = (/obj/structure/closet/crate/medical,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"oG" = (/obj/machinery/vending/tool,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"oH" = (/obj/machinery/vending/boozeomat,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"oI" = (/obj/structure/bed/chair,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"oJ" = (/obj/item/stool/padded,/obj/effect/landmark/start/antags/vox,/turf/unsimulated/floor{icon_state = "wood"; dir = 8; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"oK" = (/obj/structure/table/gamblingtable,/obj/item/deck/cards,/turf/unsimulated/floor{icon_state = "wood"; dir = 8; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"oL" = (/obj/item/stool/padded,/obj/effect/landmark/start/antags/vox,/turf/simulated/floor/trim/wood/broken0{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"oM" = (/turf/unsimulated/floor{icon_state = "wood"; dir = 8; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"oN" = (/turf/unsimulated/floor{icon_state = "lino"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"oO" = (/obj/structure/table/woodentable,/obj/item/storage/box/glasses,/obj/machinery/light/small{dir = 1},/turf/unsimulated/floor{icon_state = "lino"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"oP" = (/obj/structure/table/woodentable,/obj/machinery/chemical_dispenser/bar_alc/full{pixel_y = 2},/turf/unsimulated/floor{icon_state = "lino"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"oQ" = (/obj/structure/table/woodentable,/obj/machinery/chemical_dispenser/bar_soft/full,/turf/unsimulated/floor{icon_state = "lino"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"oR" = (/turf/simulated/mineral,/area/skipjack_station/base)
+"oS" = (/obj/structure/table/steel,/obj/item/paper,/obj/item/pen,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"oT" = (/obj/structure/closet,/obj/random/contraband,/obj/random/contraband,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"oU" = (/obj/structure/closet/crate,/obj/item/reagent_containers/syringe/drugs,/obj/item/reagent_containers/syringe/drugs,/obj/item/reagent_containers/syringe/drugs,/obj/item/crowbar,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"oV" = (/obj/structure/table/standard,/obj/item/storage/firstaid/surgery,/obj/item/storage/firstaid/combat,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"oW" = (/turf/unsimulated/wall{icon_state = "riveted"; dir = 1},/area/skipjack_station/base)
+"oX" = (/obj/effect/decal/cleanable/dirt,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"oY" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/trim/wood/broken0{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"oZ" = (/obj/effect/decal/cleanable/dirt,/turf/unsimulated/floor{icon_state = "wood"; dir = 8; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"pa" = (/obj/structure/table/woodentable,/obj/item/storage/fancy/cigarettes,/turf/unsimulated/floor{icon_state = "lino"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"pb" = (/obj/structure/table/rack,/obj/item/clothing/suit/space/vox/medic,/obj/item/clothing/head/helmet/space/vox/medic,/obj/item/clothing/shoes/magboots/vox,/obj/item/clothing/gloves/vox,/obj/item/clothing/under/vox/vox_robes,/obj/item/clothing/accessory/holochip/vox,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"pc" = (/obj/structure/table/rack,/obj/item/clothing/suit/space/vox/pressure,/obj/item/clothing/head/helmet/space/vox/pressure,/obj/item/clothing/shoes/magboots/vox,/obj/item/clothing/gloves/vox,/obj/item/clothing/under/vox/vox_casual,/obj/item/clothing/accessory/holochip/vox,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"pd" = (/obj/structure/table/rack,/obj/item/clothing/suit/space/vox,/obj/item/clothing/head/helmet/space/vox,/obj/item/clothing/shoes/magboots/vox,/obj/item/clothing/gloves/vox,/obj/item/clothing/under/vox/vox_robes,/obj/item/clothing/accessory/holochip/vox,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"pe" = (/obj/effect/decal/mecha_wreckage/hoverpod,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"pf" = (/obj/structure/flora/pottedplant/ugly,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"pg" = (/obj/effect/decal/cleanable/cobweb,/obj/structure/closet,/obj/random/clothing/hat,/obj/random/junk,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"ph" = (/obj/structure/closet/crate/trashcart,/obj/random/drinkbottle,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"pi" = (/obj/structure/table/standard,/obj/machinery/recharger,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"pj" = (/obj/structure/sign/poster,/turf/unsimulated/wall{icon_state = "riveted"; dir = 1},/area/skipjack_station/base)
+"pk" = (/obj/random/junk,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"pl" = (/obj/machinery/door/airlock/hatch{req_access = list(150)},/turf/unsimulated/floor{icon_state = "dark"},/area/skipjack_station/base)
+"pm" = (/obj/structure/table/woodentable,/obj/item/flame/lighter/zippo,/turf/unsimulated/floor{icon_state = "lino"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"pn" = (/obj/structure/table/woodentable,/obj/item/reagent_containers/vessel/bottle/small/beer,/turf/unsimulated/floor{icon_state = "lino"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"po" = (/obj/structure/table/woodentable,/obj/item/pizzabox/meat,/turf/unsimulated/floor{icon_state = "lino"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"pp" = (/obj/structure/table/woodentable,/obj/random/cash,/turf/unsimulated/floor{icon_state = "lino"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"pq" = (/obj/structure/table/woodentable,/obj/random/handgun,/turf/unsimulated/floor{icon_state = "lino"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"pr" = (/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"ps" = (/obj/machinery/door/airlock/hatch{req_access = list(150)},/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"pt" = (/turf/simulated/floor/trim/wood/broken0{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"pu" = (/obj/item/stool/padded,/turf/unsimulated/floor{icon_state = "wood"; dir = 8; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"pv" = (/obj/structure/table/rack,/obj/item/clothing/suit/space/vox/carapace,/obj/item/clothing/head/helmet/space/vox/carapace,/obj/item/clothing/shoes/magboots/vox,/obj/item/clothing/gloves/vox,/obj/item/clothing/under/vox/vox_casual,/obj/item/clothing/accessory/holochip/vox,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"pw" = (/obj/structure/table/rack/dark,/obj/item/gun/launcher/crossbow,/obj/item/stack/rods{amount = 10},/obj/item/gun/launcher/crossbow,/obj/item/stack/rods{amount = 10},/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"px" = (/obj/structure/table/rack/dark,/obj/item/gun/launcher/alien/spikethrower,/obj/item/gun/launcher/alien/spikethrower,/obj/item/gun/launcher/alien/slugsling,/obj/item/gun/launcher/alien/slugsling,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"py" = (/turf/unsimulated/wall{icon_state = "riveted"},/area/skipjack_station/base)
+"pz" = (/obj/machinery/light/small{dir = 4},/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"pA" = (/obj/structure/reagent_dispensers/beerkeg,/turf/unsimulated/floor{icon_state = "wood"; dir = 8; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"pB" = (/obj/item/broken_bottle,/obj/effect/decal/cleanable/dirt,/turf/unsimulated/floor{icon_state = "wood"; dir = 8; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"pC" = (/obj/structure/closet/crate/bin,/turf/unsimulated/floor{icon_state = "wood"; dir = 8; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"pD" = (/obj/structure/table/rack,/obj/item/clothing/suit/space/vox/stealth,/obj/item/clothing/head/helmet/space/vox/stealth,/obj/item/clothing/shoes/magboots/vox,/obj/item/clothing/gloves/vox,/obj/item/clothing/glasses/hud/plain/thermal/monocle,/obj/item/clothing/under/vox/vox_robes,/obj/item/clothing/accessory/holochip/vox,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"pE" = (/obj/structure/table/rack/dark,/obj/random/projectile,/obj/random/projectile,/obj/random/ammo,/obj/random/ammo,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"pF" = (/obj/structure/table/rack/dark,/obj/item/gun/energy/sniperrifle,/obj/item/gun/energy/ionrifle,/obj/item/gun/energy/kinetic_accelerator,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"pG" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 1},/area/skipjack_station/base)
+"pH" = (/turf/unsimulated/wall{icon_state = "riveted_t"},/area/skipjack_station/base)
+"pI" = (/turf/unsimulated/wall{icon_state = "riveted_t"; dir = 4},/area/skipjack_station/base)
+"pJ" = (/obj/effect/decal/cleanable/blood/oil,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"pK" = (/obj/structure/mirror/raider,/turf/unsimulated/wall{icon_state = "riveted"; dir = 8},/area/skipjack_station/base)
+"pL" = (/obj/machinery/door/airlock/hatch{req_access = list(150)},/turf/unsimulated/floor{icon_state = "freezerfloor"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"pM" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 4},/area/skipjack_station/base)
+"pN" = (/obj/structure/table/rack,/obj/item/clothing/suit/space/vox/carapace,/obj/item/clothing/head/helmet/space/vox/carapace,/obj/item/clothing/shoes/magboots/vox,/obj/item/clothing/gloves/vox,/obj/item/clothing/under/vox/vox_robes,/obj/item/clothing/accessory/holochip/vox,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"pO" = (/obj/structure/sink{dir = 1; pixel_y = 16},/obj/effect/decal/cleanable/blood/splatter,/obj/machinery/light/small{dir = 8},/turf/unsimulated/floor{icon_state = "freezerfloor"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"pP" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"pQ" = (/obj/machinery/shower{dir = 8},/turf/unsimulated/floor{icon_state = "freezerfloor"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"pR" = (/obj/structure/table/rack,/obj/item/clothing/suit/space/vox/carapace,/obj/item/clothing/head/helmet/space/vox/carapace,/obj/item/clothing/shoes/magboots/vox,/obj/item/clothing/gloves/vox,/obj/item/clothing/under/vox/vox_robes,/obj/item/clothing/under/vox/vox_casual,/obj/item/clothing/accessory/holochip/vox,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"pS" = (/obj/structure/toilet{dir = 4},/obj/effect/landmark/start/antags/vox,/turf/unsimulated/floor{icon_state = "freezerfloor"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"pT" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/item/tank/nitrogen,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"pU" = (/obj/effect/decal/cleanable/cobweb{dir = 4},/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"pV" = (/turf/unsimulated/floor{name = "plating"; icon_state = "cult"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"pW" = (/obj/machinery/light/small{dir = 1},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"pX" = (/obj/machinery/light/small{dir = 8},/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"pY" = (/obj/random/junk,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"pZ" = (/obj/structure/bed/chair,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"qa" = (/obj/structure/grille,/obj/structure/lattice,/turf/space,/area/space)
+"qb" = (/obj/machinery/computer/station_alert/all,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"qc" = (/obj/machinery/computer/shuttle_control/multi/vox,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"qd" = (/obj/machinery/floodlight,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"qe" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{pixel_x = -25; pixel_y = -5; frequency = 1380; id_tag = "skipjack_base"},/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"qf" = (/turf/space,/area/skipjack_station/base)
+"qg" = (/obj/structure/window_frame/indestructible/hull,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"qh" = (/obj/structure/lattice,/obj/structure/window/reinforced/crescent{dir = 4},/turf/space,/area/space)
+"qi" = (/obj/machinery/door/airlock/external{frequency = 1380; req_access = list(150); id_tag = "skipjack_base_hatch"},/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"qj" = (/obj/structure/lattice,/obj/structure/window/reinforced/crescent{dir = 8},/turf/space,/area/skipjack_station/base)
+"qk" = (/obj/structure/lattice,/obj/structure/window/reinforced/crescent{dir = 4},/turf/space,/area/skipjack_station/base)
+"ql" = (/obj/structure/lattice,/obj/structure/window/reinforced/crescent{dir = 8},/turf/space,/area/space)
+"qm" = (/obj/structure/window/reinforced/crescent{dir = 8},/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"qn" = (/obj/structure/window/reinforced/crescent{dir = 4},/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"qo" = (/obj/structure/window/reinforced/crescent{dir = 8},/obj/random/junk,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"qp" = (/obj/structure/window/reinforced/crescent{dir = 4},/obj/structure/lattice,/turf/space,/area/space)
+"qq" = (/obj/structure/window/reinforced/crescent{dir = 8},/obj/structure/lattice,/turf/space,/area/skipjack_station/base)
+"qr" = (/turf/simulated/shuttle/wall/corner/dark/nw,/area/skipjack_station/start)
+"qs" = (/turf/simulated/shuttle/wall/corner/dark/ne,/area/skipjack_station/start)
+"qt" = (/obj/structure/window/reinforced/crescent{dir = 4},/obj/structure/lattice,/turf/space,/area/skipjack_station/base)
+"qu" = (/obj/structure/window/reinforced/crescent{dir = 8},/obj/structure/lattice,/turf/space,/area/space)
+"qv" = (/turf/simulated/wall/voxshuttle,/area/skipjack_station/start)
+"qw" = (/obj/machinery/door/airlock/hatch{name = "Ship External Access"; icon_state = "door_locked"; frequency = 1380; locked = 1; req_one_access = 150; id_tag = "vox_northwest_lock"},/obj/machinery/shield_diffuser,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"qx" = (/obj/structure/window_frame/reinforced/hull,/obj/machinery/door/blast/regular{name = "Skipjack Blast Shutters"; icon_state = "pdoor0"; opacity = 0; density = 0; dir = 4; id = "skipjackshutters"},/turf/simulated/floor/plating,/area/skipjack_station/start)
+"qy" = (/obj/machinery/door/airlock/hatch{name = "Ship External Access"; frequency = 1380; req_one_access = 150; id_tag = "skipjack_shuttle_outer"},/obj/machinery/shield_diffuser,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"qz" = (/obj/machinery/airlock_sensor{pixel_x = -8; pixel_y = 25; frequency = 1380; id_tag = "vox_west_sensor"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{frequency = 1380; id_tag = "vox_west_vent"},/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"qA" = (/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"qB" = (/obj/machinery/computer/station_alert/all,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"qC" = (/obj/machinery/computer/shuttle_control/multi/vox,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"qD" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"qE" = (/obj/random/trash,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"qF" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{frequency = 1380; id_tag = "skipjack_shuttle_pump"},/obj/machinery/airlock_sensor{pixel_x = 8; pixel_y = 25; frequency = 1380; id_tag = "skipjack_shuttle_sensor"},/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"qG" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8},/obj/machinery/meter,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"qH" = (/obj/machinery/light/small,/obj/machinery/embedded_controller/radio/airlock/docking_port{pixel_x = 25; pixel_y = 8; frequency = 1380; req_access = list(150); id_tag = "vox_west_control"; tag_exterior_door = "vox_northwest_lock"; tag_interior_door = "vox_southwest_lock"; tag_airpump = "vox_west_vent"; tag_chamber_sensor = "vox_west_sensor"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1380; id_tag = "vox_west_vent"},/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"qI" = (/obj/machinery/light/small{dir = 8},/obj/machinery/suit_cycler/syndicate{locked = 0},/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"qJ" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"qK" = (/obj/structure/bed/chair{dir = 1},/obj/item/clothing/head/pirate,/obj/effect/shuttle_landmark/skipjack/start,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"qL" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/button/remote/blast_door{name = "remote shutter control"; pixel_x = 32; pixel_y = 32; id = "skipjackshutters"; req_access = list(150)},/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"qM" = (/obj/machinery/light/small{dir = 4},/obj/structure/table/steel,/obj/machinery/recharger,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"qN" = (/obj/machinery/light/small,/obj/machinery/embedded_controller/radio/airlock/docking_port{pixel_x = -25; pixel_y = 8; frequency = 1380; req_access = list(150); id_tag = "skipjack_shuttle"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1380; id_tag = "skipjack_shuttle_pump"},/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"qO" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 4},/obj/machinery/meter,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"qP" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/machinery/door/airlock/hatch{name = "Ship External Access"; icon_state = "door_locked"; frequency = 1380; locked = 1; req_one_access = 150; id_tag = "vox_southwest_lock"},/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"qQ" = (/obj/structure/table/rack,/obj/item/clothing/glasses/hud/plain/thermal/monocle,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"qR" = (/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"qS" = (/obj/random/junk,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"qT" = (/obj/structure/table/rack,/obj/item/gun/launcher/alien/spikethrower,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"qU" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/machinery/door/airlock/hatch{name = "Ship External Access"; frequency = 1380; req_one_access = 150; id_tag = "skipjack_shuttle_inner"},/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"qV" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/machinery/access_button{name = "interior access button"; pixel_x = -25; pixel_y = 25; frequency = 1380; req_access = list(150); command = "cycle_interior"; master_tag = "vox_west_control"},/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"qW" = (/obj/structure/closet/crate/freezer/rations,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"qX" = (/obj/structure/table/standard,/obj/item/material/kitchen/utensil/knife/unathiknife,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"qY" = (/obj/structure/table/standard,/obj/item/storage/box/donkpockets,/obj/item/storage/box/donkpockets,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"qZ" = (/obj/structure/table/standard,/obj/machinery/microwave,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"ra" = (/obj/structure/closet,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"rb" = (/obj/structure/closet/voxn2closet,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"rc" = (/obj/structure/table/rack,/obj/item/storage/belt/utility/full,/obj/item/storage/belt/utility/full,/obj/item/device/multitool,/obj/item/device/multitool,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"rd" = (/obj/machinery/autolathe,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"re" = (/obj/structure/table/standard,/obj/item/clothing/gloves/insulated,/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/glass{amount = 50},/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"rf" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"rg" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/machinery/access_button{name = "interior access button"; pixel_x = 25; pixel_y = 25; frequency = 1380; req_access = list(150); command = "cycle_interior"; master_tag = "skipjack_shuttle"},/obj/effect/decal/cleanable/blood/oil,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"rh" = (/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"ri" = (/obj/item/robot_parts/r_arm,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"rj" = (/obj/random/ammo,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"rk" = (/obj/structure/window_frame/reinforced/hull,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"rl" = (/obj/machinery/door/airlock/hatch{req_access = list(150)},/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"rm" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"rn" = (/obj/item/robot_parts/head,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"ro" = (/obj/structure/window_frame/reinforced/hull,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"rp" = (/obj/machinery/door/airlock/hatch{req_access = list(150)},/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"rq" = (/obj/random/junk,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"rr" = (/obj/item/bodybag,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"rs" = (/obj/structure/closet/crate/trashcart,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"rt" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"ru" = (/obj/structure/bed/chair,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"rv" = (/obj/machinery/light/small{dir = 4; pixel_y = 8},/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"rw" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/random/junk,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"rx" = (/obj/structure/synthesized_instrument/synthesizer/piano,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"ry" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"rz" = (/obj/structure/table/steel,/obj/random/drinkbottle,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"rA" = (/obj/structure/table/steel,/obj/item/trash/dish/bowl,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"rB" = (/obj/structure/table/steel,/obj/item/storage/fancy/cigarettes,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"rC" = (/obj/structure/table/steel,/obj/item/storage/box/handcuffs,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"rD" = (/obj/structure/sink{dir = 8; pixel_x = -12; pixel_y = 2},/obj/random/trash,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"rE" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/item/wrench,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"rF" = (/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"rG" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"rH" = (/obj/structure/mopbucket,/obj/item/mop,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"rI" = (/obj/structure/table/steel,/obj/random/medical,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"rJ" = (/obj/structure/table/steel,/obj/item/flame/lighter/zippo,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"rK" = (/obj/structure/table/steel,/obj/structure/table/steel,/obj/item/pizzabox/meat,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"rL" = (/obj/structure/table/steel,/obj/machinery/recharger,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"rM" = (/obj/structure/toilet{dir = 4},/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"rN" = (/obj/structure/closet/voxn2closet,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"rO" = (/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"rP" = (/turf/simulated/shuttle/wall/corner/dark/sw,/area/skipjack_station/start)
+"rQ" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/shuttle/engine/heater,/turf/simulated/floor/plating/airless,/area/skipjack_station/start)
+"rR" = (/obj/structure/table/steel,/obj/item/storage/firstaid,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"rS" = (/obj/machinery/light/small,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"rT" = (/obj/structure/flora/pottedplant/autumn,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"rU" = (/turf/simulated/shuttle/wall/corner/dark/se,/area/skipjack_station/start)
+"rV" = (/obj/structure/shuttle/engine/propulsion,/turf/simulated/floor/plating/airless,/area/skipjack_station/start)
+"rW" = (/obj/item/shovel,/obj/item/storage/toolbox/mechanical,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"rX" = (/obj/item/wrench,/obj/item/crowbar,/obj/item/gun/energy/crossbow,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"rY" = (/obj/item/beartrap,/obj/item/beartrap,/obj/item/beartrap,/obj/item/beartrap,/obj/item/beartrap,/obj/item/storage/belt/vox,/obj/item/storage/belt/vox,/obj/item/storage/belt/vox,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"rZ" = (/obj/item/robot_parts/robot_suit,/obj/item/robot_parts/r_arm,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"sa" = (/obj/structure/window_frame/reinforced/hull,/turf/simulated/floor/shuttle/white{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"sb" = (/obj/machinery/door/airlock/hatch{req_access = list(150)},/turf/simulated/floor/shuttle/white{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"sc" = (/obj/item/gun/launcher/grenade,/obj/machinery/light/small{dir = 4; pixel_y = 8},/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"sd" = (/obj/structure/closet/crate,/obj/item/implanter/freedom,/obj/item/implantcase/freedom,/obj/item/implanter/explosive,/obj/item/implantcase/explosive,/obj/item/card/emag,/obj/item/melee/energy/sword/pirate,/obj/item/melee/energy/sword/pirate,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"se" = (/obj/structure/table/standard,/obj/item/retractor,/obj/item/circular_saw{pixel_y = 8},/obj/item/cautery,/obj/item/scalpel,/obj/item/hemostat,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/shuttle/white{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"sf" = (/turf/simulated/floor/shuttle/white{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"sg" = (/obj/structure/gas_stand/anesthetic,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/shuttle/white{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"sh" = (/obj/item/grenade/frag,/obj/item/grenade/frag,/obj/item/grenade/flashbang,/obj/item/grenade/flashbang,/obj/item/grenade/flashbang,/obj/item/grenade/chem_grenade/teargas,/obj/item/grenade/chem_grenade/teargas,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/spawnergrenade/manhacks,/obj/item/grenade/empgrenade,/obj/item/grenade/empgrenade,/obj/structure/closet/crate,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"si" = (/obj/structure/table/standard,/obj/item/reagent_containers/vessel/bottle/chemical/stoxin,/obj/item/stack/medical/advanced/bruise_pack,/obj/item/reagent_containers/vessel/bottle/chemical/stoxin,/obj/item/reagent_containers/syringe/antiviral/packaged,/obj/item/reagent_containers/syringe,/obj/item/storage/firstaid/toxin{pixel_x = 3; pixel_y = 3},/obj/item/storage/firstaid/adv{pixel_x = 1},/obj/item/storage/firstaid/o2{pixel_x = 3; pixel_y = 3},/obj/item/storage/firstaid/fire{pixel_x = 1},/turf/simulated/floor/shuttle/white{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"sj" = (/obj/structure/table/standard,/obj/item/bonesetter,/obj/item/FixOVein,/obj/item/bonegel,/obj/item/reagent_containers/syringe/antiviral/packaged,/obj/item/organfixer/standard,/turf/simulated/floor/shuttle/white{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"sk" = (/obj/machinery/optable,/turf/simulated/floor/shuttle/white{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"sl" = (/obj/machinery/body_scanconsole{dir = 4},/turf/simulated/floor/shuttle/white{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"sm" = (/obj/machinery/bodyscanner{dir = 4},/turf/simulated/floor/shuttle/white{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"sn" = (/turf/unsimulated/wall{icon_state = "riveted"; dir = 1},/area/space)
+"so" = (/turf/unsimulated/wall{icon_state = "riveted_l"},/area/wizard_station)
+"sp" = (/turf/unsimulated/wall{icon_state = "riveted_straight"; dir = 4},/area/wizard_station)
+"sq" = (/turf/unsimulated/wall{icon_state = "riveted_t"; dir = 1},/area/wizard_station)
+"sr" = (/obj/structure/sink,/turf/unsimulated/wall{icon_state = "riveted_straight"; dir = 4},/area/wizard_station)
+"ss" = (/turf/unsimulated/wall{icon_state = "riveted_b"; dir = 1},/area/wizard_station)
+"st" = (/turf/unsimulated/wall{icon_state = "riveted_c"; dir = 8},/area/wizard_station)
+"su" = (/turf/unsimulated/wall{icon_state = "riveted_straight"},/area/wizard_station)
+"sv" = (/obj/structure/bookcase{name = "Forbidden Knowledge"},/obj/effect/decal/cleanable/cobweb,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"sw" = (/obj/structure/bookcase{name = "Forbidden Knowledge"},/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"sx" = (/obj/structure/closet/crate/bin,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"sy" = (/obj/structure/table/woodentable,/obj/item/immovable_wand,/obj/item/paper/immovable_wand_note,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"sz" = (/obj/structure/table/woodentable,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"sA" = (/obj/structure/table/woodentable,/obj/item/book/wiki/nuclear,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"sB" = (/turf/unsimulated/wall{icon_state = "riveted"; dir = 1},/area/wizard_station)
+"sC" = (/obj/structure/table/woodentable,/turf/simulated/floor/trim/carpet,/area/wizard_station)
+"sD" = (/obj/structure/toilet{pixel_y = 8},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/wizard_station)
+"sE" = (/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/wizard_station)
+"sF" = (/obj/structure/mirror/magic{pixel_y = 30},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/wizard_station)
+"sG" = (/turf/unsimulated/wall{icon_state = "riveted_s"; dir = 8},/area/wizard_station)
+"sH" = (/turf/unsimulated/wall{icon_state = "riveted_s"; dir = 4},/area/wizard_station)
+"sI" = (/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"sJ" = (/obj/machinery/door/unpowered/simple/wood,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station)
+"sK" = (/turf/simulated/floor/trim/carpet,/area/wizard_station)
+"sL" = (/obj/effect/landmark/start/antags/wizard,/turf/simulated/floor/trim/carpet,/area/wizard_station)
+"sM" = (/obj/machinery/door/unpowered/simple/iron,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station)
+"sN" = (/obj/machinery/shower{dir = 8},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/wizard_station)
+"sO" = (/obj/structure/bookcase{name = "bookcase (Tactics)"},/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"sP" = (/obj/structure/closet/coffin,/obj/item/device/radio/intercom/syndicate{dir = 8; pixel_x = 22},/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"sQ" = (/turf/unsimulated/wall{icon_state = "riveted"},/area/wizard_station)
+"sR" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green{pixel_x = -3; pixel_y = 8; on = 0},/obj/item/reagent_containers/vessel/flask/barflask,/obj/item/device/radio/intercom/syndicate{dir = 8; pixel_x = 22},/turf/simulated/floor/trim/carpet,/area/wizard_station)
+"sS" = (/turf/unsimulated/wall{icon_state = "riveted_d"},/area/wizard_station)
+"sT" = (/turf/unsimulated/wall{icon_state = "riveted_d"; dir = 4},/area/wizard_station)
+"sU" = (/obj/structure/table/woodentable,/obj/item/storage/bag/cash,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"sV" = (/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
+"sW" = (/obj/structure/bed,/obj/item/bedsheet/rd,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
+"sX" = (/obj/item/clothing/suit/wizrobe/red,/obj/item/clothing/shoes/sandal,/obj/item/clothing/head/wizard/red,/obj/item/staff,/obj/structure/closet/cabinet/wizcabinet,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
+"sY" = (/obj/item/clothing/suit/wizrobe/marisa,/obj/item/clothing/shoes/sandal/marisa,/obj/item/clothing/head/wizard/marisa,/obj/item/staff/broom,/obj/structure/closet/cabinet/wizcabinet,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
+"sZ" = (/obj/item/clothing/suit/wizrobe/magusblue,/obj/item/clothing/head/wizard/magus,/obj/item/staff,/obj/structure/closet/cabinet/wizcabinet,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
+"ta" = (/obj/item/clothing/head/wizard/violetwizard,/obj/item/clothing/suit/wizrobe/violetwizard,/obj/item/staff/broom,/obj/structure/closet/cabinet/wizcabinet,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
+"tb" = (/obj/structure/bookcase,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"tc" = (/obj/machinery/vending/magivend,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"td" = (/obj/machinery/door/unpowered/simple/wood,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
+"te" = (/obj/item/device/radio/intercom/syndicate{dir = 8; pixel_x = 22},/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
+"tf" = (/obj/structure/table/woodentable,/obj/machinery/chemical_dispenser/bar_soft/full,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"tg" = (/obj/structure/table/woodentable,/obj/item/storage/backpack/cultpack,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
+"th" = (/obj/structure/table/woodentable,/obj/item/clothing/glasses/monocle,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
+"ti" = (/obj/structure/table/woodentable,/obj/item/storage/backpack,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
+"tj" = (/obj/item/clothing/under/psysuit,/obj/item/clothing/suit/wizrobe/psypurple,/obj/item/clothing/head/wizard/amp,/obj/structure/closet/cabinet/wizcabinet,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
+"tk" = (/obj/item/clothing/shoes/sandal/marisa{name = "Gentlemans Shoes"; desc = "A set of fancy shoes that are as functional as they are comfortable."},/obj/item/clothing/under/gentlesuit,/obj/item/clothing/suit/wizrobe/gentlecoat,/obj/item/clothing/head/wizard/cap,/obj/item/staff/gentcane,/obj/structure/closet/cabinet/wizcabinet,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
+"tl" = (/obj/item/clothing/suit/wizrobe/magusred,/obj/item/clothing/head/wizard/magus,/obj/item/staff,/obj/structure/closet/cabinet/wizcabinet,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
+"tm" = (/obj/structure/closet/cabinet/wizcabinet,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
+"tn" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 1},/area/wizard_station)
+"to" = (/turf/unsimulated/wall{icon_state = "riveted_t"},/area/wizard_station)
+"tp" = (/turf/unsimulated/wall{icon_state = "riveted_t"; dir = 4},/area/wizard_station)
+"tq" = (/obj/structure/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 4},/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"tr" = (/obj/structure/table/woodentable,/obj/item/dice/d20,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"ts" = (/obj/structure/table/woodentable,/obj/item/storage/box/cups,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"tt" = (/obj/structure/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 8},/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"tu" = (/obj/item/target,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/wizard_station)
+"tv" = (/obj/item/target/syndicate,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/wizard_station)
+"tw" = (/obj/item/target/alien,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/wizard_station)
+"tx" = (/obj/structure/window_frame/indestructible/grille,/turf/unsimulated/floor{name = "plating"},/area/wizard_station)
+"ty" = (/obj/structure/table/rack,/obj/item/material/knife/ritual,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station)
+"tz" = (/obj/structure/kitchenspike,/obj/structure/table/marble,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station)
+"tA" = (/obj/structure/table/woodentable,/obj/structure/table/woodentable,/obj/item/reagent_containers/food/milosoup,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"tB" = (/obj/structure/table/woodentable,/obj/item/dice,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"tC" = (/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/wizard_station)
+"tD" = (/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station)
+"tE" = (/obj/structure/table/woodentable,/obj/item/device/megaphone,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"tF" = (/obj/structure/table/woodentable,/obj/item/storage/box/donut,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"tG" = (/obj/structure/table/woodentable,/obj/item/reagent_containers/food/chawanmushi,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"tH" = (/obj/structure/table/woodentable,/obj/item/spacecash/bundle/c1,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"tI" = (/obj/item/book/wiki/robotics_cyborgs,/obj/structure/table/glass,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/wizard_station)
+"tJ" = (/obj/item/robot_parts/head,/obj/structure/table/glass,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/wizard_station)
+"tK" = (/obj/item/device/radio/intercom/syndicate{dir = 8; pixel_x = 22},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/wizard_station)
+"tL" = (/obj/effect/floor_decal/industrial/warning/wiz,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"tM" = (/obj/effect/floor_decal/industrial/warning/wiz,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/wizard_station)
+"tN" = (/obj/item/remains/human,/obj/effect/floor_decal/industrial/warning/wiz{dir = 9},/turf/unsimulated/floor{name = "plating"; icon_state = "lava"},/area/wizard_station)
+"tO" = (/obj/effect/floor_decal/industrial/warning/wiz{dir = 1},/turf/unsimulated/floor{name = "plating"; icon_state = "lava"},/area/wizard_station)
+"tP" = (/obj/effect/floor_decal/industrial/warning/wiz{dir = 5},/turf/unsimulated/floor{name = "plating"; icon_state = "lava"},/area/wizard_station)
+"tQ" = (/obj/effect/floor_decal/industrial/warning/wiz{dir = 9},/obj/effect/floor_decal/industrial/warning/wiz{dir = 1},/turf/unsimulated/floor{icon_state = "asteroid"},/area/wizard_station)
+"tR" = (/mob/living/simple_animal/crab{name = "Experiment 68a"},/obj/effect/floor_decal/industrial/warning/wiz{dir = 1},/turf/unsimulated/floor{icon_state = "asteroid"},/area/wizard_station)
+"tS" = (/obj/effect/floor_decal/industrial/warning/wiz{dir = 5},/turf/unsimulated/floor{icon_state = "asteroid"},/area/wizard_station)
+"tT" = (/obj/effect/floor_decal/industrial/warning/wiz{dir = 9},/turf/unsimulated/floor{name = "grass"; icon_state = "grass0"},/area/wizard_station)
+"tU" = (/obj/effect/floor_decal/industrial/warning/wiz{dir = 1},/turf/unsimulated/floor{name = "grass"; icon_state = "grass0"},/area/wizard_station)
+"tV" = (/obj/structure/flora/ausbushes/fullgrass,/obj/effect/floor_decal/industrial/warning/wiz{dir = 5},/turf/unsimulated/floor{name = "grass"; icon_state = "grass0"},/area/wizard_station)
+"tW" = (/obj/effect/decal/cleanable/blood,/obj/effect/floor_decal/industrial/warning/wiz{dir = 9},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/wizard_station)
+"tX" = (/obj/effect/floor_decal/industrial/warning/wiz{dir = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/wizard_station)
+"tY" = (/mob/living/simple_animal/faithful_hound,/obj/effect/floor_decal/industrial/warning/wiz{dir = 5},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/wizard_station)
+"tZ" = (/obj/effect/floor_decal/industrial/warning/wiz{dir = 10},/turf/unsimulated/floor{name = "plating"; icon_state = "lava"},/area/wizard_station)
+"ua" = (/mob/living/simple_animal/hostile/creature{name = "Experiment 35b"},/obj/effect/floor_decal/industrial/warning/wiz,/turf/unsimulated/floor{name = "plating"; icon_state = "lava"},/area/wizard_station)
+"ub" = (/obj/item/remains/human,/obj/effect/floor_decal/industrial/warning/wiz{dir = 6},/turf/unsimulated/floor{name = "plating"; icon_state = "lava"},/area/wizard_station)
+"uc" = (/obj/effect/floor_decal/industrial/warning/wiz{dir = 10},/turf/unsimulated/floor{icon_state = "asteroid"},/area/wizard_station)
+"ud" = (/obj/effect/floor_decal/industrial/warning/wiz,/turf/unsimulated/floor{icon_state = "asteroid"},/area/wizard_station)
+"ue" = (/obj/effect/floor_decal/industrial/warning/wiz{dir = 6},/turf/unsimulated/floor{icon_state = "asteroid"},/area/wizard_station)
+"uf" = (/obj/structure/flora/ausbushes/grassybush,/obj/effect/floor_decal/industrial/warning/wiz{dir = 10},/turf/unsimulated/floor{name = "grass"; icon_state = "grass0"},/area/wizard_station)
+"ug" = (/mob/living/simple_animal/hostile/retaliate/goat{name = "Experiment 97d"},/obj/effect/floor_decal/industrial/warning/wiz,/turf/unsimulated/floor{name = "grass"; icon_state = "grass0"},/area/wizard_station)
+"uh" = (/obj/effect/floor_decal/industrial/warning/wiz{dir = 6},/turf/unsimulated/floor{name = "grass"; icon_state = "grass0"},/area/wizard_station)
+"ui" = (/obj/item/caution,/obj/effect/floor_decal/industrial/warning/wiz{dir = 10},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/wizard_station)
+"uj" = (/obj/effect/floor_decal/industrial/warning/wiz,/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/wizard_station)
+"uk" = (/obj/item/material/knife/ritual,/obj/effect/floor_decal/industrial/warning/wiz{dir = 6},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/wizard_station)
+"ul" = (/turf/unsimulated/wall{icon_state = "riveted_straight"; dir = 8},/area/wizard_station)
+"um" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 4},/area/wizard_station)
+"un" = (/obj/effect/step_trigger/teleporter/random/admin,/turf/space/transit/north,/area/space)
+"uo" = (/turf/space/transit/north,/area/space)
+"up" = (/obj/effect/step_trigger/thrower{name = "thrower_throwdown"; tiles = 0; affect_ghosts = 1; stopper = 0},/turf/space/transit/north,/area/space)
+"uq" = (/obj/effect/step_trigger/thrower{name = "thrower_escapeshuttletop(left)"; direction = 8; tiles = 0; affect_ghosts = 1},/turf/space/transit/north,/area/space)
+"ur" = (/turf/space/transit/north,/area/rescue_base/transit)
+"us" = (/obj/effect/step_trigger/thrower{name = "thrower_throwup"; direction = 1; tiles = 0},/turf/space/transit/north,/area/space)
+"ut" = (/obj/effect/shuttle_landmark/rescue/internim,/turf/space/transit/north,/area/rescue_base/transit)
+"uu" = (/obj/effect/step_trigger/thrower{name = "thrower_throwdownsidenostop"; tiles = 0; affect_ghosts = 1; stopper = 0; nostop = 1},/turf/space/transit/north,/area/space)
+"uv" = (/obj/effect/step_trigger/thrower{name = "thrower_escapeshuttletop(right)"; direction = 4; tiles = 0; affect_ghosts = 1},/turf/space/transit/north,/area/space)
+"uw" = (/obj/effect/step_trigger/teleporter/random/admin,/obj/effect/step_trigger/teleporter/random/admin,/turf/space/transit/north,/area/space)
+"ux" = (/turf/space,/turf/simulated/shuttle/wall/corner/syndi/nw{icon_state = "corner_syndiwall_s"},/area/syndicate_mothership/ninja)
+"uy" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_d"; dir = 1},/area/syndicate_mothership/ninja)
+"uz" = (/obj/structure/window/syndi,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/ninja)
+"uA" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_b"; dir = 1},/area/syndicate_mothership/ninja)
+"uB" = (/turf/space,/turf/simulated/shuttle/wall/corner/syndi/ne{icon_state = "corner_syndiwall_s"},/area/syndicate_mothership/ninja)
+"uC" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_b"; dir = 8},/area/syndicate_mothership/ninja)
+"uD" = (/turf/simulated/floor/shuttle/red,/turf/simulated/shuttle/wall/corner/syndi/se{icon_state = "corner_syndiwall_s"},/area/syndicate_mothership/ninja)
+"uE" = (/turf/simulated/floor/shuttle/red,/area/syndicate_mothership/ninja)
+"uF" = (/turf/simulated/floor/shuttle/red,/turf/simulated/shuttle/wall/corner/syndi/sw{icon_state = "corner_syndiwall_s"},/area/syndicate_mothership/ninja)
+"uG" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_d"; dir = 4},/area/syndicate_mothership/ninja)
+"uH" = (/obj/structure/window/syndi{icon_state = "ws2"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/ninja)
+"uI" = (/obj/structure/bed/chair{dir = 1},/obj/effect/landmark/start/antags/ninja,/turf/simulated/floor/shuttle/red,/area/syndicate_mothership/ninja)
+"uJ" = (/obj/structure/window/syndi{icon_state = "ws3"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/ninja)
+"uK" = (/obj/effect/landmark/start/antags/ninja,/turf/simulated/floor/shuttle/red,/area/syndicate_mothership/ninja)
+"uL" = (/obj/structure/window/syndi{icon_state = "ws1"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/ninja)
+"uM" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_straight"; dir = 1},/area/syndicate_mothership/ninja)
+"uN" = (/obj/machinery/computer/teleporter,/turf/simulated/floor/plating,/area/syndicate_mothership/ninja)
+"uO" = (/obj/machinery/teleporter_gate,/turf/simulated/floor/plating,/area/syndicate_mothership/ninja)
+"uP" = (/turf/simulated/floor/plating,/area/syndicate_mothership/ninja)
+"uQ" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_t"; dir = 8},/area/syndicate_mothership/ninja)
+"uR" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced/crescent{dir = 1},/turf/simulated/floor/plating/airless,/area/syndicate_mothership/ninja)
+"uS" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_t"; dir = 4},/area/syndicate_mothership/ninja)
+"uT" = (/turf/space,/turf/simulated/shuttle/wall/corner/syndi/sw,/area/syndicate_mothership/ninja)
+"uU" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"},/turf/space,/area/syndicate_mothership/ninja)
+"uV" = (/obj/structure/shuttle/engine/propulsion,/turf/space,/area/syndicate_mothership/ninja)
+"uW" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"},/turf/space,/area/syndicate_mothership/ninja)
+"uX" = (/turf/space,/turf/simulated/shuttle/wall/corner/syndi/se,/area/syndicate_mothership/ninja)
+"uY" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 8},/area/acting/backstage)
+"uZ" = (/turf/unsimulated/wall{icon_state = "riveted_straight"},/area/acting/backstage)
+"va" = (/obj/effect/landmark/start/antags/actor,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
+"vb" = (/obj/machinery/acting/wardrobe,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
+"vc" = (/obj/structure/table/rack,/obj/item/storage/box/lights/mixed,/obj/item/device/floor_painter,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
+"vd" = (/obj/structure/table/rack,/obj/item/stack/tile/floor{amount = 50},/obj/item/stack/tile/floor{amount = 50},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
+"ve" = (/obj/structure/table/rack,/obj/item/stack/tile/floor_freezer{amount = 50},/obj/item/stack/tile/floor_freezer{amount = 50},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
+"vf" = (/obj/structure/table/rack,/obj/item/stack/tile/carpet{amount = 50},/obj/item/stack/tile/carpet{amount = 50},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
+"vg" = (/obj/structure/table/rack,/obj/item/stack/tile/grass{amount = 50},/obj/item/stack/tile/grass{amount = 50},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
+"vh" = (/obj/structure/table/rack,/obj/item/stack/material/steel{pixel_x = 5; pixel_y = 5; amount = 50},/obj/item/stack/material/steel{pixel_x = 5; pixel_y = 5; amount = 50},/obj/item/stack/material/steel{pixel_x = 5; pixel_y = 5; amount = 50},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
+"vi" = (/obj/structure/table/rack,/obj/item/stack/material/plasteel{amount = 50},/obj/item/stack/material/plasteel{amount = 50},/obj/item/stack/material/plasteel{amount = 50},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
+"vj" = (/obj/structure/table/rack,/obj/item/stack/material/wood{amount = 50},/obj/item/stack/material/wood{amount = 50},/obj/item/stack/material/wood{amount = 50},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
+"vk" = (/obj/structure/table/rack,/obj/item/stack/material/sandstone{amount = 50},/obj/item/stack/material/sandstone{amount = 50},/obj/item/stack/material/sandstone{amount = 50},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
+"vl" = (/obj/structure/table/rack,/obj/item/stack/material/glass{pixel_x = 3; pixel_y = 3; amount = 50},/obj/item/stack/material/glass{pixel_x = 3; pixel_y = 3; amount = 50},/obj/item/stack/material/glass{pixel_x = 3; pixel_y = 3; amount = 50},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
+"vm" = (/obj/structure/table/rack,/obj/item/stack/material/glass/reinforced{amount = 50},/obj/item/stack/material/glass/reinforced{amount = 50},/obj/item/stack/material/glass/reinforced{amount = 50},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
+"vn" = (/obj/structure/table/rack,/obj/item/stack/material/marble{amount = 50},/obj/item/stack/material/marble{amount = 50},/obj/item/stack/material/marble{amount = 50},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
+"vo" = (/obj/structure/table/rack,/obj/item/stack/material/plastic{amount = 50},/obj/item/stack/material/plastic{amount = 50},/obj/item/stack/material/plastic{amount = 50},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
+"vp" = (/obj/structure/table/rack,/obj/item/stack/material/silver{amount = 50},/obj/item/stack/material/silver{amount = 50},/obj/item/stack/material/silver{amount = 50},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
+"vq" = (/obj/machinery/gibber{anchored = 0},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
+"vr" = (/obj/machinery/papershredder,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
+"vs" = (/obj/machinery/recharger,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
+"vt" = (/obj/machinery/reagentgrinder,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
+"vu" = (/obj/structure/reagent_dispensers/watertank,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
+"vv" = (/obj/structure/reagent_dispensers/fueltank,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
+"vw" = (/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
+"vx" = (/obj/machinery/autolathe{name = "Unlocked Autolathe"; desc = "Your typical Autolathe. It appears to have much more options than your regular one, however..."; hacked = 1},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
+"vy" = (/obj/item/paper{name = "Actor's Guild Instruction Pamphlet"; info = "\[center]\[b]READ INSTRUCTIONS CAREFULLY\[/b]\[/center]\[br]\[br]Hello! Welcome and congratulations on being hired for NanoTrasen's new Television initiative. You are now tasked with the creation and production of NanoTrasen brand television that is to be broadcasted to all of our stations!\[br]\[br] We've outfitted these facilities with all the materials and objects you will need.\[br]On the port side you'll find various venders and machines, namely the Wardrobe Dispenser, which will dispense holoclothing and items for you to use, and a Quickee brand plastic surgery machine (which I would remind you you are contractually obligated to \[b]not\[/b] report to the authorities.) which can change your appearance into anything you want, even other races. Stern and aft you'll find all the materials we could muster up on short notice. Use it to decorate the stage to your liking. Starboard you'll find gases, microwaves, hydroponic trays and the like. Go silly! This is already paid for (as are you) so do what you want and entertain!"},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
+"vz" = (/obj/machinery/vending/tool,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
+"vA" = (/turf/unsimulated/wall{icon_state = "riveted"; dir = 8},/area/acting/backstage)
+"vB" = (/obj/machinery/door/airlock/glass{name = "Stage"},/turf/simulated/floor,/area/acting/backstage)
+"vC" = (/turf/unsimulated/wall{icon_state = "riveted"; dir = 4},/area/acting/backstage)
+"vD" = (/obj/machinery/biogenerator,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
+"vE" = (/obj/machinery/vending/hydroseeds,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
+"vF" = (/turf/simulated/floor/tiled,/area/acting/stage)
+"vG" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/acting/stage)
+"vH" = (/obj/machinery/microwave,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
+"vI" = (/obj/machinery/vending/hydronutrients,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
+"vJ" = (/obj/machinery/vending/medical,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
+"vK" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled,/area/acting/stage)
+"vL" = (/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/acting/stage)
+"vM" = (/obj/machinery/vending/security,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
+"vN" = (/obj/machinery/vending/robotics,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
+"vO" = (/turf/unsimulated/wall{icon_state = "riveted"; dir = 1},/area/acting/backstage)
+"vP" = (/obj/machinery/vending/engivend,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
+"vQ" = (/obj/machinery/camera/network/thunder{name = "Movable Camera"; anchored = 0; c_tag = "Television"},/turf/simulated/floor/tiled,/area/acting/stage)
+"vR" = (/obj/machinery/portable_atmospherics/hydroponics,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
+"vS" = (/obj/machinery/vending/dinnerware,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
+"vT" = (/turf/unsimulated/wall{icon_state = "riveted"},/area/acting/backstage)
+"vU" = (/obj/machinery/vending/cola{name = "hacked Robust Softdrinks"; prices = list()},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
+"vV" = (/obj/machinery/vending/cigarette{name = "hacked cigarette machine"; products = list(/obj/item/storage/fancy/cigarettes=10, /obj/item/storage/box/matches=10, /obj/item/flame/lighter/zippo=4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana=2); prices = list()},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
+"vW" = (/obj/machinery/chemical_dispenser/bar_alc/full,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
+"vX" = (/obj/machinery/vending/containers,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
+"vY" = (/obj/machinery/light,/turf/simulated/floor/tiled,/area/acting/stage)
+"vZ" = (/obj/machinery/chemical_dispenser/full,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
+"wa" = (/obj/machinery/pipedispenser,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
+"wb" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 1},/area/acting/backstage)
+"wc" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 4},/area/acting/backstage)
+"wd" = (/obj/machinery/chemical_dispenser/bar_soft/full,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
+"we" = (/obj/machinery/acting/changer,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
+"wf" = (/obj/machinery/vending/props,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
+"wg" = (/obj/machinery/newscaster{pixel_y = -27},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
+"wh" = (/obj/structure/table/rack,/obj/item/stack/tile/floor{amount = 50},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
+"wi" = (/obj/structure/table/glass/plass,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
+"wj" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
+"wk" = (/obj/machinery/portable_atmospherics/canister/sleeping_agent,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
+
+(1,1,1) = {"
+aaabababababababababababababababababababababababababababababaaununununununununununununununununununununununununununununununununununununununaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+aaabaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeadadadadadadabaaunuouououououououououououououououououououououououououououououououououououounaaununununununununununununununununununununuwaaadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+aaabaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeadadadadadadabaaunuouououououououououpupuququququququququququququququpupuououououououououounaaunuououououououououououououououououououounaaadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+aaabaeaeaeadadadadadadadadadadadadadadadadadadadadadadadadabaaunuouououououououououpururururururusuouousururururururupuououououououououounaaunuououououououououououououououououououounaaadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+aaabaeaeaeadadadadadadadadadadadadadadadadadadadadadadadadabaaunuouououououououououpururururururusuouousururururururupuououououououououounaaunuououououououououououououououououououounaaadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+aaabaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeadadadadabaaunuouououououououououpururururururusuouousururururururupuououououououououounaaunuououououououououououououououououououounaaadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+aaabaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeadadadadabaaunuouououououououououpurururutururusuouousururururururupuououououououououounaaunuououououououououououououououououououounaaadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadczczczczczczczczczczczczczczczczczczczczczczczczczczczczczczczczczczczczczczczczczczczczczczczczczczczczczczcz
+aaabaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeabaaunuouououououououououpururururururusuouousururururururupuououououououououounaaunuououououououououououououououououououounaaadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+aaabaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeabaaunuouououououououououpururururururusuouousururururururupuououououououououounaaunuououououououououououououououououououounaaadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+aaabaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeabaaunuouououououououououpururururururusuouousururururururupuououououououououounaaunuouououououououxuyuzuAuBuououououououounaaadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+aaabaeaeaeaeaeaeaeaeaeacacacacacacacacacacacacaeaeaeaeaeaeabaaunuouououououououououpururururururususususururururururupuououououououououounaaunuouououououououCuDuEuFuGuououououououounaaadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+aaabaeaeaeaeaeaeacacacacacacacacacacacacacacacaeaeaeaeaeaeabaaunuouououououououououpururururururururururururururururupuououououououououounaaunuouououououououHuEuIuEuHuououououououounaaadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadcA
+aaabaeaeaeaeaeaeacacacacacacacacacacacacacacacaeaeaeaeaeaeabaaunuouououououououououpururururururururururururururururupuououououououououounaaunuouououououououJuKuEuKuJuououououououounaaadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadcAcAadadadadadadadadadadadadadadadadadadadadadadcAcAcAcA
+aaabaeaeaeaeaeaeacacacacacacacacafacacacacacacaeaeaeaeaeaeabaaunuouououououououououpururururururururururururururururupuououououououououounaaunuouououououououJuEuEuEuJuououououououounaaadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadcAcAcAcAadadadadadadadadadadadadadadadadadadadcAcAcAcAcA
+aaabaeaeaeaeaeaeacacacacacacacacacacacacacacacaeaeaeaeaeaeabaaunuouououououuuuuququpuquuururururururururururururuvuvupuvuvuuuuuououououounaaunuouououououououLuEuEuEuLuououououououounaaadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadcAcAadadadadadadadadcAcAcAcAcAcAadadadadadadadcAcAcAadadadadadcAcAcAcAcAcAcA
+aaabaeaeaeaeaeaeacacacacacacacacacacacacacacacaeaeaeaeaeaeabaaunuouououououuurururururusururururururururururururusurururururuuuououououounaaunuouououououououMuNuOuPuMuououououououounaaadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadcAcAcAadadadadadadadadadcAcAcAcAcAcAadadadcAcAcAcAcAcAcAcAcAadcAcAcAcAcAcAcAcA
+aaabaeaeaeaeaeaeaeaeaeacacacacacacacacacacacacaeaeaeaeaeaeabaaunuouououououuurururururusururururururururururururusurururururuuuououououounaaunuouououououououQuRuRuRuSuououououououounaaadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadcAcAcAcAadadadadadadadadadcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcA
+aaabaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeabaaunuouououououuururururururururururururururururururururururururuuuououououounaaunuouououououououTuUuVuWuXuououououououounaaadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadcAcAcAcAcAcAadadadadadadcBadagcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcA
+aaabaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeabaaunuouououououuururururururururururururururururururururururururuuuououououounaaunuououououououououououououououououououounaaadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadcAcAcAcAcAcAcAadadadadadadcBagcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcA
+aaabaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeabaaunuouououououuururururururururururururururururururururururururuuuououououounaaunuououououououououououououououououououounaaadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadcAcAcAcAcAcAcAadadadadadadcBadcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcA
+aaabaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeadadabaaunuouououououuururururururururururururururururururururururururuuuououououounaaunuououououououououououououououououououounaaadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadcAcAcAcAcAcAcAcAadadadadadadcBagcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcA
+aaabaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeadadabaaunuouououououuurururururuuuuuuuuururururururuuuuuuuuurururururuuuououououounaaunuououououououououououououououououououounaaadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadcAcAcAcAcAcAcAcAadadadadadadcCadagcAcAcDcEcFcEcGcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcA
+aaabaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeadadabaaunuouououououuurururururuuuououuururururururuuuououuurururururuuuououououounaaunuououououououououououououououououououounaaadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadcAcAcAcAcAcAcAadadadadadadadadadadadcHcIcJcKcLcRcGcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcA
+aaabaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeadadabaaunuouououououuurururururuuuououuuuuuuuuuuuuuuuuououuurururururuuuououououounaaunuououououououououououououououououououounaaadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadcAcAcAcAcAcAcAadadadadadadadadadadadcScTcUcVcUcTcWcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcA
+aaabaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeadadadadadadabaaunuouououououuurururururuuuououououououououououououuurururururuuuououououounaaunuououououououououououououououououououounaaadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadcAcAcAcAcAcAadadadadadadadadadadadadcScTcUcVcUcTcWcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcA
+aaabababababababababababababababababababababababababababababaaunuouououououuuuuuuuuuuuuuuououououououououououououuuuuuuuuuuuuuuououououounaaunuououououououououououououououououououounaaadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadcAcAcAcAcAadadadadadadadadadadadadadcScTcUcVcUcTcWcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcA
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaunuouououououououououououououououououououououououououououououououououououounaaunununununununununununununununununununununaaadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadcAcAadadadadadadadadcAcAcAadadadadadadadadadadadadadadcHcGcVcVcXcDcIcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcA
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaaunuouououououououououououououououououououououououououououououououououououounaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadcAcAcAcAcAadadadadadadcAcAadadadadadadadadadadadadadadadadcWcVcVcVcWcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcA
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaaununununununununununununununununununununununununununununununununununununununaaadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadcAcAcAcAcAcAadadadadadadadadadadadadadadadadadadadcScScScScYdqdrcHdvcEcEcEcEcGcAcAcAcAcAcAcAcAcAcAcAcAcAcA
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadcAcAcAcAcAcAadadadadadadadadadaddwdxdydydydzdAadadcSdBdCdDdBdBdBdEdIdNdXdYdZeaebcFcGcAcAcAcAcAcAcAcAcAcAcA
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadcAcAcAcAcAadadadadadadadadaddwecedefegeheiejdAadcSdBezezdBdBdBdBeAeQeQeQeReSeTeUcRcGcAcAcAcAcAcAcAcAcAcA
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadcAcAcAcAadadadadadadadadadfmfnfofofpfofofqfmadcSfrfsftfIdBdBdBfKeQeQeQfMcWgbgfgZcWcAcAcAcAcAcAcAcAcAcA
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadcAcAadadadadadadadadadadfmhafofofofohIhJfmadcSdBhKhKdBdBdBhMcWhNhOhPhQcWhRhShTcWcAcAcAcAcAcAcAcAcAcA
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadfmhUfofohVfofohWfmadcShXdBdBdBdBdBiqiscEcEcEcEitiuhSivcWcAcAcAcAcAcAcAcAcAcA
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadiBiCiDiEiFiFiFiGiHadcScScScSiIiXiXiXdIiYiYiZjacWjbhSjccWcAcAcAcAcAcAcAcAcAcA
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadfmjdjejfjtjufmadadadadadadcSjvjvjvjxjyjyjzjzcWjbhSjccWcAcAcAcAcAcAcAcAcAcA
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadfmjAjBjCfojDfmadadadadadadcSjvjvjvfKjEjFcDcEcIjGjPjGcRcEcEcGcAcAcAcAcAcAcA
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadjQjSjAjBjCfojTjUjVadadcCcBcBfKjvjvjvcRjWcEcIjXjYkekfkgkhkhkicRcGcAcAcAcAcAcA
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaddwiFiFkjkkklkmknfokokpkqiFiFdAkzkzdIkAjvjvkBdIkCkDkekEkFjvkMkNkOkgkPcWcAcAcAcAcAcA
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadfmkQlflgfmfolhfofoliecljlklllmlnlolnjvjvjvlBlClDlElFjvjvjvjvjvjvlGlHlIcAcAcAcAcAcA
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadcAcAadadadadlJlKlNlKjUlOlPlQiElRlSljlTlUlmlnlVlnjvjvjvlWfKlXlYlZmambjvmdmamemfmgcWcAcAcAcAcAcA
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadcAcAcAadadadadmhiFlJmjmkkkfofomlmhiFlJmnlJlRmomompcScScScHmqcEcGmsmtlZmumfmvmvmwcDcIcAcAcAcAcAcA
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadcAcAcAcAadadadadfmmxfofomymzfofofomzmAmBmDmEfmagadagadadadadcAcAcRcEcGjGmFjGcDcEcEcIcAcAcAcAcAcAcA
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadcAcAcAcAadadadadfmmGfofofomHfofofomIfofofomJfmcBcBcBcBadadadadcAcAcAcWmKmLmKcWcAcAcAcAcAcAcAcAcAcA
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadcAcAcAcAcAadadadadfmmMfofofomOfofofomPfofofomQfmadadadadadadadadadcAcAcWmKmSmKcWcAcAcAcAcAcAcAcAcAcA
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadcAcAcAcAadadadaddwmTmUmUmUmUiCfofofolimUmUmUmUmTdAadadadadadcBadagcAcAcWmKmSmKcWcAcAcAcAcAcAcAcAcAcA
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadcAcAcAcAadadadadfmmVmWmYmZnafmnbfoncfmndndndnenffmadadadadadcBagcAcAcAcWmKngmKcWcAcAcAcAcAcAcAcAcAcA
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadcAcAcAadadadadadnimWmWmWmWmWmzfofofomznbfofofonjnkadadadadadcCadcAcAcAcRcGnlcDcIcAcAcAcAcAcAcAcAcAcA
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadcAcAadadadadadadnmnnnomWmWmWnpfofofonqfofofonrnsnuadadadadadcBagagcAcAcAcRcEcIcAcAcAcAcAcAcAcAcAcAcA
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadnwmWmWmWmWmWnxfofofonyfofofofonznAadadadadadcBadadagcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcA
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadfmnBmWmWmWnClilJnDlJiCnEnEnFfonGfmadadadadadadadadadcAcAcAcAcAcAcAcAcAcAcAcAcAcAcAcA
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadfmnHnJnKnLnMfmnNfonOfmnPlimUnQmUlRadadadadadadadcBadagcAcAcAcAcAcAcAcAcAcAcAcAcAcAcA
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadfmnRmWnSlimUlRfonTnUmhmUlRnVnWnXfmadadadadadadadcBagagcAcAcAcAcAcAcAcAcAcAcAcAcAcAcA
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadfmnYnZoafmadfmobobobfmadfmocfoodfmadadadadadadadcBadagadcAcAcAcAcAcAcAcAcAcAcAcAcAcA
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadfmobobobfmadiBoeofogiHadfmobobobfmadadadadadadadcBagagagagagcAcAcAcAcAcAcAcAcAcAcAcA
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadcAcAadadadiBoeofogiHadadadadadadadiBoeofogiHadadadadadadadcBadagadagadadcAcAcAcAcAcAcAcAcAcAcA
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadcAcAcAadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadcAcAcAcAcAcAcAcAcAcAcA
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadcAcAadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadcAcAcAcAcAcAcAcAcAcAcA
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadcAcAcAcAcAcAcAcAcAcAcA
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadcAcAcAcAcAcAcAcAcAcAcA
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadcAcAcAcAcAcAcAcAcAcA
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadcAcAcAcAcAcAcAcAcA
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadcAcAcAcAcAcAcAcA
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadcAcAcAcAcAcAcA
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadcAcAadadadadadadadadadadadadadcAcAcAcAcAcA
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadcAcAcAcAadadadadadadadadadadadadadcAcAcAcAcA
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadcAcAcAcAcAadadadadadadadadadadadadadcAcAcAcAcA
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadcAcAcAcAcAcAadadadadadadadadadadadadadcAcAcAcA
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadcAcAcAcAcAcAcAadadadadadadadadadadadadadadcAcA
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadcAcAcAcAcAcAcAcAcAadadadadadadadadadadadadadadcA
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadcAcAcAcAcAcAcAcAcAadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadcAcAcAcAcAcAcAcAcAadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadcAcAcAcAcAadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadahaiajakahalamanahadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadahadadadahadadadahadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadahadadadahadadadahadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadahadadadahadadadahadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadahadadadahadadadahadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadahahaoapaqaoaoaraqahahadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadagasatauasagadbyadadadagavawaxayazaAaBaCaDaEavagagagagadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadagasaFaGasagadadadadadagavaHaIaJaKaKaLaDaIaIavbcbdbcagadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadagasaNaOasagagagagagagagaoaPaQaRaRaRaSaTaUaVahaoaWasagagagagagadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadagaXaYaZahavavavavaoaoaoaoaoaobabababbbfaobgahaobhasagadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadagavaIbibjbkbkbkblbmbnbobpbqbrbsbtbubvbwaoahbybzbAasagadadadagadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadagavbBbCbDbEaTaTaTaTaTbFbGbGbGbGbGbHbIbJaoahbyaobLaXagagagagagadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadagavavavbMbNbObPaIaIaIaIaIaIbQbObRbSbTbUaoahbybybybybybybybybybyadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadagagagahahahbXbYbZcacbcccdbZceavavahcfcgaoahahahahahahahahbybybyadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadchahahahagagavbWavavasasavavbWavadahcjckaoaoaoaoaoaoaoaoahbybybyadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadagadadadadmintaMnvmRdadbmRntaMnImmahcocpaocqcrcsctcucvaoahbybybybybybybyadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadagadmidadbnhdcmrdddedfdgdhmrdFmCdGahcocyaocMcNcOcPcOcQdjahahahahahahahahadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadagadmCmrdHmXmrclmrclmrclmrclmrdJdGahcocyaodldmdndodpdsaoahahaoaoaocxdQaoadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadagaddKdLmrcimrclmrclcmcldOclmrdJdGahcobeaoaodiasewasaoaoeFeGaoeHeIeJeKaoadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadagadmCmrdHmNmrclmrclmrclmrclmrdJdGaheLeMeNeOePeWeWaReXeYeZfafbfcfdfkfeaobVbVbVbVbVbVbVbVbVbVbVbVadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadagadoudadbnhdcmrmrdPmrmrekmrdFmCdGahcohefffgfhfgfgfgfgfgfifjaoaoaoaoaoaoflfuflflflflflflfxfyaobVadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadagadadadadountaMnvmRdadbmRntaMelozahfzhebafAfAfBfAfCaofDfEfFfGfHfLaIfNfOaIfPaIaIaIfQaIaIfRfSfTbVadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadchahahahagagavbWavavasasavavbWavadahfUfVbafWfXfYfYfZaogafEgcaRgdaRgigjaRaRgkglglglgmgngngogpgqbVadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadagagagahchahavdRdSdTdUdVdWdSeeavavahgrhebagsgtfYfYfZaogufEfFaIfHaIfFaIaIgvgwgxgygzgAgBgJgBgKgLbVadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadavavavavemeneoaDaIaIaIaIaIaIaJeoenaKgMhebagNgNfBgNfCaogOfEgPaoaoaoepaoaoaoaoaoaogQgRaoaoaoaoaobVadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadeqereseteuevexexexexexeyeBeBeBeBeCeBgSgTgGgVgWgXgXgXgYgXhihjaoahbxbxahbVbVbVbVbVbVbVbVbVbVbVbVbVadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadeDeEeVfvfwfJggghgCgCgCgDgCgCghgCgCgEhkhxgHaIaIaIaIaIhnhohzhAaoahbxbxahadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadavavavavahahahgFgFgFgFgFgFgFgFahahbzgUhlaogIgIgIgIgIhbaoaoaoaoahbxbxahadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadagagagagagagadadadadadadadadadagashchdhehfhghhhmhphqhrhshtaoahahbxbxahadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadagadadadadadadadadadhuashvhwhxhfhyhLhYhZiaibicidaoahbxbxahahadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadagadadadadadadadadadieifigihiihfhYhYhYhYhYiriwixaoahbxbxahadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadagadadadadadadadadadasashviyizhfhgiAhYhZiJiriwiKaoahbxbxahadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadohoioioioioioioioioiojokolomolonojooooooooooopolololoqorosokotototonooooojoiov
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadagadadadadadadadadadagasiLiMiNhfhgiOiPiQiJiriRiSaoahbxbxahadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadowcAcAcAcAcAcAcAcAcAoxoyoAoBoAoCoxoDoAoEoAoFoxoGoHoIoxoJoKoLoMoNoNoOoPoQoxcAcA
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadchahhvhvhvhvhvasasasahahaoiTiUaoaoaoaoaoaobKaoaoaoahbxbxahadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadowcAoRoRoRoRoRoRoRoRoxoyoAoSoAoCoxoToAoUoAoVoWoXoAoAoWoYoMoZoMpaoNoNoNoNoxcAcA
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadagadadadagasiWjgjhjijjjjjkjljmjnjojojpjqjrjsjwahahahbxbxahadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadowcAoRpbpcoRpdpeoRoRoWoyoApfoAoCoWpgoAphoApipjoApkoAploMoMoMoMpmpnpopppqoxcAcA
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadagadadadagasjHjIjJbYbDjKjLjMjNaoaoaoaojOaoaoaoahbxbxbxbxahadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadowoRoRprprprprprprprpsoAoAoAoAoApsoAoXoAoAoApsoAoAoAploMptptoMoJpuoJpuoJoxcAcA
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadchahhvasasasjRjZhuasasahchkaahahahahahahahahahahahahahahahadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadowoRpvprprpwpxprprprpyoAoAoAoAoApyoAoAoAoAoApyoAoApzpypApBptoMoMoMoMoMpCoxcAcA
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadowoRpDprprpEpFprproRpGoooooooooopHoooooooooopIoApJoApGojpKpLonojoooooooopMcAcA
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadowoRoRpNprprprprproRoRoRoRoRoRoRoRoRoRoRoRoRoxoAoAoAoRoxpOpPpQoxcAcAcAcAcAcAcA
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadowcAoRpRprprprprprprprprprproRoRoRoRoRoRoRoRoxoAoAoAoRoxpSpPpQoxcAcAcAcAcAcAad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadowcAoRoRoRpTpTpToRoRoRoRoRprprproRoRoRoRoRoRoxpkoAoXoRpGoooooopMcAcAcAcAcAcAad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadowcAcAcAoRoRoRoRoRcAcAcAoRoRoRprprprproRoRoRoxoAoAoAoRcAcAcAcAcAcAcAcAcAcAcAad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadowcAcAcAcAcAcAcAcAcAcAcAcAcAoRoRoRoRproRoRoRoxpUoAoAoRcAcAcAcAcAcAcAcAcAcAcAad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadowcAcAcAcAcAcAcAcAcAcAcAcAcAoqoooookpsonooojpHokpsonooojooooooooooooopcAcAadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadowcAcAcAcAcAcAcAcAcAcAcAcAcAoxoAoAoAoAoAoAoxpVpVpVpWpVoxoAoAoAoAoAoAoxcAadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadowcAcAcAcAcAcAcAcAcAcAadadcAoxpXoAoAoAoAoAoWpVpYpVpVpVoWoXoAoApkoApzoxcAadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadowcAcAcAcAcAcAcAcAcAcAadadcAoxoAoAoAoAoAoApspVpVpZpVpVpsoAoAoAoAoAoXoxcAadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadowcAcAcAcAcAcAcAcAcAcAqaadadoxoAoApyolololpypVqbqcqdpVpyolololpyqeoAoxadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadowcAcAcAcAcAcAcAcAcAagqaadadoWoAoAoWqfqfqfpGokqgqgqgonpMqfqfqfoWoXoAoWadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadowcAcAcAcAcAcAcAcAadadadadadqhqiqiqjqfqfqfqfqfqfqfqfqfqfqfqfqfqkqiqiqladadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadowcAcAcAcAcAcAcAcAcAadadadadqhqmqnqjqfqfqfqfqfqfqfqfqfqfqfqfqfqkqmqnqladadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadowcAcAcAcAcAcAcAcAadadadadadqhqoqnqjqfqfqfqfqfqfqfqfqfqfqfqfqfqkqmqnqladadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadowcAcAcAcAcAcAcAcAadadadadadqpqiqiqqqfqfqfqrqfqfqfqfqfqsqfqfqfqtqiqiquadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadowcAcAcAcAcAadadadadadadadadqrqvqwqsqfqfqfqvqxqxqxqxqxqvqfqfqfqrqyqvqsadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadowcAcAcAcAcAadadadadadadadadqvqzqAqvqfqfqrqvqvqBqCqDqvqvqsqfqfqvqEqFqvadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadcnlplplplplplplplplplplplplplplplplplplplplplplplplplpuYadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadowcAcAcAcAcAadadadadadadadadqvqGqHqvqfqfqvqvqIqJqKqLqMqvqvqfqfqvqNqOqvadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaduZvavavbvcvdvevfvdvgvhvivjvkvlvmvnvovpvqvrvsvtvuvvvwvxuZadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadowcAcAcAcAcAadadadadadadadadqvqPqvqvqvqvqvqQqRqRqRqSqRqTqvqvqvqvqvqUqvadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaduZvavyvwvwvwvwvwvwvwvwvwvwvwvwvwvwvwvwvwvwvwvwvwvwvwvwuZadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadowcAcAcAcAcAadadadadadadadadqvqVqWqXqYqZqvraqRqRqRqRqRrbqvrcrdrerfrgqvadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaduZvzvwcnlplplplplplplplpvAvBvClplplplplplplplplpuYvwvDuZadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadowcAcAadadadadadadadadadadadqvrhqAqArirjqvrkrkrkrlrkrkrkqvrmqArnqErhqvadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaduZvEvwuZvFvFvGvFvFvFvGvFvFvFvFvFvGvFvFvFvFvGvFvFuZvwvHuZadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadowcAcAadadadadadadadadadadadrorhqEqAqAqArpqRqRqRqRqRqRqRrpqArqqAqArhroadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaduZvIvwuZvFvFvFvFvFvFvFvFvFvFvFvFvFvFvFvFvFvFvFvFuZvwvHuZadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadowcAcAcAadadadadadadadadadadrorhrrrsqvqvqvrtqRrururuqRrvqvqvqvqAqArhroadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaduZvJvwuZvKvFvFvFvFvFvFvFvFvFvFvFvFvFvFvFvFvFvFvLuZvwvMuZadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadowcAcAcAadadadadadadadadadadrorwqAqAqvrxryqRqRrzrArBqRqRqRrCqvrDqArEroadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaduZvNvwvOvFvFvFvFvFvFvFvFvFvFvFvFvFvFvFvFvFvFvFvFvOvwvwuZadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadowcAcAcAadadadadadadadadadqrqvrFrGrHqvrIqRqRqRrJrArKqRqRqRrLqvrMrNrOqvqsadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaduZvPvwvBvFvFvFvFvFvFvFvFvFvQvFvFvFvFvFvFvFvFvFvFvBvwvRuZadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadowcAcAcAadadadadcAcAadadadrPqvrQrQqvqvrRqRrSqRqJqJqJqRrSqRrTqvqvrQrQqvrUadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaduZvSvwvTvFvFvFvFvFvFvFvFvFvFvFvFvFvFvFvFvFvFvFvFvTvwvRuZadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadowcAadadadadadadcAcAadadadadrPrVrVrUqvqvrlqvqRqRqRqRqRqvrlqvqvrPrVrVrUadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaduZvUvwuZvKvFvFvFvFvFvFvFvFvFvFvFvFvFvFvFvFvFvFvLuZvwvRuZadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadowcAcAcAadadadadadadadadadadadadadadqvrWqRqvqRqRqRqRqRqvqRrXqvadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaduZvVvwuZvFvFvFvFvFvFvFvFvFvFvFvFvFvFvFvFvFvFvFvFuZvwvWuZadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadowcAcAcAadadadadadadadadadadadadadadqvrYrZqvsasasbsasaqvqRscqvadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaduZvXvwuZvFvFvYvFvFvFvYvFvFvFvFvFvYvFvFvFvFvYvFvFuZvwvZuZadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadowcAadadadadadadadadadadadadadadadadqvqvsdqvsesfsfsfsgqvshqvqvadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaduZwavwwblplplplplplplplpvAvBvClplplplplplplplplpwcvwwduZadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadowcAadcAcAcAadadadadadadadadadadadadrPqvqvqvsisjskslsmqvqvqvrUadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaduZwevwvwvwvwvwvwvwvwvwvwvwvwvwvwvwvwvwvwvwvwvwvwvwvwvwuZadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadowcAcAcAcAadadadadadcAcAadadadadadadadadrPqvrQrQrQrQrQqvrUadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaduZwfwgvcwhvevfvdvgvhvivjvkvlvmvnvovpwiwjwkvwvuvvvbwgvwuZadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadowcAcAcAadadadadadadcAcAcAadadadadadadadadrPrVrVrVrVrVrUadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadwblplplplplplplplplplplplplplplplplplplplplplplplplplpwcadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadowcAcAadadadadadadadcAcAcAadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadowcAadadcAadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadowcAcAcAadadadadadadadadadadcAcAadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadowcAcAcAadadadadadadadadcAcAcAcAadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadowcAcAcAadadadadadadadcAcAcAcAadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadsncAadadadadadadadadadadcAcAcAadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadczczczczczczczczczczczczczczczczczczczczczczczczczczczczczczczczczczczczczczcz
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadsospspspspspspsqspspspsqspsrspssstadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadsusvswsxsyszsAsBsCsCsCsBsDsEsFsGsHadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadsusIsIsIsIsIsIsJsKsLsKsMsEsEsNsGsHadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadsusOsOsIsIsIsPsQsKsKsRsospspspsSsTadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadsusIsIsIsIsIsUsusVsVsWsBsXsYsZtasuadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadsutbtbsIsIsItcsusVsVsVtdsVsVsVtesuadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadsusIsIsIsIsItfsutgthtisQtjtktltmsuadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadsusIsIsIsIsIsPtnspspsptospspspsptpadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadsusItqtrtsttsItutvtwtutxtytztztysuadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadsusItqtAtBttsItCtCtCtCtxtDtDtDtDsuadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadsusItqtEtFttsItCtCtCtCtCtCtCtCtCsuadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadsusItqtGtHttsItCtCtCtCtCtCtItJtKsuadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadsutLtLtLtLtLtLtMtMtMtMtMtMtMtMtMsuadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadsutxtxtxtxtxtxtxtxtxtxtxtxtxtxtxsuadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadsutNtOtPtxtQtRtStxtTtUtVtxtWtXtYsuadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadsutZuaubtxucuduetxufuguhtxuiujuksuadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadtnspspspulspspspulspspspulspspspumadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+adadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad
+"}
diff --git a/maps/entrepot/entrepot_areas.dm b/maps/entrepot/entrepot_areas.dm
new file mode 100644
index 00000000000..c13fa054195
--- /dev/null
+++ b/maps/entrepot/entrepot_areas.dm
@@ -0,0 +1,86 @@
+
+/area/entrepot
+ name = "\improper NTS Entrepot-17"
+ icon_state = "dark"
+ area_flags = AREA_FLAG_RAD_SHIELDED
+
+
+/area/entrepot/deck_1
+ name = "\improper Main Module 1F"
+ icon_state = "hallC1"
+
+/area/entrepot/deck_2
+ name = "\improper Main Module 2F"
+ icon_state = "hallC1"
+
+/area/entrepot/cargo
+ name = "\improper Main Module 1F - Warehouse"
+ icon_state = "quartstorage"
+
+/area/entrepot/dock
+ name = "\improper Main Module 2F - Space Dock"
+ icon_state = "escape"
+
+/area/entrepot/arrivals
+ name = "\improper Main Module 2F - Arrivals"
+ icon_state = "escape"
+
+/area/entrepot/crew_1
+ name = "\improper Living Module 1F"
+ icon_state = "udorm"
+
+/area/entrepot/crew_2
+ name = "\improper Living Module 2F"
+ icon_state = "udorm"
+
+/area/entrepot/crew_1/dorm
+ name = "\improper Living Module 1F - Dormitories"
+ icon_state = "Sleep"
+
+/area/entrepot/crew_2/dorm
+ name = "\improper Living Module 2F - Dormitories"
+ icon_state = "Sleep"
+
+/area/entrepot/crew_1/fitness
+ name = "\improper Living Module 1F - Gym"
+ icon_state = "fitness"
+
+/area/entrepot/crew_2/fitness
+ name = "\improper Living Module 2F - Gym"
+ icon_state = "fitness"
+
+/area/entrepot/medbay
+ name = "\improper Living Module 2F - Medbay"
+ icon_state = "medbay"
+
+
+/area/entrepot/cafe_1
+ name = "\improper Refectory Module 1F"
+ icon_state = "cafeteria"
+ sound_env = LARGE_SOFTFLOOR
+
+/area/entrepot/cafe_2
+ name = "\improper Refectory Module 2F"
+ icon_state = "cafeteria"
+ sound_env = LARGE_SOFTFLOOR
+
+
+/area/entrepot/engi_1
+ name = "\improper Technical Module 1F"
+ icon_state = "engineering"
+ ambience_powered = list(SFX_AMBIENT_ENGINEERING)
+
+/area/entrepot/engi_2
+ name = "\improper Technical Module 2F"
+ icon_state = "engineering"
+ ambience_powered = list(SFX_AMBIENT_ENGINEERING)
+
+
+/area/entrepot/engi_1
+ name = "\improper Technical Module 1F"
+ icon_state = "Sleep"
+
+/area/entrepot/engi_2
+ name = "\improper Technical Module 2F"
+ icon_state = "Sleep"
+
diff --git a/maps/entrepot/entrepot_define.dm b/maps/entrepot/entrepot_define.dm
new file mode 100644
index 00000000000..b7fe398b667
--- /dev/null
+++ b/maps/entrepot/entrepot_define.dm
@@ -0,0 +1,42 @@
+
+/datum/map/entrepot
+ name = "Entrepot"
+ full_name = "NTS Entrepot-17"
+ path = "entrepot"
+
+ shuttle_types = list(
+ /datum/shuttle/autodock/ferry/emergency/centcom,
+ /datum/shuttle/autodock/multi/antag/syndicate,
+ /datum/shuttle/autodock/multi/antag/skipjack,
+ )
+
+ map_levels = list(
+ new /datum/space_level/entrepot_1,
+ new /datum/space_level/entrepot_2,
+ new /datum/space_level/entrepot_3, // Exodus-shaped CentCom
+ new /datum/space_level/null_space,
+ new /datum/space_level/telecomms,
+ new /datum/space_level/derelict
+ )
+
+ station_name = "NTS Entrepot-17"
+ station_short = "Entrepot-17"
+ dock_name = "NSS Exodus"
+ boss_name = "Central Command"
+ boss_short = "Centcomm"
+ company_name = "Nanotrasen"
+ company_short = "NT"
+ system_name = "Nyx"
+
+ evac_controller_type = /datum/evacuation_controller/shuttle
+
+ station_networks = list(
+ NETWORK_EXODUS,
+ NETWORK_TELECOM,
+ NETWORK_MASTER
+ )
+
+ post_round_safe_areas = list (
+ /area/centcom,
+ /area/shuttle/escape/centcom
+ )
diff --git a/maps/entrepot/entrepot_levels.dm b/maps/entrepot/entrepot_levels.dm
new file mode 100644
index 00000000000..516946ee799
--- /dev/null
+++ b/maps/entrepot/entrepot_levels.dm
@@ -0,0 +1,35 @@
+/datum/space_level/entrepot_1
+ path = 'entrepot-1.dmm'
+ traits = list(
+ ZTRAIT_STATION,
+ ZTRAIT_CONTACT
+ )
+ travel_chance = 10
+
+/datum/space_level/entrepot_1/generate(z)
+ // Create the mining Z-level.
+ new /datum/random_map/automata/cave_system(null, 1, 1, z, 200, 200)
+ // Create the mining ore distribution map.
+ new /datum/random_map/noise/ore(null, 1, 1, z, 200, 200)
+
+/datum/space_level/entrepot_2
+ path = 'entrepot-2.dmm'
+ traits = list(
+ ZTRAIT_STATION,
+ ZTRAIT_CONTACT
+ )
+ travel_chance = 10
+
+/datum/space_level/entrepot_2/generate(z)
+ // Create the mining Z-level.
+ new /datum/random_map/automata/cave_system(null, 1, 1, z, 200, 200)
+ // Create the mining ore distribution map.
+ new /datum/random_map/noise/ore(null, 1, 1, z, 200, 200)
+
+/datum/space_level/entrepot_3
+ path = 'entrepot-3.dmm'
+ traits = list(
+ ZTRAIT_CENTCOM,
+ ZTRAIT_CONTACT,
+ ZTRAIT_SEALED
+ )
diff --git a/maps/example/example-1.dmm b/maps/example/example-1.dmm
index 17e424ab24b..dd5a027762c 100644
--- a/maps/example/example-1.dmm
+++ b/maps/example/example-1.dmm
@@ -1,46 +1,41 @@
-"a" = (/turf/simulated/wall/r_wall,/area/engineering)
-"b" = (/obj/effect/landmark/start/crew/ai,/obj/machinery/camera,/turf/simulated/floor/tiled/rough,/area/engineering)
-"c" = (/turf/simulated/floor/tiled/rough,/area/engineering)
-"d" = (/obj/machinery/light/spot{dir = 1},/turf/simulated/floor/tiled/rough,/area/engineering)
-"e" = (/obj/machinery/camera{dir = 1},/turf/simulated/floor/tiled/rough,/area/engineering)
-"f" = (/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/rough,/area/engineering)
-"g" = (/turf/simulated/wall,/area/engineering)
-"h" = (/obj/machinery/light_switch{on = 1; pixel_x = 25},/turf/simulated/floor/tiled/rough,/area/engineering)
-"i" = (/obj/machinery/light/spot{dir = 8},/turf/simulated/floor/tiled/rough,/area/engineering)
-"j" = (/obj/structure/ladder/up,/turf/simulated/floor/tiled/rough,/area/engineering)
-"k" = (/obj/machinery/light/spot{dir = 4},/turf/simulated/floor/tiled/rough,/area/engineering)
-"l" = (/obj/effect/landmark/start/crew,/turf/simulated/floor/tiled/rough,/area/engineering)
-"m" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/rough,/area/engineering)
-"n" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 5},/turf/simulated/floor/tiled/rough,/area/engineering)
-"o" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/floor/tiled/rough,/area/engineering)
-"p" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/tiled/rough,/area/engineering)
-"q" = (/obj/machinery/light_switch{on = 1; pixel_x = -25},/obj/machinery/camera{dir = 4},/turf/simulated/floor/tiled/rough,/area/engineering)
-"r" = (/obj/effect/landmark/start/crew/captain,/turf/simulated/floor/tiled/rough,/area/engineering)
-"s" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 6},/turf/simulated/floor/tiled/rough,/area/engineering)
-"t" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/empty,/turf/simulated/floor/tiled/rough,/area/engineering)
-"u" = (/obj/machinery/door/airlock/external/bolted{frequency = 1379; id_tag = "lower_level_dock_hatch"},/turf/simulated/floor,/area/engineering)
-"v" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{id_tag = "lower_level_dock"; pixel_x = -8; pixel_y = -25},/obj/machinery/camera{dir = 1},/turf/simulated/floor,/area/engineering)
-"w" = (/turf/simulated/floor,/area/engineering)
-"x" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/rough,/area/engineering)
-"y" = (/turf/simulated/wall,/area/shuttle/escape)
+"a" = (/turf/simulated/wall/r_wall,/area/engineering/toilet)
+"b" = (/turf/simulated/floor/tiled,/area/engineering/toilet)
+"c" = (/turf/simulated/wall/r_wall,/area/space)
+"d" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/engineering/toilet)
+"f" = (/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled,/area/engineering/toilet)
+"g" = (/turf/simulated/wall,/area/engineering/toilet)
+"h" = (/obj/machinery/light_switch{on = 1; pixel_x = 25},/turf/simulated/floor/tiled,/area/engineering/toilet)
+"i" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled,/area/engineering/toilet)
+"j" = (/obj/structure/ladder/up,/turf/simulated/floor/tiled,/area/engineering/toilet)
+"k" = (/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/engineering/toilet)
+"l" = (/obj/effect/landmark/start/crew,/turf/simulated/floor/tiled,/area/engineering/toilet)
+"m" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled,/area/engineering/toilet)
+"n" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 5},/turf/simulated/floor/tiled,/area/engineering/toilet)
+"o" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/floor/tiled,/area/engineering/toilet)
+"p" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/tiled,/area/engineering/toilet)
+"q" = (/obj/machinery/light_switch{on = 1; pixel_x = -25},/turf/simulated/floor/tiled,/area/engineering/toilet)
+"r" = (/obj/effect/landmark/start,/turf/simulated/floor/tiled,/area/engineering/toilet)
+"s" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 6},/turf/simulated/floor/tiled,/area/engineering/toilet)
+"t" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/empty,/turf/simulated/floor/tiled,/area/engineering/toilet)
+"u" = (/obj/machinery/door/airlock/external/bolted{frequency = 1379; id_tag = "lower_level_dock_hatch"},/turf/simulated/floor,/area/engineering/toilet)
+"v" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{id_tag = "lower_level_dock"; pixel_x = -8; pixel_y = -25},/turf/simulated/floor,/area/engineering/toilet)
+"w" = (/turf/simulated/floor,/area/engineering/toilet)
+"x" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/engineering/toilet)
+"y" = (/turf/simulated/wall/iron,/area/shuttle/escape)
"z" = (/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/shuttle/escape)
"A" = (/obj/machinery/computer/shuttle_control{shuttle_tag = "Example"},/turf/simulated/floor/plating,/area/shuttle/escape)
"B" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/embedded_controller/radio/simple_docking_controller{id_tag = "example_shuttle_starboard"; pixel_x = 28},/obj/machinery/embedded_controller/radio/simple_docking_controller{id_tag = "example_shuttle_port"; pixel_x = -28},/turf/simulated/floor/plating,/area/shuttle/escape)
-"C" = (/obj/machinery/camera{dir = 1},/obj/machinery/light/spot,/turf/simulated/floor/plating,/area/shuttle/escape)
+"C" = (/obj/machinery/light,/turf/simulated/floor/plating,/area/shuttle/escape)
"D" = (/obj/machinery/door/airlock/external/bolted{frequency = 1379; id_tag = "example_shuttle_port_hatch"},/turf/simulated/floor/plating,/area/shuttle/escape)
"E" = (/obj/machinery/door/airlock/external/bolted{frequency = 1379; id_tag = "example_shuttle_starboard_hatch"},/turf/simulated/floor/plating,/area/shuttle/escape)
-"F" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/turf/simulated/floor/tiled/rough,/area/engineering)
-"G" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/rough,/area/engineering)
-"H" = (/obj/structure/cable,/obj/machinery/power/debug_items/infinite_generator,/turf/simulated/floor/tiled/rough,/area/engineering)
-"I" = (/obj/machinery/light/spot,/turf/simulated/floor/tiled/rough,/area/engineering)
+"F" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/turf/simulated/floor/tiled,/area/engineering/toilet)
+"G" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/engineering/toilet)
+"H" = (/obj/structure/cable,/obj/machinery/power/debug_items/infinite_generator,/turf/simulated/floor/tiled,/area/engineering/toilet)
+"I" = (/obj/machinery/light,/turf/simulated/floor/tiled,/area/engineering/toilet)
"J" = (/turf/space,/area/space)
-"K" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/map_ent/trigger_mob{pixel_x = -7; ev_tag = "ent_tp_wv"; tag = "ent_tp_trigger"},/obj/map_ent/func_teleport{pixel_x = 14; ev_dest_tag = "ent_showcase_tp_dest"; tag = "ent_tp_src"},/obj/map_ent/func_write_var{pixel_y = 9; ev_activate_writer = 1; ev_read_tag = "ent_tp_trigger"; ev_table = list("ev_tag"="ev_triggered"); ev_write_tag = "ent_tp_src"; tag = "ent_tp_wv"},/turf/simulated/floor/tiled/rough,/area/engineering)
-"L" = (/obj/machinery/camera{dir = 8},/turf/simulated/floor/tiled/rough,/area/engineering)
-"P" = (/obj/map_ent/info_maptext{ev_text = "Map entities showcase"},/turf/simulated/floor/tiled/rough,/area/engineering)
-"R" = (/obj/structure/stairs/south,/turf/simulated/floor/tiled/rough,/area/engineering)
-"U" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/camera,/obj/machinery/light/spot{dir = 1},/turf/simulated/floor/tiled/rough,/area/engineering)
-"X" = (/obj/effect/landmark/joinlate,/turf/simulated/floor/tiled/rough,/area/engineering)
-"Z" = (/obj/effect/landmark/start,/turf/simulated/floor/tiled/rough,/area/engineering)
+"K" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/map_ent/trigger_mob{pixel_x = -7; ev_tag = "ent_tp_wv"; tag = "ent_tp_trigger"},/obj/map_ent/func_teleport{pixel_x = 14; ev_dest_tag = "ent_showcase_tp_dest"; tag = "ent_tp_src"},/obj/map_ent/func_write_var{pixel_y = 9; ev_activate_writer = 1; ev_read_tag = "ent_tp_trigger"; ev_table = list("ev_tag"="ev_triggered"); ev_write_tag = "ent_tp_src"; tag = "ent_tp_wv"},/turf/simulated/floor/tiled,/area/engineering/toilet)
+"P" = (/obj/map_ent/info_maptext{ev_text = "Map entities showcase"},/turf/simulated/floor/tiled,/area/engineering/toilet)
+"X" = (/obj/effect/landmark/joinlate,/turf/simulated/floor/tiled,/area/engineering/toilet)
(1,1,1) = {"
JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
@@ -51,23 +46,23 @@ JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
-JJJJJJJJJJJJJJJJaaaaaaaaaaaaaaaaaJJJJJJJJJJJJJJJ
-JJJJJJJJJJJJJJJJaaaaaaaaaaaaaaaaaJJJJJJJJJJJJJJJ
-JJJJJJJJJJJJJJJJaacccdccbccdcccaaJJJJJJJJJJJJJJJ
-JJJJJJJJJJJJJJJJaacccccfgfcccccaaJJJJJJJJJJJJJJJ
-JJJJJJJJJJJJJJJJaacccccfUfcccchaaJJJJJJJJJJJJJJJ
-JJJJJJJJJJJJJJJJaaicccjfffcccckaaJJJJJJJJJJJJJJJ
-JJJJJJJJJJJJJJJJaaccccccccccmccaaJJJJJJJJJJJJJJJ
-JJJJJJJJJJJJyyyJaaccccccXcccnopaaJJJJJJJJJJJJJJJ
-JJJJJJJJJJJJzAzaaaqccccZrlccccLaaJJJJJJJJJJJJJJJ
-JJJJJJJJJJJJzBzaaaccccccccccsotaaJJJJJJJJJJJJJJJ
-JJJJJJJJJJJJDCEuvwccccccccccxccaaJJJJJJJJJJJJJJJ
-JJJJJJJJJJJJyyyaaaiccccccccccckaaJJJJJJJJJJJJJJJ
-JJJJJJJJJJJJJJJaaaFccccccccccccaaJJJJJJJJJJJJJJJ
-JJJJJJJJJJJJJJJJaaGcccccPccccccaaJJJJJJJJJJJJJJJ
-JJJJJJJJJJJJJJJJaaHccIceKccIccRaaJJJJJJJJJJJJJJJ
-JJJJJJJJJJJJJJJJaaaaaaaaaaaaaaaaaJJJJJJJJJJJJJJJ
-JJJJJJJJJJJJJJJJaaaaaaaaaaaaaaaaaJJJJJJJJJJJJJJJ
+JJJJJJJJJJJJJJJJcccccccccccccccccJJJJJJJJJJJJJJJ
+JJJJJJJJJJJJJJJJcaaaaaaaaaaaaaaacJJJJJJJJJJJJJJJ
+JJJJJJJJJJJJJJJJcabbbdbbbbbdbbbacJJJJJJJJJJJJJJJ
+JJJJJJJJJJJJJJJJcabbbbbfgfbbbbbacJJJJJJJJJJJJJJJ
+JJJJJJJJJJJJJJJJcabbbbbfffbbbbhacJJJJJJJJJJJJJJJ
+JJJJJJJJJJJJJJJJcaibbbjfffbbbbkacJJJJJJJJJJJJJJJ
+JJJJJJJJJJJJJJJJcabbbbbbbbbbmbbacJJJJJJJJJJJJJJJ
+JJJJJJJJJJJJyyyJcabbbbbbXbbbnopacJJJJJJJJJJJJJJJ
+JJJJJJJJJJJJzAzccaqbbbbbrlbbbbbacJJJJJJJJJJJJJJJ
+JJJJJJJJJJJJzBzaaabbbbbbbbbbsotacJJJJJJJJJJJJJJJ
+JJJJJJJJJJJJDCEuvwbbbbbbbbbbxbbacJJJJJJJJJJJJJJJ
+JJJJJJJJJJJJyyyaaaibbbbbbbbbbbkacJJJJJJJJJJJJJJJ
+JJJJJJJJJJJJJJJccaFbbbbbbbbbbbbacJJJJJJJJJJJJJJJ
+JJJJJJJJJJJJJJJJcaGbbbbbPbbbbbbacJJJJJJJJJJJJJJJ
+JJJJJJJJJJJJJJJJcaHbbIbbKbbIbbbacJJJJJJJJJJJJJJJ
+JJJJJJJJJJJJJJJJcaaaaaaaaaaaaaaacJJJJJJJJJJJJJJJ
+JJJJJJJJJJJJJJJJcccccccccccccccccJJJJJJJJJJJJJJJ
JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
diff --git a/maps/example/example-2.dmm b/maps/example/example-2.dmm
index 9dc8594a17a..715716f36f8 100644
--- a/maps/example/example-2.dmm
+++ b/maps/example/example-2.dmm
@@ -1,95 +1,84 @@
-"aK" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/machinery/computer/operating,/turf/simulated/floor/tiled/white/rough,/area/medical/medbay)
-"aU" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/machinery/light/spot,/turf/simulated/floor/tiled/white/rough,/area/medical/medbay)
-"cK" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/machinery/atmospherics/unary/cryo_cell,/obj/structure/railing/steel{dir = 1},/turf/simulated/floor/tiled/white/rough,/area/medical/medbay)
-"dR" = (/obj/effect/floor_decal/corner/blue/diagonal,/turf/simulated/floor/tiled/white/rough,/area/medical/medbay)
-"eH" = (/turf/simulated/floor/tiled/dark/rough,/area/medical/medbay)
-"eZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/corner/blue/diagonal,/turf/simulated/floor/tiled/white/rough,/area/medical/medbay)
-"fq" = (/obj/machinery/light_switch{on = 1; pixel_x = -25},/obj/effect/floor_decal/corner/blue/diagonal,/turf/simulated/floor/tiled/white/rough,/area/medical/medbay)
-"gA" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/machinery/camera{dir = 8},/turf/simulated/floor/tiled/white/rough,/area/medical/medbay)
-"hq" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/machinery/organ_printer/flesh/mapped,/turf/simulated/floor/tiled/white/rough,/area/medical/medbay)
-"im" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/structure/table/glass,/obj/item/storage/firstaid/surgery,/turf/simulated/floor/tiled/white/rough,/area/medical/medbay)
-"iL" = (/obj/effect/floor_decal/corner/blue/diagonal,/turf/simulated/floor/tiled/white,/area/medical/medbay)
-"jG" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/structure/mirror,/obj/machinery/light/spot{dir = 8},/turf/simulated/floor/tiled/white/rough,/area/medical/medbay)
-"kv" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/machinery/atmospherics/unary/freezer,/obj/structure/railing/steel{dir = 1},/turf/simulated/floor/tiled/white/rough,/area/medical/medbay)
-"kw" = (/obj/machinery/atmospherics/pipe/simple/visible{icon_state = "intact"; dir = 6},/obj/effect/floor_decal/corner/blue/diagonal,/turf/simulated/floor/tiled/white/rough,/area/medical/medbay)
-"lT" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/structure/table/rack,/obj/item/stack/material/plasteel/fifty,/obj/item/stack/material/steel/fifty,/obj/item/stack/material/glass/fifty,/obj/item/stack/material/gold/ten,/obj/item/stack/material/mhydrogen/ten,/obj/item/stack/material/silver/ten,/obj/item/stack/material/uranium/ten,/obj/item/stack/material/diamond/ten,/obj/item/stack/material/plasma/fifty,/obj/item/storage/belt/utility/full,/obj/item/stack/material/steel/fifty,/turf/simulated/floor/tiled/white/rough,/area/medical/medbay)
-"mX" = (/obj/effect/floor_decal/corner/red{dir = 10},/turf/simulated/floor/tiled/dark/rough,/area/medical/medbay)
-"op" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/machinery/light/spot{dir = 4},/turf/simulated/floor/tiled/white/rough,/area/medical/medbay)
-"oO" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/machinery/bodyscanner{icon_state = "body_scanner_0"; dir = 4},/turf/simulated/floor/tiled/white/rough,/area/medical/medbay)
-"qm" = (/turf/space,/area/space)
-"su" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/machinery/mecha_part_fabricator,/turf/simulated/floor/tiled/white,/area/medical/medbay)
-"sF" = (/obj/machinery/atmospherics/portables_connector{icon_state = "map_connector"; dir = 8},/obj/machinery/portable_atmospherics/canister/empty,/obj/effect/floor_decal/corner/blue/diagonal,/turf/simulated/floor/tiled/white/rough,/area/medical/medbay)
-"tz" = (/obj/effect/floor_decal/corner/red{dir = 9},/turf/simulated/floor/tiled/dark/rough,/area/medical/medbay)
-"uG" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{icon_state = "map_scrubber_on"; dir = 1},/obj/effect/floor_decal/corner/blue/diagonal,/turf/simulated/floor/tiled/white/rough,/area/medical/medbay)
-"vo" = (/obj/machinery/atmospherics/pipe/simple/visible{icon_state = "intact"; dir = 4},/obj/effect/floor_decal/corner/blue/diagonal,/turf/simulated/floor/tiled/white/rough,/area/medical/medbay)
-"vC" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/structure/table/glass,/obj/item/card/id/all_access,/obj/item/card/id/all_access,/obj/item/card/id/all_access,/turf/simulated/floor/tiled/white/rough,/area/medical/medbay)
-"wr" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/structure/ladder/updown,/turf/simulated/floor/tiled/white/rough,/area/medical/medbay)
-"wG" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/structure/table/glass,/obj/item/storage/box/gloves,/obj/item/storage/box/masks,/turf/simulated/floor/tiled/white/rough,/area/medical/medbay)
-"wM" = (/obj/machinery/light_switch{on = 1; pixel_x = 25},/turf/simulated/floor/tiled/dark/rough,/area/medical/medbay)
-"yh" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/machinery/camera{dir = 1},/turf/simulated/floor/tiled/white/rough,/area/medical/medbay)
-"zX" = (/obj/structure/cable,/obj/machinery/power/debug_items/infinite_generator,/obj/effect/floor_decal/corner/blue/diagonal,/turf/simulated/floor/tiled/white/rough,/area/medical/medbay)
-"Ae" = (/turf/simulated/wall/r_wall,/area/medical/medbay)
-"AN" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/corner/blue/diagonal,/turf/simulated/floor/tiled/white/rough,/area/medical/medbay)
-"BH" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/machinery/atmospherics/pipe/manifold/visible/blue,/obj/item/reagent_containers/vessel/beaker/cryoxadone,/turf/simulated/floor/tiled/white/rough,/area/medical/medbay)
-"CC" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/machinery/atmospherics/pipe/simple/visible/blue{icon_state = "intact"; dir = 9},/turf/simulated/floor/tiled/white/rough,/area/medical/medbay)
-"Dp" = (/obj/effect/landmark/map_data{height = 2},/turf/space,/area/space)
-"FQ" = (/obj/structure/lattice,/turf/simulated/open,/area/medical/medbay)
-"Gk" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/structure/railing/steel,/turf/simulated/floor/tiled/white/rough,/area/medical/medbay)
-"GM" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/structure/stairs/north,/turf/simulated/floor/tiled/white/rough,/area/medical/medbay)
-"Hh" = (/obj/effect/floor_decal/corner/red{dir = 6},/turf/simulated/floor/tiled/dark/rough,/area/medical/medbay)
-"Id" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/machinery/body_scanconsole{icon_state = "body_scannerconsole"; dir = 4},/turf/simulated/floor/tiled/white/rough,/area/medical/medbay)
-"Ix" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/structure/closet/secure_closet/freezer/meat,/turf/simulated/floor/tiled/white/rough,/area/medical/medbay)
-"Iz" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/machinery/light/spot{dir = 1},/turf/simulated/floor/tiled/white/rough,/area/medical/medbay)
-"Je" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/structure/railing/steel{dir = 8},/turf/simulated/floor/tiled/white/rough,/area/medical/medbay)
-"JE" = (/turf/simulated/open,/area/medical/medbay)
-"JY" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/structure/sink{icon_state = "sink"; dir = 4},/obj/structure/railing/steel{dir = 4},/turf/simulated/floor/tiled/white/rough,/area/medical/medbay)
-"Kz" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/structure/table/glass,/obj/item/scalpel/laser1,/obj/item/scalpel/laser2,/obj/item/scalpel/laser3,/obj/item/device/robotanalyzer,/obj/item/device/healthanalyzer,/obj/item/storage/firstaid/adv,/turf/simulated/floor/tiled/white/rough,/area/medical/medbay)
-"KC" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/machinery/organ_printer/robot/mapped,/obj/machinery/camera{dir = 4},/turf/simulated/floor/tiled/white/rough,/area/medical/medbay)
-"RG" = (/obj/machinery/atmospherics/portables_connector{icon_state = "map_connector"; dir = 8},/obj/machinery/portable_atmospherics/canister/air,/obj/effect/floor_decal/corner/blue/diagonal,/turf/simulated/floor/tiled/white/rough,/area/medical/medbay)
-"SE" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/effect/floor_decal/corner/blue/diagonal,/turf/simulated/floor/tiled/white/rough,/area/medical/medbay)
-"Tv" = (/obj/effect/floor_decal/corner/red{dir = 5},/turf/simulated/floor/tiled/dark/rough,/area/medical/medbay)
-"TF" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/machinery/sleeper{icon_state = "sleeper_0"; dir = 8},/obj/structure/railing/steel{dir = 4},/turf/simulated/floor/tiled/white/rough,/area/medical/medbay)
-"Un" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/machinery/optable,/obj/machinery/oxygen_pump/anesthetic{pixel_y = 32},/turf/simulated/floor/tiled/white/rough,/area/medical/medbay)
-"UX" = (/obj/structure/lattice,/obj/machinery/camera,/turf/simulated/open,/area/medical/medbay)
-"Vl" = (/obj/machinery/atmospherics/pipe/simple/visible{icon_state = "intact"; dir = 5},/obj/effect/floor_decal/corner/blue/diagonal,/turf/simulated/floor/tiled/white/rough,/area/medical/medbay)
-"VK" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/machinery/atmospherics/pipe/simple/visible/blue{icon_state = "intact"; dir = 5},/turf/simulated/floor/tiled/white/rough,/area/medical/medbay)
-"Wj" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/structure/iv_drip,/obj/item/reagent_containers/ivbag/blood/OMinus,/obj/item/reagent_containers/ivbag/blood/OMinus,/obj/item/reagent_containers/ivbag/blood/OMinus,/turf/simulated/floor/tiled/white/rough,/area/medical/medbay)
-"Xk" = (/mob/living/carbon/human/dummy,/obj/effect/floor_decal/bot_red,/turf/simulated/floor/tiled/dark/rough,/area/medical/medbay)
-"Yk" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/structure/table/glass,/obj/item/reagent_containers/dropper,/obj/item/reagent_containers/chem_disp_cartridge/peridaxon,/obj/item/stack/nanopaste,/obj/machinery/light/spot{dir = 8},/turf/simulated/floor/tiled/white/rough,/area/medical/medbay)
-"YD" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/structure/table/glass,/obj/item/storage/box/syringes,/obj/item/storage/box/freezer,/obj/machinery/light/spot{dir = 1},/turf/simulated/floor/tiled/white/rough,/area/medical/medbay)
-"Zg" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/machinery/portable_atmospherics/canister/oxygen/prechilled,/obj/machinery/atmospherics/portables_connector,/obj/structure/railing/steel{dir = 1},/turf/simulated/floor/tiled/white/rough,/area/medical/medbay)
+"a" = (/turf/space,/area/space)
+"b" = (/obj/effect/landmark/map_data{height = 2},/turf/space,/area/space)
+"c" = (/turf/simulated/wall/r_wall,/area/space)
+"d" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/structure/iv_drip,/obj/item/reagent_containers/ivbag/blood/OMinus,/obj/item/reagent_containers/ivbag/blood/OMinus,/obj/item/reagent_containers/ivbag/blood/OMinus,/turf/simulated/floor/tiled/white,/area/medical/surgery)
+"e" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/machinery/optable,/obj/machinery/oxygen_pump/anesthetic{pixel_y = 32},/turf/simulated/floor/tiled/white,/area/medical/surgery)
+"f" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/machinery/computer/operating,/turf/simulated/floor/tiled/white,/area/medical/surgery)
+"g" = (/obj/machinery/light{dir = 1},/obj/effect/floor_decal/corner/blue/diagonal,/obj/structure/table/glass,/obj/item/storage/box/syringes,/obj/item/storage/box/freezer,/turf/simulated/floor/tiled/white,/area/medical/surgery)
+"h" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/structure/table/glass,/obj/item/storage/box/gloves,/obj/item/storage/box/masks,/turf/simulated/floor/tiled/white,/area/medical/surgery)
+"i" = (/obj/effect/floor_decal/corner/blue/diagonal,/turf/simulated/floor/tiled/white,/area/medical/surgery)
+"j" = (/obj/structure/lattice,/turf/simulated/open,/area/medical/surgery)
+"k" = (/obj/machinery/light{dir = 1},/obj/effect/floor_decal/corner/blue/diagonal,/turf/simulated/floor/tiled/white,/area/medical/surgery)
+"l" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/structure/table/glass,/obj/item/storage/firstaid/surgery,/turf/simulated/floor/tiled/white,/area/medical/surgery)
+"m" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/structure/sink{icon_state = "sink"; dir = 4},/turf/simulated/floor/tiled/white,/area/medical/surgery)
+"n" = (/turf/simulated/open,/area/medical/surgery)
+"o" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/structure/table/glass,/obj/item/reagent_containers/dropper,/obj/item/reagent_containers/chem_disp_cartridge/peridaxon,/obj/item/stack/nanopaste,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled/white,/area/medical/surgery)
+"p" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/machinery/body_scanconsole{icon_state = "body_scannerconsole"; dir = 4},/turf/simulated/floor/tiled/white,/area/medical/surgery)
+"q" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/machinery/bodyscanner{icon_state = "body_scanner_0"; dir = 4},/turf/simulated/floor/tiled/white,/area/medical/surgery)
+"r" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/machinery/sleeper{icon_state = "sleeper_0"; dir = 8},/turf/simulated/floor/tiled/white,/area/medical/surgery)
+"s" = (/obj/machinery/light_switch{on = 1; pixel_x = 25},/obj/effect/floor_decal/corner/blue/diagonal,/turf/simulated/floor/tiled/white,/area/medical/surgery)
+"t" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/structure/table/glass,/obj/item/scalpel/laser1,/obj/item/scalpel/laser2,/obj/item/scalpel/laser3,/obj/item/device/robotanalyzer,/obj/item/device/healthanalyzer,/obj/item/storage/firstaid/adv,/turf/simulated/floor/tiled/white,/area/medical/surgery)
+"u" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/structure/ladder/updown,/turf/simulated/floor/tiled/white,/area/medical/surgery)
+"v" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/machinery/atmospherics/unary/freezer,/turf/simulated/floor/tiled/white,/area/medical/surgery)
+"w" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/machinery/atmospherics/unary/cryo_cell,/turf/simulated/floor/tiled/white,/area/medical/surgery)
+"x" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/machinery/portable_atmospherics/canister/oxygen/prechilled,/obj/machinery/atmospherics/portables_connector,/turf/simulated/floor/tiled/white,/area/medical/surgery)
+"y" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled/white,/area/medical/surgery)
+"z" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/structure/closet/secure_closet/freezer/meat,/turf/simulated/floor/tiled/white,/area/medical/surgery)
+"A" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/machinery/mecha_part_fabricator,/turf/simulated/floor/tiled/white,/area/medical/surgery)
+"B" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/machinery/atmospherics/pipe/simple/visible/blue{icon_state = "intact"; dir = 5},/turf/simulated/floor/tiled/white,/area/medical/surgery)
+"C" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/machinery/atmospherics/pipe/manifold/visible/blue,/obj/item/reagent_containers/vessel/beaker/cryoxadone,/turf/simulated/floor/tiled/white,/area/medical/surgery)
+"D" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/machinery/atmospherics/pipe/simple/visible/blue{icon_state = "intact"; dir = 9},/turf/simulated/floor/tiled/white,/area/medical/surgery)
+"E" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/corner/blue/diagonal,/turf/simulated/floor/tiled/white,/area/medical/surgery)
+"F" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/machinery/organ_printer/flesh/mapped,/turf/simulated/floor/tiled/white,/area/medical/surgery)
+"G" = (/obj/machinery/atmospherics/pipe/simple/visible{icon_state = "intact"; dir = 5},/obj/effect/floor_decal/corner/blue/diagonal,/turf/simulated/floor/tiled/white,/area/medical/surgery)
+"H" = (/obj/machinery/atmospherics/pipe/simple/visible{icon_state = "intact"; dir = 4},/obj/effect/floor_decal/corner/blue/diagonal,/turf/simulated/floor/tiled/white,/area/medical/surgery)
+"I" = (/obj/machinery/atmospherics/portables_connector{icon_state = "map_connector"; dir = 8},/obj/machinery/portable_atmospherics/canister/air,/obj/effect/floor_decal/corner/blue/diagonal,/turf/simulated/floor/tiled/white,/area/medical/surgery)
+"J" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/machinery/organ_printer/robot/mapped,/turf/simulated/floor/tiled/white,/area/medical/surgery)
+"K" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/structure/table/rack,/obj/item/stack/material/plasteel/fifty,/obj/item/stack/material/steel/fifty,/obj/item/stack/material/glass/fifty,/obj/item/stack/material/gold/ten,/obj/item/stack/material/mhydrogen/ten,/obj/item/stack/material/silver/ten,/obj/item/stack/material/uranium/ten,/obj/item/stack/material/diamond/ten,/obj/item/stack/material/plasma/fifty,/obj/item/storage/belt/utility/full,/obj/item/stack/material/steel/fifty,/turf/simulated/floor/tiled/white,/area/medical/surgery)
+"L" = (/obj/machinery/atmospherics/pipe/simple/visible{icon_state = "intact"; dir = 6},/obj/effect/floor_decal/corner/blue/diagonal,/turf/simulated/floor/tiled/white,/area/medical/surgery)
+"M" = (/obj/machinery/atmospherics/portables_connector{icon_state = "map_connector"; dir = 8},/obj/machinery/portable_atmospherics/canister/empty,/obj/effect/floor_decal/corner/blue/diagonal,/turf/simulated/floor/tiled/white,/area/medical/surgery)
+"N" = (/obj/machinery/light_switch{on = 1; pixel_x = -25},/obj/effect/floor_decal/corner/blue/diagonal,/turf/simulated/floor/tiled/white,/area/medical/surgery)
+"O" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{icon_state = "map_scrubber_on"; dir = 1},/obj/effect/floor_decal/corner/blue/diagonal,/turf/simulated/floor/tiled/white,/area/medical/surgery)
+"P" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/effect/floor_decal/corner/blue/diagonal,/turf/simulated/floor/tiled/white,/area/medical/surgery)
+"Q" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/effect/floor_decal/corner/blue/diagonal,/turf/simulated/floor/tiled/white,/area/medical/surgery)
+"R" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/structure/table/glass,/obj/item/card/id/all_access,/obj/item/card/id/all_access,/obj/item/card/id/all_access,/turf/simulated/floor/tiled/white,/area/medical/surgery)
+"S" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/turf/simulated/floor,/area/medical/surgery)
+"T" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor,/area/medical/surgery)
+"U" = (/obj/machinery/light,/obj/effect/floor_decal/corner/blue/diagonal,/turf/simulated/floor/tiled/white,/area/medical/surgery)
+"V" = (/obj/structure/cable,/obj/machinery/power/debug_items/infinite_generator,/turf/simulated/floor,/area/medical/surgery)
+"W" = (/turf/simulated/wall/r_wall,/area/medical/surgery)
(1,1,1) = {"
-qmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqm
-qmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqm
-qmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqm
-qmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqm
-qmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqm
-qmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqm
-qmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqm
-qmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqm
-qmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmAeAeAeAeAeAeAeAeAeAeAeAeAeAeAeAeAeqmqmqmqmqmqmqmqmqmqmqmqmqmqmqm
-qmqmqmqmqmqmqmqmqmqmqmqmqmDpqmqmAeAeAeAeAeAeAeAeAeAeAeAeAeAeAeAeAeqmqmqmqmqmqmqmqmqmqmqmqmqmqmqm
-qmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmAeAeWjUnaKYDwGGkUXGkdRIzeHmXeHAeAeqmqmqmqmqmqmqmqmqmqmqmqmqmqmqm
-qmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmAeAeimdRdRdRJYFQFQFQJedRHhXktzAeAeqmqmqmqmqmqmqmqmqmqmqmqmqmqmqm
-qmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmAeAeYkIdoOdRTFJEJEJEJedReHTvwMAeAeqmqmqmqmqmqmqmqmqmqmqmqmqmqmqm
-qmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmAeAeKzdRdRdRwrkvcKZgdRdRdRdRopAeAeqmqmqmqmqmqmqmqmqmqmqmqmqmqmqm
-qmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmAeAeIxdRsudRdRVKBHCCdRdRANdRdRAeAeqmqmqmqmqmqmqmqmqmqmqmqmqmqmqm
-qmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmAeAehqdRdRdRdRdRdRdRdRdRVlvoRGAeAeqmqmqmqmqmqmqmqmqmqmqmqmqmqmqm
-qmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmAeAeKCdRlTdRdRdRdRdRdRdRdRdRgAAeAeqmqmqmqmqmqmqmqmqmqmqmqmqmqmqm
-qmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmAeAevCdRdRdRdRdRdRiLiLdRkwvosFAeAeqmqmqmqmqmqmqmqmqmqmqmqmqmqmqm
-qmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmAeAefqdRdRdRdRdRdRdRdRdRuGdRdRAeAeqmqmqmqmqmqmqmqmqmqmqmqmqmqmqm
-qmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmAeAejGdRdRdRdRdRdRdRdRdRdRdRopAeAeqmqmqmqmqmqmqmqmqmqmqmqmqmqmqm
-qmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmAeAeSEdRdRdRdRdRdRdRdRdRdRdRdRAeAeqmqmqmqmqmqmqmqmqmqmqmqmqmqmqm
-qmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmAeAeeZdRdRdRdRdRdRdRdRdRdRGMJEAeAeqmqmqmqmqmqmqmqmqmqmqmqmqmqmqm
-qmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmAeAezXdRdRaUdRdRyhdRdRaUdRdRJEAeAeqmqmqmqmqmqmqmqmqmqmqmqmqmqmqm
-qmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmAeAeAeAeAeAeAeAeAeAeAeAeAeAeAeAeAeqmqmqmqmqmqmqmqmqmqmqmqmqmqmqm
-qmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmAeAeAeAeAeAeAeAeAeAeAeAeAeAeAeAeAeqmqmqmqmqmqmqmqmqmqmqmqmqmqmqm
-qmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqm
-qmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqm
-qmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqm
-qmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqm
-qmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqm
-qmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqm
-qmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqmqm
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaacccccccccccccccccaaaaaaaaaaaaaaa
+aaaaaaaaaaaaabaacWWWWWWWWWWWWWWWcaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaacWdefghijiikiiiWcaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaacWliiimjjniiiiiWcaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaacWopqirnnniiiisWcaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaacWtiiiuvwxiiiiyWcaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaacWziAiiBCDiiEiiWcaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaacWFiiiiiiiiiGHIWcaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaacWJiKiiiiiiiiiiWcaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaacWRiiiiiiiiiLHMWcaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaacWNiiiiiiiiiOiiWcaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaacWPiiiiiiiiiiiQWcaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaacWSiiiiiiiiiiiiWcaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaacWTiiiiiiiiiiiiWcaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaacWViiUiiiiiUiiiWcaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaacWWWWWWWWWWWWWWWcaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaacccccccccccccccccaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
"}
diff --git a/maps/example/example-3.dmm b/maps/example/example-3.dmm
index 210f436b33d..599eea8b2da 100644
--- a/maps/example/example-3.dmm
+++ b/maps/example/example-3.dmm
@@ -1,43 +1,36 @@
"a" = (/turf/space,/area/space)
"b" = (/obj/effect/landmark/map_data{height = 2},/turf/space,/area/space)
-"c" = (/turf/simulated/wall/r_wall,/area/rnd/research)
-"d" = (/turf/simulated/floor/tiled/rough,/area/rnd/research)
-"e" = (/obj/machinery/light/spot{dir = 1},/turf/simulated/floor/tiled/rough,/area/rnd/research)
-"f" = (/obj/structure/lattice,/turf/simulated/open,/area/rnd/research)
-"g" = (/turf/simulated/open,/area/rnd/research)
-"h" = (/obj/machinery/light_switch{on = 1; pixel_x = 25},/turf/simulated/floor/tiled/rough,/area/rnd/research)
+"c" = (/turf/simulated/wall/r_wall,/area/space)
+"d" = (/obj/effect/floor_decal/corner/blue/diagonal,/turf/simulated/floor/tiled,/area/maintenance/fsmaint2)
+"e" = (/obj/machinery/light{dir = 1},/obj/effect/floor_decal/corner/blue/diagonal,/turf/simulated/floor/tiled,/area/maintenance/fsmaint2)
+"f" = (/obj/structure/lattice,/turf/simulated/open,/area/maintenance/fsmaint2)
+"g" = (/turf/simulated/open,/area/maintenance/fsmaint2)
+"h" = (/obj/machinery/light_switch{on = 1; pixel_x = 25},/obj/effect/floor_decal/corner/blue/diagonal,/turf/simulated/floor/tiled,/area/maintenance/fsmaint2)
"i" = (/obj/effect/shuttle_landmark/upper_level,/turf/space,/area/space)
-"j" = (/obj/machinery/camera{dir = 1},/turf/simulated/floor/tiled/rough,/area/rnd/research)
-"k" = (/obj/structure/ladder,/obj/structure/railing/steel{dir = 4},/turf/simulated/floor/tiled/rough,/area/rnd/research)
-"l" = (/obj/machinery/camera,/turf/simulated/floor,/area/rnd/research)
-"m" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{id_tag = "upper_level_dock"; pixel_x = 8; pixel_y = -25},/turf/simulated/floor,/area/rnd/research)
-"n" = (/obj/machinery/door/airlock/external/bolted{frequency = 1379},/turf/simulated/floor,/area/rnd/research)
-"o" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/rough,/area/rnd/research)
-"p" = (/obj/machinery/light/spot{dir = 4},/turf/simulated/floor/tiled/rough,/area/rnd/research)
-"q" = (/obj/machinery/atmospherics/pipe/simple/visible{icon_state = "intact"; dir = 5},/turf/simulated/floor/tiled/rough,/area/rnd/research)
-"r" = (/obj/machinery/atmospherics/pipe/simple/visible{icon_state = "intact"; dir = 4},/turf/simulated/floor/tiled/rough,/area/rnd/research)
-"s" = (/obj/machinery/atmospherics/portables_connector{icon_state = "map_connector"; dir = 8},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/tiled/rough,/area/rnd/research)
-"t" = (/obj/machinery/atmospherics/pipe/simple/visible{icon_state = "intact"; dir = 6},/turf/simulated/floor/tiled/rough,/area/rnd/research)
-"u" = (/obj/machinery/atmospherics/portables_connector{icon_state = "map_connector"; dir = 8},/obj/machinery/portable_atmospherics/canister/empty,/turf/simulated/floor/tiled/rough,/area/rnd/research)
-"v" = (/obj/machinery/light_switch{on = 1; pixel_x = -25},/turf/simulated/floor/tiled/rough,/area/rnd/research)
-"w" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{icon_state = "map_scrubber_on"; dir = 1},/turf/simulated/floor/tiled/rough,/area/rnd/research)
-"x" = (/obj/structure/railing/steel{dir = 1},/turf/simulated/floor/tiled/rough,/area/rnd/research)
-"y" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/turf/simulated/floor/tiled/rough,/area/rnd/research)
-"z" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled/rough,/area/rnd/research)
-"A" = (/obj/structure/cable,/obj/machinery/power/debug_items/infinite_generator,/turf/simulated/floor/tiled/rough,/area/rnd/research)
-"B" = (/obj/machinery/light/spot,/turf/simulated/floor/tiled/rough,/area/rnd/research)
-"C" = (/obj/machinery/light/spot{dir = 8},/turf/simulated/floor/tiled/rough,/area/rnd/research)
-"D" = (/obj/structure/window_frame/rglass,/obj/machinery/light/spot{dir = 1},/turf/simulated/floor,/area/rnd/research)
-"E" = (/obj/structure/window_frame/rglass,/turf/simulated/floor,/area/rnd/research)
-"F" = (/obj/machinery/camera{dir = 4},/turf/simulated/floor/tiled/rough,/area/rnd/research)
-"G" = (/obj/machinery/door/airlock/glass,/turf/simulated/floor/tiled/rough,/area/rnd/research)
-"H" = (/obj/structure/railing/steel{dir = 4},/turf/simulated/floor/tiled/rough,/area/rnd/research)
-"I" = (/obj/machinery/camera{dir = 4},/turf/space,/area/rnd/research)
-"P" = (/obj/machinery/camera{dir = 8},/turf/simulated/floor/tiled/rough,/area/rnd/research)
-"R" = (/obj/structure/lattice,/obj/machinery/camera,/turf/simulated/open,/area/rnd/research)
-"T" = (/turf/simulated/floor,/area/rnd/research)
-"Y" = (/obj/structure/railing/steel{dir = 8},/turf/simulated/floor/tiled/rough,/area/rnd/research)
-"Z" = (/obj/structure/railing/steel,/turf/simulated/floor/tiled/rough,/area/rnd/research)
+"j" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/effect/floor_decal/corner/blue/diagonal,/turf/simulated/floor/tiled,/area/maintenance/fsmaint2)
+"k" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/structure/ladder,/turf/simulated/floor/tiled,/area/maintenance/fsmaint2)
+"l" = (/turf/simulated/floor,/area/maintenance/fsmaint2)
+"m" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{id_tag = "upper_level_dock"; pixel_x = 8; pixel_y = -25},/turf/simulated/floor,/area/maintenance/fsmaint2)
+"n" = (/obj/machinery/door/airlock/external/bolted{frequency = 1379},/turf/simulated/floor,/area/maintenance/fsmaint2)
+"o" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/corner/blue/diagonal,/turf/simulated/floor/tiled,/area/maintenance/fsmaint2)
+"p" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled,/area/maintenance/fsmaint2)
+"q" = (/obj/machinery/atmospherics/pipe/simple/visible{icon_state = "intact"; dir = 5},/obj/effect/floor_decal/corner/blue/diagonal,/turf/simulated/floor/tiled,/area/maintenance/fsmaint2)
+"r" = (/obj/machinery/atmospherics/pipe/simple/visible{icon_state = "intact"; dir = 4},/obj/effect/floor_decal/corner/blue/diagonal,/turf/simulated/floor/tiled,/area/maintenance/fsmaint2)
+"s" = (/obj/machinery/atmospherics/portables_connector{icon_state = "map_connector"; dir = 8},/obj/machinery/portable_atmospherics/canister/air,/obj/effect/floor_decal/corner/blue/diagonal,/turf/simulated/floor/tiled,/area/maintenance/fsmaint2)
+"t" = (/obj/machinery/atmospherics/pipe/simple/visible{icon_state = "intact"; dir = 6},/obj/effect/floor_decal/corner/blue/diagonal,/turf/simulated/floor/tiled,/area/maintenance/fsmaint2)
+"u" = (/obj/machinery/atmospherics/portables_connector{icon_state = "map_connector"; dir = 8},/obj/machinery/portable_atmospherics/canister/empty,/obj/effect/floor_decal/corner/blue/diagonal,/turf/simulated/floor/tiled,/area/maintenance/fsmaint2)
+"v" = (/obj/machinery/light_switch{on = 1; pixel_x = -25},/obj/effect/floor_decal/corner/blue/diagonal,/turf/simulated/floor/tiled,/area/maintenance/fsmaint2)
+"w" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{icon_state = "map_scrubber_on"; dir = 1},/obj/effect/floor_decal/corner/blue/diagonal,/turf/simulated/floor/tiled,/area/maintenance/fsmaint2)
+"x" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/effect/floor_decal/corner/blue/diagonal,/turf/simulated/floor/tiled,/area/maintenance/fsmaint2)
+"y" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/effect/floor_decal/corner/blue/diagonal,/turf/simulated/floor/tiled,/area/maintenance/fsmaint2)
+"z" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/effect/floor_decal/corner/blue/diagonal,/turf/simulated/floor/tiled,/area/maintenance/fsmaint2)
+"A" = (/obj/structure/cable,/obj/machinery/power/debug_items/infinite_generator,/obj/effect/floor_decal/corner/blue/diagonal,/turf/simulated/floor/tiled,/area/maintenance/fsmaint2)
+"B" = (/obj/machinery/light,/obj/effect/floor_decal/corner/blue/diagonal,/turf/simulated/floor/tiled,/area/maintenance/fsmaint2)
+"C" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/effect/floor_decal/industrial/hatch/blue,/turf/simulated/floor/tiled,/area/outpost/research/analysis{has_gravity = 0})
+"D" = (/obj/machinery/light{dir = 1},/obj/effect/floor_decal/corner/blue/diagonal,/obj/structure/window/reinforced/full,/turf/simulated/floor/tiled,/area/maintenance/fsmaint2)
+"E" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/structure/window/reinforced/full,/turf/simulated/floor/tiled,/area/maintenance/fsmaint2)
+"G" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/machinery/door/airlock/glass,/turf/simulated/floor/tiled,/area/maintenance/fsmaint2)
+"H" = (/turf/simulated/wall/r_wall,/area/maintenance/fsmaint2)
(1,1,1) = {"
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -49,21 +42,21 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaacccccccccccccccccaaaaaaaaaaaaaaa
-aaaaaaaaaaaaabaacccccccccccccccccaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaccdddDdZRZdedddccaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaccdddEHfffYddddccccaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaccdddEHgggYdddhccccaiaaaaaaaaaaa
-aaaaaaaaaaaaaaaaccdddEkgggYddddTlmnaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaccCddEdxxxddodpccccIaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaccEGEEddddddqrsccccaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaccFdddddddddddPccaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaccddddddddddtruccaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaccvdddddddddwddccaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaccCdddddddddddpccaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaccyddddddddddddccaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaacczddddddddddgdccaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaccAddBddjddBdgdccaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaacccccccccccccccccaaaaaaaaaaaaaaa
+aaaaaaaaaaaaabaacHHHHHHHHHHHHHHHcaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaacHCCCDddfddedddHcaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaacHCCCEdfffdddddHcccaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaacHCCCEdgggddddhHHHHaiaaaaaaaaaaa
+aaaaaaaaaaaaaaaacHCCCEkgggdddddllmnaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaacHCCCEddddddodpHHHHaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaacHEGEEddddddqrsHcccaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaacHdddddddddddddHcaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaacHddddddddddtruHcaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaacHvdddddddddwddHcaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaacHjdddddddddddxHcaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaacHyddddddddddddHcaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaacHzddddddddddddHcaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaacHAddBdddddBdddHcaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaacHHHHHHHHHHHHHHHcaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaacccccccccccccccccaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
diff --git a/maps/example/example-4.dmm b/maps/example/example-4.dmm
index 02cea6986b7..82f92ed36d4 100644
--- a/maps/example/example-4.dmm
+++ b/maps/example/example-4.dmm
@@ -1,91 +1,91 @@
-"aa" = (/obj/map_ent/func_say_in_radio{ev_is_ai = 1; ev_message = "Hello World!"; ev_name = "Epicus"; tag = "ent_say_in_radio"},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"ag" = (/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"bE" = (/obj/map_ent/func_explosion{ev_heavy_impact_range = 0; ev_devastation_range = 0; tag = "ent_explosion"; ev_flash_range = 1},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"cB" = (/obj/machinery/button{_wifi_id = -1; pixel_x = -30},/obj/map_ent/trigger_button{ev_tag = "ent_user_die_wr"; tag = "ent_user_die_rd"},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"cJ" = (/obj/map_ent/func_smoke{tag = "ent_rel_smoke"},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"dE" = (/obj/map_ent/info_maptext{ev_text = "logic_timer"},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"ef" = (/obj/machinery/light,/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"eL" = (/obj/map_ent/info_maptext{ev_text = "COUNTER"; tag = "ent_maptext_text"},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"fr" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"fz" = (/obj/map_ent/trigger_button{ev_tag = "ent_load_map"},/obj/machinery/button{pixel_y = 32; _wifi_id = -1},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
+"aa" = (/obj/map_ent/func_say_in_radio{ev_is_ai = 1; ev_message = "Hello World!"; ev_name = "Epicus"; tag = "ent_say_in_radio"},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"ag" = (/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"bE" = (/obj/map_ent/func_explosion{ev_heavy_impact_range = 0; ev_devastation_range = 0; tag = "ent_explosion"; ev_flash_range = 1},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"cB" = (/obj/machinery/button{_wifi_id = -1; pixel_x = -30},/obj/map_ent/trigger_button{ev_tag = "ent_user_die_wr"; tag = "ent_user_die_rd"},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"cJ" = (/obj/map_ent/func_smoke{tag = "ent_rel_smoke"},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"dE" = (/obj/map_ent/info_maptext{ev_text = "logic_timer"},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"ef" = (/obj/machinery/light,/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"eL" = (/obj/map_ent/info_maptext{ev_text = "COUNTER"; tag = "ent_maptext_text"},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"fr" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"fz" = (/obj/map_ent/trigger_button{ev_tag = "ent_load_map"},/obj/machinery/button{pixel_y = 32; _wifi_id = -1},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
"fC" = (/turf/space,/area/space)
-"fK" = (/obj/map_ent/func_light{ev_color = "#e04040"; tag = "ent_light"},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"gh" = (/obj/map_ent/trigger_button{ev_tag = "ent_timer"},/obj/machinery/button{pixel_y = -32; _wifi_id = -1; dir = 1},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"hA" = (/obj/machinery/button{pixel_y = 32; _wifi_id = -1},/obj/map_ent/trigger_button{ev_tag = "ent_explosion"},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"hL" = (/obj/map_ent/info_maptext{ev_text = "func_strcon"},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"iH" = (/obj/map_ent/info_maptext{ev_text = "func_explosion"},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"iS" = (/obj/map_ent/trigger_button{ev_tag = "ent_concat_relay"},/obj/machinery/button{pixel_y = -32; _wifi_id = -1; dir = 1},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"kK" = (/obj/machinery/button{pixel_y = 32; _wifi_id = -1},/obj/map_ent/trigger_button{ev_tag = "ent_gib_relay"},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"lo" = (/obj/map_ent/info_maptext{ev_text = "press to die (func_proc_call)"},/obj/map_ent/func_write_var{ev_read_tag = "ent_user_die_rd"; tag = "ent_user_die_wr"; ev_write_tag = "env_die_user"; ev_table = list("ev_object_ref"="ev_triggered"); ev_activate_writer = 1},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"lC" = (/obj/map_ent/info_maptext{ev_text = "func_load_map"},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"lN" = (/obj/map_ent/func_write_var{tag = "ent_bool_wv"; ev_read_tag = "ent_bool_reg"; ev_write_tag = "ent_bool_text"; ev_table = list("ev_text"="ev_value"); ev_activate_writer = 1},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"lS" = (/obj/map_ent/func_write_var{tag = "ent_string_concat_wv"; ev_read_tag = "ent_string"; ev_write_tag = "ent_concat"; ev_table = list("ev_lvalue"="ev_value")},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"ma" = (/obj/map_ent/info_maptext{ev_text = "info_bool"},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"mf" = (/obj/map_ent/func_spawn{ev_unique = 1; ev_target = /mob/living/simple_animal/cow; ev_activate_at_startup = 1; tag = "ent_cow_spawner"},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"nc" = (/obj/map_ent/info_maptext{ev_text = "COUNTER"; tag = "ent_bool_text"},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"nn" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"pu" = (/obj/map_ent/func_sparks{tag = "ent_rel_sparks"},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"qj" = (/obj/map_ent/func_spawn{tag = "ent_spawn_u"; ev_target = /obj/item/reagent_containers/food/donut; ev_unique = 1},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"qV" = (/obj/map_ent/info_maptext{ev_text = "func_smoke"},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"ri" = (/obj/map_ent/info_maptext{ev_text = "func_gib"},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"rk" = (/obj/map_ent/func_write_var{tag = "ent_maptext_wv"; ev_read_tag = "ent_concat"; ev_write_tag = "ent_maptext_text"; ev_table = list("ev_text"="ev_result"); ev_activate_writer = 1},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"tO" = (/obj/map_ent/trigger_button{ev_tag = "ent_spawn"},/obj/machinery/button{pixel_y = -32; _wifi_id = -1; dir = 1},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"tX" = (/obj/map_ent/logic_relay{tag = "ent_counter_relay"; ev_tags = list("ent_counter","ent_counter_wv")},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"vE" = (/obj/map_ent/func_write_var{tag = "ent_counter_wv"; ev_read_tag = "ent_counter"; ev_write_tag = "ent_counter_text"; ev_table = list("ev_text"="ev_value"); ev_activate_writer = 1},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"wa" = (/obj/map_ent/func_gib{tag = "ent_cow_gibber"},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"ww" = (/obj/machinery/button{pixel_y = 32; _wifi_id = -1},/obj/map_ent/trigger_button{ev_tag = "ent_sparks"},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"wI" = (/obj/map_ent/func_sfx{ev_sound = 'sound/effects/phasein.ogg'; ev_volume = 60; tag = "ent_sfx"},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"xS" = (/obj/map_ent/logic_relay{ev_tags = list("ent_rel_sparks","ent_rel_smoke","ent_rel_light"); tag = "ent_relay"},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"xU" = (/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"yw" = (/obj/map_ent/func_write_var{tag = "ent_counter_reset_vw"; ev_write_tag = "ent_counter"; ev_table = list("ev_value"=0)},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"zb" = (/obj/map_ent/trigger_button{ev_tag = "ent_counter_reset_relay"},/obj/machinery/button{pixel_y = -32; _wifi_id = -1; dir = 1},/obj/map_ent/info_maptext{ev_text = "reset"},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"zI" = (/obj/map_ent/logic_timer{ev_tag = "ent_light_timer"; ev_wait = 20; tag = "ent_timer"; ev_activate_at_startup = 0},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"zU" = (/obj/map_ent/logic_relay{tag = "ent_counter_reset_relay"; ev_tags = list("ent_counter_reset_vw","ent_counter_wv")},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"zV" = (/obj/map_ent/info_maptext{ev_text = "func_light"},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"BM" = (/obj/machinery/button{pixel_y = 32; _wifi_id = -1},/obj/map_ent/trigger_button{ev_tag = "ent_light"},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"Cs" = (/obj/machinery/button{pixel_y = -32; _wifi_id = -1},/obj/map_ent/trigger_button{ev_tag = "ent_say_in_radio"},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
+"fK" = (/obj/map_ent/func_light{ev_color = "#e04040"; tag = "ent_light"},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"gh" = (/obj/map_ent/trigger_button{ev_tag = "ent_timer"},/obj/machinery/button{pixel_y = -32; _wifi_id = -1; dir = 1},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"hA" = (/obj/machinery/button{pixel_y = 32; _wifi_id = -1},/obj/map_ent/trigger_button{ev_tag = "ent_explosion"},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"hL" = (/obj/map_ent/info_maptext{ev_text = "func_strcon"},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"iH" = (/obj/map_ent/info_maptext{ev_text = "func_explosion"},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"iS" = (/obj/map_ent/trigger_button{ev_tag = "ent_concat_relay"},/obj/machinery/button{pixel_y = -32; _wifi_id = -1; dir = 1},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"kK" = (/obj/machinery/button{pixel_y = 32; _wifi_id = -1},/obj/map_ent/trigger_button{ev_tag = "ent_gib_relay"},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"lo" = (/obj/map_ent/info_maptext{ev_text = "press to die (func_proc_call)"},/obj/map_ent/func_write_var{ev_read_tag = "ent_user_die_rd"; tag = "ent_user_die_wr"; ev_write_tag = "env_die_user"; ev_table = list("ev_object_ref"="ev_triggered"); ev_activate_writer = 1},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"lC" = (/obj/map_ent/info_maptext{ev_text = "func_load_map"},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"lN" = (/obj/map_ent/func_write_var{tag = "ent_bool_wv"; ev_read_tag = "ent_bool_reg"; ev_write_tag = "ent_bool_text"; ev_table = list("ev_text"="ev_value"); ev_activate_writer = 1},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"lS" = (/obj/map_ent/func_write_var{tag = "ent_string_concat_wv"; ev_read_tag = "ent_string"; ev_write_tag = "ent_concat"; ev_table = list("ev_lvalue"="ev_value")},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"ma" = (/obj/map_ent/info_maptext{ev_text = "info_bool"},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"mf" = (/obj/map_ent/func_spawn{ev_unique = 1; ev_target = /mob/living/simple_animal/cow; ev_activate_at_startup = 1; tag = "ent_cow_spawner"},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"nc" = (/obj/map_ent/info_maptext{ev_text = "COUNTER"; tag = "ent_bool_text"},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"nn" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"pu" = (/obj/map_ent/func_sparks{tag = "ent_rel_sparks"},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"qj" = (/obj/map_ent/func_spawn{tag = "ent_spawn_u"; ev_target = /obj/item/reagent_containers/food/donut; ev_unique = 1},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"qV" = (/obj/map_ent/info_maptext{ev_text = "func_smoke"},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"ri" = (/obj/map_ent/info_maptext{ev_text = "func_gib"},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"rk" = (/obj/map_ent/func_write_var{tag = "ent_maptext_wv"; ev_read_tag = "ent_concat"; ev_write_tag = "ent_maptext_text"; ev_table = list("ev_text"="ev_result"); ev_activate_writer = 1},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"tO" = (/obj/map_ent/trigger_button{ev_tag = "ent_spawn"},/obj/machinery/button{pixel_y = -32; _wifi_id = -1; dir = 1},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"tX" = (/obj/map_ent/logic_relay{tag = "ent_counter_relay"; ev_tags = list("ent_counter","ent_counter_wv")},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"vE" = (/obj/map_ent/func_write_var{tag = "ent_counter_wv"; ev_read_tag = "ent_counter"; ev_write_tag = "ent_counter_text"; ev_table = list("ev_text"="ev_value"); ev_activate_writer = 1},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"wa" = (/obj/map_ent/func_gib{tag = "ent_cow_gibber"},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"ww" = (/obj/machinery/button{pixel_y = 32; _wifi_id = -1},/obj/map_ent/trigger_button{ev_tag = "ent_sparks"},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"wI" = (/obj/map_ent/func_sfx{ev_sound = 'sound/effects/phasein.ogg'; ev_volume = 60; tag = "ent_sfx"},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"xS" = (/obj/map_ent/logic_relay{ev_tags = list("ent_rel_sparks","ent_rel_smoke","ent_rel_light"); tag = "ent_relay"},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"xU" = (/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"yw" = (/obj/map_ent/func_write_var{tag = "ent_counter_reset_vw"; ev_write_tag = "ent_counter"; ev_table = list("ev_value"=0)},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"zb" = (/obj/map_ent/trigger_button{ev_tag = "ent_counter_reset_relay"},/obj/machinery/button{pixel_y = -32; _wifi_id = -1; dir = 1},/obj/map_ent/info_maptext{ev_text = "reset"},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"zI" = (/obj/map_ent/logic_timer{ev_tag = "ent_light_timer"; ev_wait = 20; tag = "ent_timer"; ev_activate_at_startup = 0},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"zU" = (/obj/map_ent/logic_relay{tag = "ent_counter_reset_relay"; ev_tags = list("ent_counter_reset_vw","ent_counter_wv")},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"zV" = (/obj/map_ent/info_maptext{ev_text = "func_light"},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"BM" = (/obj/machinery/button{pixel_y = 32; _wifi_id = -1},/obj/map_ent/trigger_button{ev_tag = "ent_light"},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"Cs" = (/obj/machinery/button{pixel_y = -32; _wifi_id = -1},/obj/map_ent/trigger_button{ev_tag = "ent_say_in_radio"},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
"CC" = (/turf/space,/area/engineering/sublevel_access)
-"Dm" = (/obj/map_ent/logic_relay{tag = "ent_bool_relay"; ev_tags = list("ent_bool_reg","ent_bool_wv")},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"EG" = (/obj/map_ent/info_counter{tag = "ent_counter"},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"EQ" = (/obj/map_ent/info_maptext{ev_text = "with ev_unique"},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"Ge" = (/obj/map_ent/func_light{ev_color = "#e04040"; tag = "ent_light_timer"},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"Gu" = (/obj/map_ent/info_maptext{ev_text = "logic_relay"},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"GM" = (/obj/machinery/power/debug_items/infinite_generator,/obj/structure/cable,/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"GX" = (/obj/map_ent/func_smoke{tag = "ent_smoke"},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"HI" = (/obj/map_ent/info_maptext{ev_text = "func_say_in_radio"},/obj/machinery/light,/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"Is" = (/obj/map_ent/info_maptext{ev_text = "func_spawn"},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"Iv" = (/obj/map_ent/func_rand_spawn{ev_paths = list(/obj/effect/decal/cleanable/blood/gibs,/obj/item/remains/human); tag = "ent_rand_spawn"},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"Ke" = (/obj/map_ent/trigger_button{ev_tag = "ent_spawn_u"},/obj/machinery/button{pixel_y = -32; _wifi_id = -1; dir = 1},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"KM" = (/obj/machinery/button{pixel_y = 32; _wifi_id = -1},/obj/map_ent/trigger_button{ev_tag = "ent_sfx"},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"KO" = (/obj/map_ent/func_spawn{tag = "ent_spawn"; ev_target = /obj/item/reagent_containers/food/donut},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
+"Dm" = (/obj/map_ent/logic_relay{tag = "ent_bool_relay"; ev_tags = list("ent_bool_reg","ent_bool_wv")},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"EG" = (/obj/map_ent/info_counter{tag = "ent_counter"},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"EQ" = (/obj/map_ent/info_maptext{ev_text = "with ev_unique"},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"Ge" = (/obj/map_ent/func_light{ev_color = "#e04040"; tag = "ent_light_timer"},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"Gu" = (/obj/map_ent/info_maptext{ev_text = "logic_relay"},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"GM" = (/obj/machinery/power/debug_items/infinite_generator,/obj/structure/cable,/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"GX" = (/obj/map_ent/func_smoke{tag = "ent_smoke"},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"HI" = (/obj/map_ent/info_maptext{ev_text = "func_say_in_radio"},/obj/machinery/light,/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"Is" = (/obj/map_ent/info_maptext{ev_text = "func_spawn"},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"Iv" = (/obj/map_ent/func_rand_spawn{ev_paths = list(/obj/effect/decal/cleanable/blood/gibs,/obj/item/remains/human); tag = "ent_rand_spawn"},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"Ke" = (/obj/map_ent/trigger_button{ev_tag = "ent_spawn_u"},/obj/machinery/button{pixel_y = -32; _wifi_id = -1; dir = 1},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"KM" = (/obj/machinery/button{pixel_y = 32; _wifi_id = -1},/obj/map_ent/trigger_button{ev_tag = "ent_sfx"},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"KO" = (/obj/map_ent/func_spawn{tag = "ent_spawn"; ev_target = /obj/item/reagent_containers/food/donut},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
"Lm" = (/turf/simulated/wall/r_wall,/area/engineering/sublevel_access)
-"LM" = (/obj/map_ent/info_maptext{ev_text = "info_counter"},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
+"LM" = (/obj/map_ent/info_maptext{ev_text = "info_counter"},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
"Ml" = (/obj/structure/window_frame/reinforced/hull,/turf/simulated/floor/plating,/area/engineering/sublevel_access)
-"MP" = (/obj/map_ent/func_proc_call{tag = "env_die_user"; ev_proc_name = "death"; ev_args = list(show_dead_message="You didn't think fast chucklenut")},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"MX" = (/obj/map_ent/logic_relay{tag = "ent_gib_relay"; ev_tags = list("ent_gibber_wv","ent_cow_gibber","ent_cow_timer")},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"Nw" = (/obj/map_ent/func_strcat{tag = "ent_concat"},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
+"MP" = (/obj/map_ent/func_proc_call{tag = "env_die_user"; ev_proc_name = "death"; ev_args = list(show_dead_message="You didn't think fast chucklenut")},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"MX" = (/obj/map_ent/logic_relay{tag = "ent_gib_relay"; ev_tags = list("ent_gibber_wv","ent_cow_gibber","ent_cow_timer")},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"Nw" = (/obj/map_ent/func_strcat{tag = "ent_concat"},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
"NE" = (/obj/map_ent/func_load_map{ev_map_path = 'maps/example/clown_shuttle.dmm'; tag = "ent_load_map"},/turf/space,/area/engineering/sublevel_access)
-"PX" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"Rj" = (/obj/map_ent/trigger_button{ev_tag = "ent_smoke"},/obj/machinery/button{pixel_y = 32; _wifi_id = -1},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"RN" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"Sb" = (/obj/machinery/light{dir = 1; tag = "ind_light"},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"Tr" = (/obj/machinery/button{pixel_y = 32; _wifi_id = -1},/obj/map_ent/trigger_button{ev_tag = "ent_relay"},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"TI" = (/obj/map_ent/info_maptext{ev_text = "func_rand_spawn"},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"Uj" = (/obj/map_ent/logic_timer{tag = "ent_cow_timer"; ev_wait = 40; ev_tag = "ent_cow_spawner"},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"Uw" = (/obj/map_ent{tag = "ent_showcase_tp_dest"},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"UB" = (/obj/machinery/button{pixel_y = -32; _wifi_id = -1; dir = 1},/obj/map_ent/trigger_button{ev_tag = "ent_bool_relay"},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"Vk" = (/obj/map_ent/info_maptext{ev_text = "COUNTER"; tag = "ent_counter_text"},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"VF" = (/obj/map_ent/logic_relay{tag = "ent_concat_relay"; ev_tags = list("ent_string_concat_wv","ent_counter_concat_wv","ent_maptext_wv")},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"Wd" = (/obj/map_ent/info_bool{tag = "ent_bool_reg"},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"WA" = (/obj/map_ent/func_write_var{ev_read_tag = "ent_cow_spawner"; ev_write_tag = "ent_cow_gibber"; tag = "ent_gibber_wv"; ev_table = list("ev_tag"="ev_spawned")},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"WP" = (/obj/map_ent/info_maptext{ev_text = "func_sparks"},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"WT" = (/obj/map_ent/func_light{ev_color = "#e04040"; tag = "ent_rel_light"},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"XO" = (/obj/machinery/button{pixel_y = -32; _wifi_id = -1; dir = 1},/obj/map_ent/trigger_button{ev_tag = "ent_rand_spawn"},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"YB" = (/obj/map_ent/info_maptext{ev_text = "func_sfx"},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"YJ" = (/obj/map_ent/func_sparks{tag = "ent_sparks"},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"YL" = (/obj/machinery/button{pixel_y = -32; _wifi_id = -1; dir = 1},/obj/map_ent/trigger_button{ev_tag = "ent_counter_relay"},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"YQ" = (/obj/map_ent/info_string{tag = "ent_string"; ev_value = "hello, world!"},/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
-"Zi" = (/obj/map_ent/func_write_var{tag = "ent_counter_concat_wv"; ev_read_tag = "ent_counter"; ev_write_tag = "ent_concat"; ev_table = list("ev_rvalue"="ev_value"); ev_activate_writer = 1},/obj/machinery/light,/turf/simulated/floor/tiled/rough,/area/engineering/sublevel_access)
+"PX" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"Rj" = (/obj/map_ent/trigger_button{ev_tag = "ent_smoke"},/obj/machinery/button{pixel_y = 32; _wifi_id = -1},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"RN" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"Sb" = (/obj/machinery/light{dir = 1; tag = "ind_light"},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"Tr" = (/obj/machinery/button{pixel_y = 32; _wifi_id = -1},/obj/map_ent/trigger_button{ev_tag = "ent_relay"},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"TI" = (/obj/map_ent/info_maptext{ev_text = "func_rand_spawn"},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"Uj" = (/obj/map_ent/logic_timer{tag = "ent_cow_timer"; ev_wait = 40; ev_tag = "ent_cow_spawner"},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"Uw" = (/obj/map_ent{tag = "ent_showcase_tp_dest"},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"UB" = (/obj/machinery/button{pixel_y = -32; _wifi_id = -1; dir = 1},/obj/map_ent/trigger_button{ev_tag = "ent_bool_relay"},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"Vk" = (/obj/map_ent/info_maptext{ev_text = "COUNTER"; tag = "ent_counter_text"},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"VF" = (/obj/map_ent/logic_relay{tag = "ent_concat_relay"; ev_tags = list("ent_string_concat_wv","ent_counter_concat_wv","ent_maptext_wv")},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"Wd" = (/obj/map_ent/info_bool{tag = "ent_bool_reg"},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"WA" = (/obj/map_ent/func_write_var{ev_read_tag = "ent_cow_spawner"; ev_write_tag = "ent_cow_gibber"; tag = "ent_gibber_wv"; ev_table = list("ev_tag"="ev_spawned")},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"WP" = (/obj/map_ent/info_maptext{ev_text = "func_sparks"},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"WT" = (/obj/map_ent/func_light{ev_color = "#e04040"; tag = "ent_rel_light"},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"XO" = (/obj/machinery/button{pixel_y = -32; _wifi_id = -1; dir = 1},/obj/map_ent/trigger_button{ev_tag = "ent_rand_spawn"},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"YB" = (/obj/map_ent/info_maptext{ev_text = "func_sfx"},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"YJ" = (/obj/map_ent/func_sparks{tag = "ent_sparks"},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"YL" = (/obj/machinery/button{pixel_y = -32; _wifi_id = -1; dir = 1},/obj/map_ent/trigger_button{ev_tag = "ent_counter_relay"},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"YQ" = (/obj/map_ent/info_string{tag = "ent_string"; ev_value = "hello, world!"},/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
+"Zi" = (/obj/map_ent/func_write_var{tag = "ent_counter_concat_wv"; ev_read_tag = "ent_counter"; ev_write_tag = "ent_concat"; ev_table = list("ev_rvalue"="ev_value"); ev_activate_writer = 1},/obj/machinery/light,/turf/simulated/floor/tiled,/area/engineering/sublevel_access)
(1,1,1) = {"
fCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfC
diff --git a/maps/exodus/exodus-1.dmm b/maps/exodus/exodus-1.dmm
index 4f987464e54..2c98983d028 100644
--- a/maps/exodus/exodus-1.dmm
+++ b/maps/exodus/exodus-1.dmm
@@ -92,7 +92,7 @@
"abN" = (/obj/item/extinguisher,/turf/space,/area/space)
"abO" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/hydroponics{name = "isolation tray"; closed_system = 1},/obj/effect/floor_decal/industrial/outline/orange,/turf/simulated/floor/tiled/freezer,/area/rnd/xenobiology/xenoflora)
"abP" = (/obj/structure/lattice,/turf/simulated/wall,/area/maintenance/underground/dormitories)
-"abQ" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/obj/structure/barricade/material{layer = 6},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/underground/gateway)
+"abQ" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/obj/structure/barricade/material,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/underground/gateway)
"abR" = (/obj/structure/railing{dir = 8},/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/effect/floor_decal/oldflood,/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small/hl{dir = 1},/turf/simulated/floor/tiled/rough,/area/quartermaster/storage/under)
"abS" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/hydroponics{name = "isolation tray"; closed_system = 1},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/industrial/outline/orange,/turf/simulated/floor/tiled/freezer,/area/rnd/xenobiology/xenoflora)
"abT" = (/obj/machinery/door/airlock/glass_security{name = "Security Cryogenic Storage"; req_access = list(1)},/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/effect/floor_decal/corner/blue/diagonal,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/white/rough,/area/maintenance/underground/security_mainhall)
@@ -185,7 +185,7 @@
"adC" = (/obj/structure/bed/chair/comfy/brown{dir = 4},/obj/machinery/alarm{dir = 1; pixel_y = -24},/turf/simulated/floor/trim/darkwood,/area/crew_quarters/underdorm/theater)
"adD" = (/obj/effect/floor_decal/corner/grey/three_quarters{dir = 1},/obj/machinery/atm{layer = 3.1; pixel_y = 32},/turf/simulated/floor/tiled/dark,/area/crew_quarters/underdorm)
"adE" = (/obj/structure/mirror{pixel_x = 32},/obj/structure/table/woodentable,/obj/random/clothing/hat,/turf/simulated/floor/trim/darkwood,/area/crew_quarters/underdorm/theater)
-"adF" = (/obj/structure/barricade/material{layer = 6},/obj/structure/window_frame/rglass,/turf/simulated/floor/plating,/area/maintenance/underground/dormitories)
+"adF" = (/obj/structure/barricade/material,/obj/structure/window_frame/rglass,/turf/simulated/floor/plating,/area/maintenance/underground/dormitories)
"adG" = (/turf/simulated/wall,/area/crew_quarters/sleep/underg_cabin2)
"adH" = (/obj/structure/window_frame/grille,/turf/simulated/floor/plating,/area/crew_quarters/underdorm)
"adI" = (/obj/machinery/vending/tool,/turf/simulated/floor/tiled/dark/rough,/area/crew_quarters/underdorm)
@@ -279,7 +279,7 @@
"afs" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/turf/simulated/floor/plating,/area/maintenance/underground/EVA)
"aft" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/structure/cable{icon_state = "2-8"; d2 = 8; d1 = 2},/turf/simulated/floor/plating,/area/maintenance/underground/EVA)
"afu" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/structure/ladder/up,/turf/simulated/floor/plating,/area/maintenance/underground/gateway)
-"afv" = (/obj/structure/table/woodentable,/obj/machinery/chemical_dispenser/bar_coffee/full,/obj/machinery/light/small/hl{dir = 1},/turf/simulated/floor/trim/wood,/area/rnd/research_under/breakroom)
+"afv" = (/obj/structure/table/woodentable,/obj/machinery/light/small/hl{dir = 1},/obj/machinery/coffeemaker,/turf/simulated/floor/trim/wood,/area/rnd/research_under/breakroom)
"afw" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/alarm{dir = 4; pixel_x = -24},/turf/simulated/floor/plating,/area/maintenance/underground/dormitories)
"afx" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/underground/dormitories)
"afy" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/effect/floor_decal/corner/grey{dir = 8},/obj/structure/disposalpipe/segment{icon_state = "pipe-c"; dir = 2},/turf/simulated/floor/tiled/dark,/area/crew_quarters/underdorm)
@@ -294,13 +294,13 @@
"afH" = (/obj/structure/table/woodentable,/obj/item/paper_bin,/obj/item/pen,/obj/item/book/wiki/detective,/obj/machinery/atmospherics/unary/vent_pump/on{layer = 2.4; level = 2},/turf/simulated/floor/trim/lino,/area/crew_quarters/sleep/underg_cabin3)
"afI" = (/obj/machinery/light/small{dir = 4},/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/turf/simulated/floor/plating,/area/maintenance/underground/tool_storage)
"afJ" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/underground/EVA)
-"afK" = (/obj/effect/decal/cleanable/dirt,/obj/structure/closet/cabinet,/obj/machinery/light/small/hl{dir = 1},/turf/simulated/floor/plating,/area/crew_quarters/underdorm/sauna)
+"afK" = (/obj/machinery/light/small/hl{dir = 1},/obj/structure/closet/secure_closet/personal/empty,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/underdorm/sauna)
"afL" = (/obj/structure/table/rack,/obj/random/tech_supply,/turf/simulated/floor/plating,/area/maintenance/underground/dormitories)
"afM" = (/obj/effect/floor_decal/corner/grey/three_quarters{dir = 1},/obj/structure/extinguisher_cabinet{pixel_x = 32},/turf/simulated/floor/tiled/dark,/area/crew_quarters/underdorm)
"afN" = (/obj/machinery/vending/coffee,/obj/effect/floor_decal/corner/red/three_quarters,/turf/simulated/floor/tiled/dark/rough,/area/maintenance/ghetto_main_west)
"afO" = (/turf/simulated/floor/trim/darkwood,/area/crew_quarters/underdorm/theater/actor)
"afP" = (/obj/machinery/door/firedoor/border_only,/obj/structure/window_frame/reinforced/hull,/turf/simulated/floor/plating,/area/maintenance/underground/security)
-"afQ" = (/obj/structure/table/woodentable,/obj/machinery/chemical_dispenser/bar_coffee/full,/turf/simulated/floor/trim/darkwood,/area/crew_quarters/underdorm/theater/actor)
+"afQ" = (/obj/structure/table/woodentable,/obj/machinery/coffeemaker,/turf/simulated/floor/trim/darkwood,/area/crew_quarters/underdorm/theater/actor)
"afR" = (/obj/effect/floor_decal/spline/fancy/wood{dir = 9},/turf/simulated/floor/trim/darkwood,/area/crew_quarters/underdorm/theater)
"afS" = (/obj/effect/floor_decal/spline/fancy/wood{dir = 1},/turf/simulated/floor/trim/darkwood,/area/crew_quarters/underdorm/theater)
"afT" = (/obj/effect/floor_decal/spline/fancy/wood/corner{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/turf/simulated/floor/trim/darkwood,/area/crew_quarters/underdorm/theater)
@@ -377,7 +377,7 @@
"ahm" = (/obj/machinery/door/firedoor,/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/door/airlock/glass{name = "Dormitory"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/rough,/area/maintenance/underground/bar)
"ahn" = (/obj/effect/floor_decal/rust,/obj/effect/decal/cleanable/dirt,/obj/effect/floor_decal/corner/red{dir = 9},/turf/simulated/floor/tiled/dark,/area/maintenance/underground/security_mainhall)
"aho" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/structure/cable{icon_state = "2-4"; d2 = 4; d1 = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/trim/darkwood,/area/crew_quarters/underdorm/theater/actor)
-"ahp" = (/obj/structure/table/woodentable,/obj/item/storage/box/glasses/square,/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/trim/darkwood,/area/crew_quarters/underdorm/theater/actor)
+"ahp" = (/obj/structure/table/woodentable,/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/item/reagent_containers/vessel/bottle/syrup_bottle/caramel{pixel_x = 9; pixel_y = 15},/obj/item/reagent_containers/vessel/bottle/syrup_bottle/liqueur{pixel_x = 9},/obj/structure/coffee_condi_display,/turf/simulated/floor/trim/darkwood,/area/crew_quarters/underdorm/theater/actor)
"ahq" = (/obj/machinery/disposal,/obj/effect/floor_decal/corner/red{dir = 10},/obj/structure/disposalpipe/trunk,/turf/simulated/floor/tiled/dark/rough,/area/maintenance/ghetto_main_west)
"ahr" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled/rough,/area/maintenance/ghetto_main_west)
"ahs" = (/obj/machinery/light{dir = 1},/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/effect/floor_decal/corner/red{dir = 4},/turf/simulated/floor/tiled/rough,/area/maintenance/ghetto_main_west)
@@ -447,7 +447,7 @@
"aiE" = (/obj/machinery/power/apc{name = "west bump"; dir = 8; pixel_x = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/maintenance/underground/port_primary_hallway)
"aiF" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/structure/cable{icon_state = "2-8"; d2 = 8; d1 = 2},/turf/simulated/floor/plating,/area/maintenance/underground/port_primary_hallway)
"aiG" = (/turf/simulated/wall/r_wall,/area/maintenance/exterior)
-"aiH" = (/obj/structure/sink{dir = 4; pixel_x = 11},/obj/effect/decal/cleanable/dirt,/obj/item/reagent_containers/vessel/bucket,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/underdorm/sauna)
+"aiH" = (/obj/structure/sink{dir = 4; pixel_x = 11},/obj/item/reagent_containers/vessel/bucket,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/underdorm/sauna)
"aiI" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/underground/central_six)
"aiJ" = (/turf/simulated/floor/plating,/area/maintenance/underground/central_six)
"aiK" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/plating,/area/maintenance/underground/central_six)
@@ -527,7 +527,7 @@
"akg" = (/obj/effect/floor_decal/corner/grey{dir = 5},/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/camera/network/civilian_west{c_tag = "Underground Main - West 2"},/turf/simulated/floor/tiled/dark,/area/maintenance/ghetto_main_west)
"akh" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6; pixel_y = 1},/obj/effect/floor_decal/corner/grey{dir = 5},/obj/structure/cable{icon_state = "2-8"},/obj/structure/cable{icon_state = "2-4"; d2 = 4; d1 = 2},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/dark,/area/maintenance/ghetto_main_west)
"aki" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/corner/grey{dir = 5},/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/dark,/area/maintenance/ghetto_main_west)
-"akj" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/machinery/chemical_dispenser/bar_coffee/full,/turf/simulated/floor/natural/grass,/area/hydroponics/lower)
+"akj" = (/obj/structure/table/standard{name = "plastic table frame"},/turf/simulated/floor/natural/grass,/area/hydroponics/lower)
"akk" = (/obj/effect/floor_decal/corner/grey{dir = 5},/obj/structure/cable{icon_state = "1-8"; d2 = 8; d1 = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 4},/turf/simulated/floor/tiled/dark,/area/maintenance/ghetto_main_west)
"akl" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/structure/bed/chair{dir = 1},/obj/effect/floor_decal/corner/red{dir = 8},/obj/machinery/camera/network/civilian_west{dir = 1; c_tag = "Underground Main - West 1"},/turf/simulated/floor/tiled/rough,/area/maintenance/ghetto_main_west)
"akm" = (/turf/simulated/wall,/area/maintenance/underground/vaccant_office)
@@ -644,7 +644,7 @@
"amt" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/trim/darkwood,/area/crew_quarters/ubarbackroom)
"amu" = (/turf/simulated/floor,/area/maintenance/underground/atmospherics)
"amv" = (/obj/effect/decal/cleanable/dirt,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/rough,/area/maintenance/ghetto_dockhall)
-"amw" = (/obj/machinery/shower{dir = 8},/obj/effect/decal/cleanable/dirt,/obj/structure/window/reinforced{dir = 1},/obj/structure/curtain/open/shower,/obj/effect/decal/cleanable/cobweb{dir = 1},/obj/effect/decal/cleanable/dirt,/obj/item/camera_assembly,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/underdorm/sauna)
+"amw" = (/obj/machinery/shower{dir = 8},/obj/structure/curtain/open/shower,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/underdorm/sauna)
"amx" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock{name = "Clown's Bedroom"; req_one_access = list(43,57)},/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/trim/darkwood,/area/crew_quarters/underdorm/theater/clown)
"amy" = (/obj/structure/closet,/obj/effect/decal/cleanable/cobweb{dir = 4},/obj/random/maintenance,/turf/simulated/floor/plating,/area/maintenance/underground/central_two)
"amz" = (/obj/effect/floor_decal/spline/fancy{dir = 4},/turf/simulated/floor/tiled/rough,/area/hydroponics/lower)
@@ -666,7 +666,7 @@
"amP" = (/obj/effect/floor_decal/oldflood,/obj/effect/decal/cleanable/dirt,/obj/structure/closet/firecloset,/obj/effect/decal/cleanable/cobweb{dir = 1},/turf/simulated/floor/tiled/dark,/area/maintenance/underground/bar)
"amQ" = (/obj/effect/floor_decal/corner/grey/three_quarters{dir = 4},/obj/structure/bed/chair/comfy/brown{dir = 8},/turf/simulated/floor/tiled/dark,/area/crew_quarters/underdorm)
"amR" = (/obj/structure/closet,/obj/random/maintenance,/obj/random/maintenance,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/floor_decal/oldflood,/obj/effect/decal/cleanable/cobweb{dir = 8},/turf/simulated/floor/tiled/dark,/area/maintenance/underground/bar)
-"amS" = (/obj/machinery/door/airlock/maintenance{req_access = list(12)},/obj/machinery/door/firedoor/border_only,/obj/structure/barricade/material{layer = 6},/turf/simulated/floor/plating,/area/maintenance/underground/atmospherics)
+"amS" = (/obj/machinery/door/airlock/maintenance{req_access = list(12)},/obj/machinery/door/firedoor/border_only,/obj/structure/barricade/material,/turf/simulated/floor/plating,/area/maintenance/underground/atmospherics)
"amT" = (/obj/structure/reagent_dispensers/fueltank,/obj/effect/floor_decal/oldflood,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/dark,/area/maintenance/ghetto_main)
"amU" = (/obj/effect/floor_decal/spline/fancy/corner{dir = 1},/obj/structure/extinguisher_cabinet{pixel_x = 32},/turf/simulated/floor/tiled/rough,/area/hydroponics/lower)
"amV" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/corner/grey{dir = 4},/turf/simulated/floor/tiled/dark,/area/crew_quarters/underdorm)
@@ -977,7 +977,7 @@
"asO" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable/green{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled/rough,/area/maintenance/ghetto_main)
"asP" = (/obj/structure/cable/green{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/oldflood,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/rough,/area/maintenance/ghetto_main)
"asQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/structure/cable/green{icon_state = "1-2"; d2 = 2; d1 = 1},/turf/simulated/floor/trim/carpet,/area/maintenance/ghetto_dorm)
-"asR" = (/mob/living/simple_animal/mouse,/obj/structure/bed/pew/pewchapel/left{icon_state = "chair_pewchapel_left_over"; dir = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/trim/darkwood,/area/crew_quarters/underdorm/sauna)
+"asR" = (/obj/structure/bed/pew/pewchapel/left{icon_state = "chair_pewchapel_left_over"; dir = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/trim/darkwood,/area/crew_quarters/underdorm/sauna)
"asS" = (/turf/simulated/wall/r_wall,/area/space)
"asT" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable/green{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/oldflood,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/rough,/area/maintenance/ghetto_main)
"asU" = (/obj/structure/lattice,/turf/simulated/wall,/area/maintenance/underground/library)
@@ -1591,7 +1591,7 @@
"aEE" = (/obj/effect/floor_decal/corner/grey/three_quarters{dir = 1},/obj/structure/closet/firecloset,/turf/simulated/floor/tiled/dark,/area/crew_quarters/underdorm)
"aEF" = (/obj/effect/floor_decal/spline/fancy/wood{dir = 4},/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/camera/network/civilian_east{dir = 4; c_tag = "Underground Bedroom One"},/turf/simulated/floor/trim/darkwood,/area/crew_quarters/sleep/underg_cabin1)
"aEG" = (/obj/effect/floor_decal/corner/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible{dir = 10},/obj/machinery/meter,/turf/simulated/floor/tiled/white/rough,/area/rnd/xenobiology/xenoflora)
-"aEH" = (/turf/simulated/floor/plating,/area/crew_quarters/underdorm/sauna)
+"aEH" = (/obj/structure/closet/secure_closet/personal/empty,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/underdorm/sauna)
"aEI" = (/obj/machinery/power/apc{name = "west bump"; dir = 8; pixel_x = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/trim/wood,/area/crew_quarters/sleep/underg_cabin2)
"aEJ" = (/obj/structure/cable{icon_state = "1-8"; d2 = 8; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/effect/decal/cleanable/dirt,/obj/structure/bed/couch/right/brown{dir = 4},/turf/simulated/floor/trim/carpet/oldred,/area/crew_quarters/sleep/underg_cabin2)
"aEK" = (/obj/structure/table/rack,/obj/effect/floor_decal/oldflood,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/item/airalarm_electronics,/obj/item/screwdriver,/obj/random/maintenance,/obj/random/maintenance,/obj/random/maintenance,/obj/item/storage/box/lights/bulbs/old,/turf/simulated/floor/tiled/dark,/area/maintenance/underground/bar)
@@ -1770,13 +1770,13 @@
"aIb" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/alarm{dir = 4; pixel_x = -22},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/dark/rough,/area/maintenance/underground/engineering_lower)
"aIc" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/ghetto_dockhall)
"aId" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/ghetto_dockhall)
-"aIe" = (/obj/machinery/door/airlock/external{name = "Port Internal Access"; icon_state = "door_locked"; frequency = 1379; locked = 1; req_access = list(11,13); id_tag = 0},/obj/structure/barricade/material{layer = 6},/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/maintenance/ghetto_dockhall)
+"aIe" = (/obj/machinery/door/airlock/external{name = "Port Internal Access"; icon_state = "door_locked"; frequency = 1379; locked = 1; req_access = list(11,13); id_tag = 0},/obj/structure/barricade/material,/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/maintenance/ghetto_dockhall)
"aIf" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/effect/floor_decal/industrial/warning,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/ghetto_dockhall)
"aIg" = (/obj/effect/floor_decal/industrial/warning{dir = 5},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/maintenance/ghetto_dockhall)
-"aIh" = (/obj/machinery/door/airlock/external{name = "Port External Access"; icon_state = "door_locked"; frequency = 1379; locked = 1; req_access = list(11,13); id_tag = 0},/obj/structure/barricade/material{layer = 6},/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/maintenance/ghetto_dockhall)
+"aIh" = (/obj/machinery/door/airlock/external{name = "Port External Access"; icon_state = "door_locked"; frequency = 1379; locked = 1; req_access = list(11,13); id_tag = 0},/obj/structure/barricade/material,/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/maintenance/ghetto_dockhall)
"aIi" = (/obj/effect/decal/remains,/obj/item/wrench,/turf/simulated/floor/plating,/area/space)
"aIj" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/vomit,/turf/simulated/floor/plating,/area/space)
-"aIk" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/external{name = "Port Internal Access"; icon_state = "door_locked"; frequency = 1379; locked = 1; req_access = list(11,13); id_tag = 0},/obj/structure/barricade/material{layer = 6},/turf/simulated/floor/plating,/area/maintenance/ghetto_dockhall)
+"aIk" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/external{name = "Port Internal Access"; icon_state = "door_locked"; frequency = 1379; locked = 1; req_access = list(11,13); id_tag = 0},/obj/structure/barricade/material,/turf/simulated/floor/plating,/area/maintenance/ghetto_dockhall)
"aIl" = (/obj/machinery/power/apc{name = "north bump"; dir = 1; pixel_y = 24},/obj/structure/cable/green{icon_state = "0-8"; d2 = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/trim/wood,/area/medical/psych)
"aIm" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/camera/network/medbay{c_tag = "Underground Medbay Entrance"},/obj/structure/sign/redcross{pixel_y = 32},/obj/effect/floor_decal/corner/white{dir = 1},/obj/effect/floor_decal/corner/blue{dir = 4},/turf/simulated/floor/tiled/rough,/area/maintenance/ghetto_dockhall)
"aIn" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/camera/network/medbay{c_tag = "Medbay Psychiatrist's Office"},/obj/machinery/button/remote/blast_door{name = "Window Shutters"; desc = "A remote control-switch for shutters."; pixel_y = 25; id = "psychroom"},/turf/simulated/floor/trim/wood,/area/medical/psych)
@@ -2028,7 +2028,7 @@
"aMZ" = (/obj/structure/table/steel,/obj/random/firstaid,/turf/simulated/floor/tiled/dark/rough,/area/maintenance/underground/atmospherics)
"aNa" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/underground/engineering)
"aNb" = (/obj/structure/cable{icon_state = "2-4"; d2 = 4; d1 = 2},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6; pixel_y = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/plating,/area/maintenance/underground/security_lobby)
-"aNc" = (/obj/machinery/door/airlock/external{name = "Port External Access"; icon_state = "door_locked"; frequency = 1379; locked = 1; req_access = list(11,13); id_tag = 0},/obj/structure/barricade/material{layer = 6},/turf/simulated/floor/plating,/area/maintenance/ghetto_dockhall)
+"aNc" = (/obj/machinery/door/airlock/external{name = "Port External Access"; icon_state = "door_locked"; frequency = 1379; locked = 1; req_access = list(11,13); id_tag = 0},/obj/structure/barricade/material,/turf/simulated/floor/plating,/area/maintenance/ghetto_dockhall)
"aNd" = (/obj/structure/cable{icon_state = "1-8"; d2 = 8; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/plating,/area/maintenance/underground/security_lobby)
"aNe" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/cable{icon_state = "2-8"; d2 = 8; d1 = 2},/obj/item/device/radio/intercom{dir = 8; pixel_x = 22},/turf/simulated/floor/grid/bluegrid,/area/maintenance/sub/relay_station)
"aNf" = (/turf/simulated/wall/r_wall,/area/maintenance/underground/engineering)
@@ -2156,7 +2156,7 @@
"aPx" = (/obj/structure/sign/poster{pixel_y = -32},/obj/structure/table/standard,/obj/item/material/ashtray,/turf/simulated/floor/tiled/dark/rough,/area/maintenance/ghetto_main_west)
"aPy" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/extinguisher_cabinet{pixel_x = 32},/turf/simulated/floor/tiled/dark/rough,/area/maintenance/ghetto_main_west)
"aPz" = (/turf/simulated/wall,/area/crew_quarters/underdorm/sauna)
-"aPA" = (/obj/machinery/power/apc{name = "west bump"; dir = 8; pixel_x = -24},/obj/structure/cable{icon_state = "0-8"; dir = 1; d2 = 8},/turf/simulated/floor/plating,/area/maintenance/underground/security)
+"aPA" = (/obj/machinery/power/apc{name = "west bump"; dir = 8; pixel_x = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/maintenance/underground/security)
"aPB" = (/obj/structure/table/standard,/obj/effect/floor_decal/corner/purple{dir = 9},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/item/storage/box/monkeycubes,/turf/simulated/floor/tiled/white/rough,/area/rnd/xenobiology/xenoflora_storage)
"aPC" = (/obj/structure/table/darkwood_reinforced,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/item/material/ashtray/bronze,/turf/simulated/floor/trim/carpet/oldred,/area/crew_quarters/underdorm)
"aPD" = (/obj/effect/floor_decal/corner/grey/three_quarters,/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/tiled/dark,/area/crew_quarters/underdorm)
@@ -2164,7 +2164,7 @@
"aPF" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/blast/regular{name = "Containment Blast Doors"; icon_state = "pdoor0"; opacity = 0; density = 0; id = "xenobio1"},/obj/structure/cable/green{icon_state = "0-4"; d2 = 4},/obj/structure/window_frame/grille/rglass,/turf/simulated/floor/plating,/area/rnd/xenobiology)
"aPG" = (/obj/effect/floor_decal/corner/grey{dir = 10},/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/turf/simulated/floor/tiled/dark,/area/crew_quarters/underdorm)
"aPH" = (/obj/effect/floor_decal/corner/grey/three_quarters{dir = 4},/turf/simulated/floor/tiled/dark,/area/crew_quarters/underdorm)
-"aPI" = (/obj/structure/barricade/material{layer = 6},/obj/machinery/door/airlock{name = "Abandoned Room"},/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/turf/simulated/floor/plating,/area/crew_quarters/underdorm/sauna)
+"aPI" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/door/airlock{name = "Sauna"},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/underdorm/sauna)
"aPJ" = (/obj/effect/floor_decal/corner/grey/three_quarters,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/tiled/dark,/area/crew_quarters/underdorm)
"aPK" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/underground/locker_room)
"aPL" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/underground/locker_room)
@@ -2195,7 +2195,7 @@
"aQk" = (/obj/item/modular_computer/console/preset/security,/turf/simulated/floor/trim/darkwood,/area/maintenance/underground/security_breakroom)
"aQl" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/corner/red{dir = 4},/obj/effect/floor_decal/industrial/warning/red{dir = 1},/turf/simulated/floor/tiled/dark,/area/maintenance/underground/security_mainhall)
"aQm" = (/obj/effect/floor_decal/corner/grey{dir = 10},/obj/machinery/door/firedoor,/turf/simulated/floor/tiled/dark,/area/crew_quarters/underdorm)
-"aQn" = (/obj/structure/table/woodentable,/obj/item/reagent_containers/food/nettlesoup,/obj/effect/decal/cleanable/dirt,/obj/item/trash/sosjerky,/obj/effect/decal/cleanable/cobweb,/obj/random/trash,/turf/simulated/floor/trim/darkwood,/area/crew_quarters/underdorm/sauna)
+"aQn" = (/obj/structure/table/woodentable,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/cobweb,/obj/item/reagent_containers/vessel/bottle/small/beer,/turf/simulated/floor/trim/darkwood,/area/crew_quarters/underdorm/sauna)
"aQo" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/power/apc{name = "east bump"; dir = 4; pixel_x = 24},/obj/structure/cable{icon_state = "0-8"; d2 = 8},/obj/effect/floor_decal/rust,/obj/structure/table/steel,/obj/item/material/ashtray,/obj/random/smokes,/obj/effect/floor_decal/corner/red{dir = 6},/turf/simulated/floor/tiled/dark,/area/maintenance/underground/security_mainhall)
"aQp" = (/obj/machinery/door/airlock/maintenance{req_access = list(12)},/obj/machinery/door/firedoor/border_only,/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/underground/central_three)
"aQq" = (/turf/simulated/floor/tiled/white/rough,/area/rnd/xenobiology/xenoflora_storage)
@@ -2205,7 +2205,7 @@
"aQu" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark,/area/crew_quarters/underdorm)
"aQv" = (/obj/effect/floor_decal/corner/grey{dir = 5},/obj/effect/floor_decal/spline/fancy/wood/corner{dir = 1},/turf/simulated/floor/tiled/dark,/area/crew_quarters/underdorm)
"aQw" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{icon_state = "0-8"; d2 = 8},/obj/machinery/door/blast/regular{name = "Containment Blast Doors"; icon_state = "pdoor0"; opacity = 0; density = 0; id = "xenobio6"},/obj/structure/window_frame/grille/rglass,/turf/simulated/floor/plating,/area/rnd/xenobiology)
-"aQx" = (/obj/structure/bed/pew/pewchapel/left,/obj/effect/decal/cleanable/dirt,/obj/item/trash/cans/cola,/turf/simulated/floor/trim/darkwood,/area/crew_quarters/underdorm/sauna)
+"aQx" = (/obj/structure/bed/pew/pewchapel/left,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/trim/darkwood,/area/crew_quarters/underdorm/sauna)
"aQy" = (/obj/structure/bed/pew/pewchapel/middle,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/trim/darkwood,/area/crew_quarters/underdorm/sauna)
"aQz" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/bed/pew/pewchapel/right,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/trim/darkwood,/area/crew_quarters/underdorm/sauna)
"aQA" = (/obj/effect/floor_decal/corner/grey{dir = 5},/obj/effect/floor_decal/spline/fancy/wood{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/dark,/area/crew_quarters/underdorm)
@@ -2213,22 +2213,21 @@
"aQC" = (/obj/random/tech_supply,/obj/random/tech_supply,/obj/structure/table/steel,/obj/random/tech_supply,/obj/random/tech_supply,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/rough,/area/maintenance/underground/atmospherics)
"aQD" = (/obj/structure/table/rack{dir = 1},/obj/item/clothing/suit/fire/firefighter,/obj/item/tank/oxygen,/obj/item/clothing/mask/gas,/obj/item/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/glasses/hud/standard/meson,/turf/simulated/floor/plating,/area/maintenance/underground/security_west)
"aQF" = (/obj/machinery/door/firedoor/border_only,/obj/structure/window_frame/reinforced/hull,/obj/machinery/door/blast/regular{name = "Biohazard Blast Doors"; icon_state = "pdoor0"; opacity = 0; density = 0; dir = 2; id = "xenobotwindow2"},/turf/simulated/floor/plating,/area/rnd/xenobiology/xenoflora_storage)
-"aQG" = (/obj/machinery/space_heater,/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small/hl{dir = 8},/turf/simulated/floor/trim/wood,/area/crew_quarters/underdorm/sauna)
+"aQG" = (/obj/machinery/light/small/hl{dir = 8},/obj/machinery/sauna,/turf/simulated/floor/trim/wood,/area/crew_quarters/underdorm/sauna)
"aQH" = (/obj/machinery/vending/snack,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/rough,/area/maintenance/ghetto_dockhall)
"aQI" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/rough,/area/maintenance/ghetto_dockhall)
-"aQJ" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/trim/wood{icon_state = "wood_broken3"},/area/crew_quarters/underdorm/sauna)
+"aQJ" = (/turf/simulated/floor/trim/wood,/area/crew_quarters/underdorm/sauna)
"aQK" = (/obj/effect/decal/cleanable/mucus,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/maintenance/underground/locker_room)
-"aQL" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/trim/wood{icon_state = "wood_broken5"},/area/crew_quarters/underdorm/sauna)
+"aQL" = (/obj/structure/table/woodentable,/obj/item/towel/random,/obj/item/towel/random,/obj/machinery/light_switch,/obj/machinery/light_switch{pixel_y = -25},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/underdorm/sauna)
"aQM" = (/obj/structure/table/rack{dir = 8},/obj/item/module/power_control,/obj/item/cell{maxcharge = 2000},/obj/effect/decal/cleanable/cobweb2{icon_state = "cobweb1"},/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/button/remote/blast_door{name = "Warehouse Door Control"; pixel_x = 4; pixel_y = 24; id = "qm_warehouse"; req_access = list(31)},/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/effect/floor_decal/oldflood,/turf/simulated/floor/tiled/rough,/area/quartermaster/storage/under/secure)
-"aQN" = (/obj/machinery/door/window/eastleft,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/trim/wood{icon_state = "wood_broken2"},/area/crew_quarters/underdorm/sauna)
+"aQN" = (/obj/machinery/door/window/eastleft,/turf/simulated/floor/trim/wood,/area/crew_quarters/underdorm/sauna)
"aQO" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/effect/floor_decal/oldflood,/turf/simulated/floor/tiled/rough,/area/quartermaster/storage/under/secure)
"aQP" = (/obj/structure/closet/crate,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/effect/floor_decal/oldflood,/turf/simulated/floor/tiled/rough,/area/quartermaster/storage/under/secure)
-"aQQ" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/crew_quarters/underdorm/sauna)
"aQR" = (/obj/structure/table/rack{dir = 8},/obj/random/maintenance,/obj/random/maintenance,/obj/random/tech_supply,/obj/effect/floor_decal/industrial/outline/yellow,/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/effect/floor_decal/oldflood,/obj/effect/decal/cleanable/dirt,/obj/machinery/alarm{pixel_y = 24},/obj/machinery/light/small/hl{dir = 4},/turf/simulated/floor/tiled/rough,/area/quartermaster/storage/under/secure)
"aQS" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/effect/decal/cleanable/dirt,/obj/structure/sign/poster{pixel_x = -32},/turf/simulated/floor/tiled/rough,/area/quartermaster/storage/under)
"aQT" = (/obj/effect/floor_decal/corner/grey{dir = 5},/obj/effect/floor_decal/spline/fancy/wood{dir = 1},/turf/simulated/floor/tiled/dark,/area/crew_quarters/underdorm)
"aQU" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/structure/cable{icon_state = "2-8"; d2 = 8; d1 = 2},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/rough,/area/engineering/grav_generator)
-"aQV" = (/obj/structure/table/woodentable,/obj/item/reagent_containers/vessel/bottle/vodka,/obj/effect/decal/cleanable/dirt,/obj/random/trash,/turf/simulated/floor/trim/darkwood,/area/crew_quarters/underdorm/sauna)
+"aQV" = (/obj/structure/table/woodentable,/obj/item/reagent_containers/vessel/bottle/vodka,/obj/effect/decal/cleanable/dirt,/obj/item/reagent_containers/vessel/bucket,/turf/simulated/floor/trim/darkwood,/area/crew_quarters/underdorm/sauna)
"aQW" = (/mob/living/simple_animal/mouse,/obj/item/clothing/mask/rubber,/turf/simulated/floor/trim/wood{icon_state = "wood_broken3"},/area/maintenance/ghetto_dorm)
"aQX" = (/obj/machinery/light/small{dir = 1},/obj/machinery/recharge_station,/turf/simulated/floor/tiled/freezer,/area/medical/patient_wing/washroom)
"aQY" = (/obj/machinery/door/airlock/medical{name = "Cubicle 2"; icon = 'icons/obj/doors/doorviro.dmi'; icon_state = "door_open"; id_tag = "cubicle2"},/obj/effect/floor_decal/spline/plain/grey{dir = 8},/turf/simulated/floor/tiled/freezer,/area/medical/patient_wing/washroom)
@@ -2266,7 +2265,7 @@
"aRE" = (/obj/machinery/alarm{pixel_y = 24},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/rough,/area/maintenance/underground/research_misc)
"aRF" = (/obj/effect/floor_decal/corner/grey{dir = 8},/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/dark,/area/crew_quarters/underdorm)
"aRG" = (/obj/effect/floor_decal/corner/grey{dir = 6},/obj/structure/cable{icon_state = "2-8"; d2 = 8; d1 = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/alarm{dir = 8; pixel_x = 24},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{icon_state = "conpipe-c"; dir = 2},/turf/simulated/floor/tiled/dark,/area/crew_quarters/underdorm)
-"aRH" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/dark,/area/crew_quarters/underdorm/sauna)
+"aRH" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/underdorm/sauna)
"aRI" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/underground/security)
"aRJ" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/turf/simulated/floor/plating,/area/maintenance/underground/locker_room)
"aRK" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/bed/pew/pewchapel/right{icon_state = "chair_pewchapel_right_over"; dir = 1},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/trim/darkwood,/area/crew_quarters/underdorm/sauna)
@@ -2275,7 +2274,7 @@
"aRN" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/corner/brown{dir = 6},/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/effect/floor_decal/oldflood,/turf/simulated/floor/tiled/rough,/area/quartermaster/storage/under)
"aRO" = (/obj/effect/floor_decal/corner/grey{dir = 9},/obj/machinery/door/firedoor,/turf/simulated/floor/tiled/dark,/area/crew_quarters/underdorm)
"aRP" = (/turf/simulated/wall/r_wall,/area/maintenance/underground/security_lobby)
-"aRQ" = (/obj/effect/decal/cleanable/dirt,/obj/item/stack/cable_coil/single,/obj/item/trash/semki,/obj/machinery/power/apc/derelict{pixel_y = -24},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/underdorm/sauna)
+"aRQ" = (/obj/structure/cable,/obj/structure/table/woodentable,/obj/item/towel/random,/obj/item/towel/random,/obj/item/reagent_containers/vessel/bottle/small/beer,/obj/machinery/power/apc{name = "south bump"; pixel_y = -24},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/underdorm/sauna)
"aRR" = (/obj/item/device/radio/intercom{dir = 4; pixel_x = -22},/obj/effect/floor_decal/oldflood,/turf/simulated/floor/tiled/rough,/area/quartermaster/storage/under/secure)
"aRS" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_access = list(31)},/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/turf/simulated/floor/plating,/area/quartermaster/storage/under/secure)
"aRT" = (/obj/effect/floor_decal/corner/purple{dir = 6},/obj/machinery/light{dir = 4},/obj/item/device/radio/intercom{dir = 8; pixel_x = 25},/turf/simulated/floor/tiled/white/rough,/area/rnd/xenobiology/xenoflora_storage)
@@ -2304,7 +2303,7 @@
"aSq" = (/obj/structure/cable/green{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/tiled/white/rough,/area/rnd/xenobiology/xenoflora_storage)
"aSr" = (/obj/machinery/light{dir = 1},/obj/machinery/vending/coffee,/turf/simulated/floor/tiled/dark/rough,/area/crew_quarters/underdorm)
"aSs" = (/obj/random/obstruction,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/random/trash,/obj/random/trash,/turf/simulated/floor/plating,/area/maintenance/underground/dormitories)
-"aSt" = (/obj/structure/barricade/material{layer = 6},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/underground/dormitories)
+"aSt" = (/obj/structure/barricade/material,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/underground/dormitories)
"aSu" = (/obj/machinery/firealarm{dir = 4; pixel_x = 26},/obj/machinery/vending/snack,/turf/simulated/floor/tiled/dark/rough,/area/crew_quarters/underdorm)
"aSv" = (/obj/effect/floor_decal/corner/grey{dir = 9},/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/dark,/area/crew_quarters/underdorm)
"aSw" = (/obj/structure/cable{icon_state = "1-4"; d2 = 4; d1 = 1},/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/hologram/holopad,/obj/effect/floor_decal/corner/grey{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/disposalpipe/segment{icon_state = "pipe-c"; dir = 1},/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/turf/simulated/floor/tiled/dark,/area/crew_quarters/underdorm)
@@ -2890,7 +2889,7 @@
"hHb" = (/turf/simulated/wall/r_wall,/area/rnd/xenobiology/dorm)
"hIb" = (/turf/simulated/wall,/area/rnd/xenobiology/dorm)
"hPb" = (/obj/structure/table/woodentable,/obj/machinery/chemical_dispenser/bar_soft/full,/obj/machinery/light_switch{dir = 1; pixel_x = 10; pixel_y = 26},/turf/simulated/floor/trim/wood,/area/rnd/research_under/breakroom)
-"hQb" = (/obj/structure/table/woodentable,/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/item/storage/box/cups,/obj/machinery/alarm{pixel_y = 24},/turf/simulated/floor/trim/wood,/area/rnd/research_under/breakroom)
+"hQb" = (/obj/structure/table/woodentable,/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/item/storage/box/cups,/obj/machinery/alarm{pixel_y = 24},/obj/item/storage/box/coffeemaking_kit,/turf/simulated/floor/trim/wood,/area/rnd/research_under/breakroom)
"hSb" = (/obj/machinery/vending/coffee,/obj/structure/sign/poster{pixel_x = 32},/turf/simulated/floor/trim/wood,/area/rnd/research_under/breakroom)
"hTb" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/washing_machine,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled/freezer,/area/rnd/research_under/breakroom)
"hUb" = (/obj/structure/table/standard,/obj/structure/bedsheetbin,/obj/machinery/alarm{pixel_y = 24},/turf/simulated/floor/tiled/freezer,/area/rnd/research_under/breakroom)
@@ -3102,8 +3101,8 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaetadtaeuaevaevaevaevadfadfadfadfadfadfadfajkajkajkadfadfadfadfadfaPeaexcRbaexabPacTacTacTacTacTacTacTacTaRUacTaPwaPxaPyaRtaPDaPGaPHaRtaPJbcDaPSaPWaQaaQcaQfaQmaQraQtaQuafzaQvaQAaQTaRaaeSaujaujaeSawgawgaeQaacaaaaaaaaaaacalNakjxwvairagDaisalKalMajWagDairxwvakDalNaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaeTaeTaeTanyanyaeTaeTaeTaeTanyanyaeTaeTaetaetaeVaeWaevaacaacaaaaaaaaaaaaaaaaaaaaaaacaacaacaacaacaacaacaacaacaexaOTcSbabQabYaSsaStadgadgadgadgadgaTVaefacTacTaPzaPzaPzaPzaPIaPzaPzabKacZabKabKadGadGadJadGaRtaReaRnaRAaRAaRDaRFaRGaeSaujaujaeSaeFaeHaeQaacaacaaaaaaalNalNajMairairairadKalKamzakKairairairakLalNalNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaeTafoafpafpafpafpafpafqafpafpafpafpafpafpafrafsaftaevaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaacaacaexafucTbaexacTacTacTabZacVabXacWacTaSDaSGabXacTaQnaQxaQyaQzaRHaEHafKabKaeGabKaeEadGagRaeJaFVafEafEafGafGafEaRtaROaRZaeSaeSaeSaeSagyaeFaeQaacaacaacaacalNaluairairairankalBamAamUalBankairairairaohalNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaeTafIaeTaeTaeTaeTaeTaeTaeTaeTaeTaeTaeTaeTaeTaevafJaevaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaacaexdgbcUbadyaacaaaacTadFaezadFadFacTafwafxabXacTaQGaQJaQLaQNaQQaFnaiHabKaozagKahEadGahFajHakyafEaljafHamKauGaRtaSnaSoaSpaSraSuaeSagzaheaeQaeQaeQaeQaacalNammairairanvalBalBanlanlalBalBaFYairairammalNaaaaaaaaaaaaaaaaaaaaaaaaapbapbapbasSasSasSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaaaaaaaaaagbagcagdagcaaaaaaaaaaaaaaaaacaaaaaaaacaaaaaaaaaageagfageaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadyadycSbadyaacaacacTadwaumaNQaecacTakGaSEagIacTaQVasRaRdaRKaRQaFnamwabKaCFabKabKadGaCWaExaEyafEaEAamBaECaEDbczaSvaSwaSBaUsaWxahmanpanqanransagEaSHaaaalNammairairanxaoPantanuanuanwaoPanYairairammalNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaacaacasSasSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaeTafIaeTaeTaeTaeTaeTaeTaeTaeTaeTaeTaeTaeTaeTaevafJaevaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaacaexdgbcUbadyaacaaaacTadFaezadFadFacTafwafxabXacTaQGaQJaQJaQNaRHaFnaiHabKaozagKahEadGahFajHakyafEaljafHamKauGaRtaSnaSoaSpaSraSuaeSagzaheaeQaeQaeQaeQaacalNammairairanvalBalBanlanlalBalBaFYairairammalNaaaaaaaaaaaaaaaaaaaaaaaaapbapbapbasSasSasSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaaaaaaaaaagbagcagdagcaaaaaaaaaaaaaaaaacaaaaaaaacaaaaaaaaaageagfageaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadyadycSbadyaacaacacTadwaumaNQaecacTakGaSEagIacTaQVasRaRdaRKaRQaQLamwabKaCFabKabKadGaCWaExaEyafEaEAamBaECaEDbczaSvaSwaSBaUsaWxahmanpanqanransagEaSHaaaalNammairairanxaoPantanuanuanwaoPanYairairammalNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaacaacasSasSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaagbagFagGagcaaaaaaaaaaaaaaaaacaaaaaaaacaaaaaaaaaageagHageaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacadyadxadyaaaaacacTaedaeeaOFaPfacTafLamqaSFacTaPzaPzaPzaPzaPzaPzaPzabKaEFaeraeLadGaEIaEJapcafEaEOaERaESaETaRtaWEaXAaXGaYuaPHahYanAanCanGanIamPaSHaaaalNammxwvairaisanKalKanOanPamzaogajWairxwvammalNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaacaacaacasSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaacaacagbahfahgagcaaaaaaaibaibaibaibaibaibaacaaaaaaageageahiageaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacahjcVbahjaaaaaaacTapvapvacTacTacTacTabXaefapvaaaaVmabnaacaaaaacaaaapJafFaeYafmadGaFgaFjaFkafEafEafEaFlaFlaRtaYCaZtamQjYbjYbjYbjYbjYbanQanRaeSaeSaacalNaluairairaisanKalKanSanTamzanUajWairairaohalNaacaacaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaacasSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagbahAahBagcaacaacaibaYbaZbaicaLcaibaibaibaibaibahGagHageaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacahjcXbahjaacaaaabnabnaacaaaaaaaPracTacTaefanzaaaaacaaaaacaaaaacaaaapXapXapXapXadGaFqaFraFsafEaFtaFvaFwaFxaRtasyasyasyjYbanmamWailjYbanVanWaeSaacaacalNalNammairaoGaoPaoaaobaodaofaoPapGairammalNalNaaaaacaacaaaaaaaaaaaaaaaaaaaacaacaacaacaaaaaaaacaacasSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
diff --git a/maps/exodus/exodus-2.dmm b/maps/exodus/exodus-2.dmm
index 0059fe0d199..230cef45c33 100644
--- a/maps/exodus/exodus-2.dmm
+++ b/maps/exodus/exodus-2.dmm
@@ -827,7 +827,7 @@
"apU" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/plating,/area/maintenance/security_starboard)
"apV" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/security_starboard)
"apW" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/structure/cable{icon_state = "2-4"; d2 = 4; d1 = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/security_starboard)
-"apX" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/door/airlock/engineering{name = "Security Substation"; req_one_access = list(1,11,24)},/turf/simulated/floor/plating,/area/maintenance/substation/security)
+"apX" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/door/airlock/engineering{name = "Security Substation"; req_one_access = list(1,11,24)},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/maintenance/substation/security)
"apY" = (/obj/structure/bed/chair/office/dark,/obj/effect/landmark/start/crew/warden,/turf/simulated/floor/tiled/dark/rough,/area/security/warden)
"apZ" = (/obj/structure/bookcase,/obj/item/book/wiki/detective,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/trim/lino,/area/security/detectives_office)
"aqa" = (/obj/effect/decal/cleanable/blood/oil,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/security_starboard)
@@ -918,7 +918,7 @@
"arH" = (/obj/structure/table/woodentable,/obj/machinery/photocopier/faxmachine,/obj/effect/floor_decal/spline/fancy/wood{dir = 4},/turf/simulated/floor/trim/darkwood,/area/security/meeting)
"arI" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/turf/simulated/floor/trim/wood,/area/security/meeting)
"arJ" = (/obj/machinery/firealarm{dir = 1; pixel_y = 24},/obj/structure/closet/lawcloset,/turf/simulated/floor/trim/wood,/area/security/meeting)
-"arK" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/door/airlock/engineering{name = "Security Substation"; req_one_access = list(1,11,24)},/turf/simulated/floor/plating,/area/maintenance/substation/security)
+"arK" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/door/airlock/engineering{name = "Security Substation"; req_one_access = list(1,11,24)},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/maintenance/substation/security)
"arL" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/rough,/area/hallway/primary/seclobby)
"arM" = (/obj/machinery/power/solar{name = "Port Auxiliary Solar Array"; id = "auxsolareast"},/obj/structure/cable/yellow{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating/airless,/area/solar/auxport)
"arN" = (/obj/item/caution/cone,/turf/simulated/floor/plating,/area/maintenance/security_port)
@@ -1118,7 +1118,7 @@
"avz" = (/turf/simulated/wall,/area/security/meeting)
"avA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{name = "Security Maintenance"; req_access = list(1)},/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/turf/simulated/floor/tiled/dark/rough,/area/security/brigmorgue)
"avB" = (/obj/structure/morgue,/turf/simulated/floor/tiled/dark/rough,/area/security/brigmorgue)
-"avC" = (/obj/machinery/door/airlock/glass_medical{name = "Medical Voidsuits"; req_one_access = list(5)},/turf/simulated/floor/tiled/rough,/area/ai_monitored/storage/eva)
+"avC" = (/obj/machinery/door/airlock/glass_medical{name = "Medical Voidsuits"; req_one_access = list(5)},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled/rough,/area/ai_monitored/storage/eva)
"avD" = (/turf/simulated/floor/tiled/rough,/area/hallway/primary/seclobby)
"avE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/cable{icon_state = "2-4"; d2 = 4; d1 = 2},/turf/simulated/floor/tiled/rough,/area/hallway/primary/seclobby)
"avF" = (/obj/effect/floor_decal/spline/fancy{dir = 9},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8; layer = 2.4; level = 2},/turf/simulated/floor/tiled/white/rough,/area/crew_quarters/fitness)
@@ -1138,7 +1138,7 @@
"avT" = (/obj/structure/window_frame/grille/rglass,/obj/machinery/door/blast/regular{name = "Security Blast Door"; icon_state = "pdoor0"; opacity = 0; density = 0; id = "Prison Lockdown"},/obj/structure/cable{icon_state = "0-8"; d2 = 8},/turf/simulated/floor/plating,/area/security/prison)
"avU" = (/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/rough,/area/security/prison)
"avV" = (/obj/structure/window_frame/grille/rglass,/obj/machinery/door/blast/regular{name = "Security Blast Door"; icon_state = "pdoor0"; opacity = 0; density = 0; id = "Prison Lockdown"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/security/prison)
-"avW" = (/obj/structure/window_frame/grille/rglass,/obj/machinery/door/blast/regular{name = "Security Blast Door"; icon_state = "pdoor0"; opacity = 0; density = 0; id = "Prison Lockdown"},/obj/structure/cable{icon_state = "0-8"; dir = 1; d2 = 8},/obj/structure/cable/cyan{icon_state = "1-2"; d2 = 2; d1 = 1},/turf/simulated/floor/plating,/area/security/prison)
+"avW" = (/obj/structure/window_frame/grille/rglass,/obj/machinery/door/blast/regular{name = "Security Blast Door"; icon_state = "pdoor0"; opacity = 0; density = 0; id = "Prison Lockdown"},/obj/structure/cable/cyan{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/structure/cable{icon_state = "0-8"; d2 = 8},/turf/simulated/floor/plating,/area/security/prison)
"avX" = (/obj/structure/closet/crate,/obj/item/reagent_containers/vessel/bottle/wine,/turf/simulated/floor/plating,/area/maintenance/security_port)
"avY" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/rough,/area/security/prison)
"avZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/dark,/area/security/brig/interrogation)
@@ -1304,7 +1304,7 @@
"azd" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/effect/floor_decal/rust,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/dark/rough,/area/security/brigswstorage)
"aze" = (/obj/structure/cable/green{icon_state = "2-4"; d2 = 4; d1 = 2},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/trim/carpet/purple,/area/crew_quarters/sleep/dorms)
"azf" = (/obj/structure/cable/green{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/trim/carpet/purple,/area/crew_quarters/sleep/dorms)
-"azg" = (/turf/simulated/floor/reinforced{name = "Holodeck Projector Floor"},/area/holodeck/alphadeck)
+"azg" = (/turf/simulated/floor/reinforced{name = "Holodeck Projector Floor"},/area/holodeck)
"azh" = (/obj/effect/floor_decal/corner/red{dir = 5},/obj/machinery/camera/network/security{c_tag = "Primary Hallway Fore - North"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/structure/cable{icon_state = "2-4"; d2 = 4; d1 = 2},/turf/simulated/floor/tiled/rough,/area/hallway/primary/fore)
"azi" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/corner/red{dir = 1},/turf/simulated/floor/tiled/rough,/area/hallway/primary/fore)
"azj" = (/obj/machinery/light_switch{pixel_y = 28},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/hologram/holopad,/turf/simulated/floor/trim/darkwood,/area/crew_quarters/captain)
@@ -1343,7 +1343,7 @@
"azQ" = (/obj/structure/undies_wardrobe,/turf/simulated/floor/trim/wood,/area/crew_quarters/sleep/cabin2)
"azR" = (/turf/simulated/wall,/area/crew_quarters/sleep/cabin3)
"azS" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/security_starboard)
-"azT" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/door/airlock/engineering{name = "Civilian East Substation"; req_one_access = list(11,24)},/turf/simulated/floor/plating,/area/maintenance/substation/civilian_east)
+"azT" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/door/airlock/engineering{name = "Civilian East Substation"; req_one_access = list(11,24)},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/maintenance/substation/civilian_east)
"azU" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/structure/cable{icon_state = "1-8"; d2 = 8; d1 = 1},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/plating,/area/maintenance/substation/civilian_east)
"azV" = (/obj/structure/cable{icon_state = "0-8"; d2 = 8},/obj/machinery/power/terminal{dir = 1},/obj/machinery/alarm{dir = 1; pixel_y = -24},/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/camera/network/engineering{dir = 1; c_tag = "Civilian East Substation"},/turf/simulated/floor/plating,/area/maintenance/substation/civilian_east)
"azW" = (/obj/structure/window_frame/grille/rglass,/obj/machinery/door/blast/regular{name = "Security Blast Door"; icon_state = "pdoor0"; opacity = 0; density = 0; dir = 4; id = "Prison Gate"},/obj/machinery/door/firedoor/border_only,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating,/area/security/brig)
@@ -1693,8 +1693,8 @@
"aGC" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/plating,/area/maintenance/dormitory)
"aGD" = (/obj/machinery/door/airlock/maintenance,/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/warning/corner,/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/plating,/area/crew_quarters/sleep)
"aGE" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/camera/network/civilian_east{dir = 4; c_tag = "Dormitory Holodeck Control"},/obj/structure/sign/poster{pixel_x = -32; poster_type = "/datum/poster/bay_9"},/turf/simulated/floor/tiled/dark/rough,/area/crew_quarters/fitness)
-"aGF" = (/obj/machinery/computer/HolodeckControl{linkedholodeck_area = /area/holodeck/alphadeck; programs_list_id = "ExodusMainPrograms"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/dark/rough,/area/crew_quarters/fitness)
-"aGG" = (/obj/structure/window_frame/grille,/turf/simulated/floor/plating,/area/crew_quarters/fitness)
+"aGF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/computer/holodeck,/turf/simulated/floor/tiled/dark/rough,/area/crew_quarters/fitness)
+"aGG" = (/mob/living/simple_animal/corgi/Ian,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/cable/green{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/rough,/area/crew_quarters/heads/hop)
"aGH" = (/obj/machinery/door/firedoor/border_only,/obj/structure/window_frame/rglass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/crew_quarters/fitness)
"aGI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled/rough,/area/hallway/secondary/entry/pods)
"aGJ" = (/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{pixel_x = -25; pixel_y = 30; frequency = 1380; id_tag = "escape_pod_1_berth"; tag_door = "escape_pod_1_berth_hatch"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 5},/turf/simulated/floor/tiled/rough,/area/hallway/secondary/entry/pods)
@@ -1801,7 +1801,7 @@
"aIG" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/binary/pump/on{dir = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/evahallway)
"aIH" = (/obj/structure/closet{name = "Evidence Closet"},/turf/simulated/floor/trim/lino,/area/security/detectives_office)
"aII" = (/obj/machinery/power/apc{name = "south bump"; pixel_y = -24},/obj/structure/cable,/turf/simulated/floor/trim/lino,/area/security/detectives_office)
-"aIJ" = (/obj/machinery/computer/arcade,/obj/machinery/light/small/hl{dir = 4},/turf/simulated/floor/trim/wood,/area/crew_quarters/mess)
+"aIJ" = (/obj/machinery/light/small/hl{dir = 4},/obj/machinery/vending/cigars,/turf/simulated/floor/trim/wood,/area/crew_quarters/mess)
"aIK" = (/obj/structure/filingcabinet,/turf/simulated/floor/trim/lino,/area/security/detectives_office)
"aIL" = (/obj/structure/bed/couch/right/brown{dir = 4},/obj/machinery/camera/network/civilian_east{c_tag = "Private Bedroom Four"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/trim/carpet/blue2,/area/crew_quarters/sleep/cabin4)
"aIM" = (/obj/machinery/floodlight,/turf/simulated/floor/plating,/area/maintenance/evahallway)
@@ -2280,7 +2280,7 @@
"aRR" = (/obj/structure/table/reinforced,/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/item/inflatable_dispenser,/obj/item/storage/briefcase/inflatable,/obj/item/storage/briefcase/inflatable,/obj/item/storage/briefcase/inflatable,/turf/simulated/floor/tiled/rough,/area/ai_monitored/storage/eva)
"aRS" = (/obj/machinery/light{dir = 8},/obj/structure/table/reinforced,/obj/item/storage/toolbox/electrical{pixel_x = 1; pixel_y = -1},/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/item/device/radio/intercom{dir = 4; pixel_x = -22},/obj/item/device/assembly/signaler,/obj/item/device/assembly/signaler,/obj/item/device/multitool,/turf/simulated/floor/tiled/rough,/area/ai_monitored/storage/eva)
"aRT" = (/obj/structure/window_frame/reinforced/hull,/obj/machinery/door/firedoor,/obj/machinery/door/blast/shutters/open{name = "Chapel Privacy Shutters"; dir = 4; id = "chapel"},/turf/simulated/floor/plating,/area/chapel/office)
-"aRU" = (/obj/machinery/door/airlock/glass_engineering{name = "Engineering Voidsuits"; req_one_access = list(11,24)},/turf/simulated/floor/tiled/rough,/area/ai_monitored/storage/eva)
+"aRU" = (/obj/machinery/door/airlock/glass_engineering{name = "Engineering Voidsuits"; req_one_access = list(11,24)},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled/rough,/area/ai_monitored/storage/eva)
"aRV" = (/obj/effect/floor_decal/corner/blue{dir = 5},/obj/machinery/suit_storage_unit/standard_unit,/obj/effect/floor_decal/industrial/box,/turf/simulated/floor/tiled/dark/rough,/area/ai_monitored/storage/eva)
"aRW" = (/obj/effect/floor_decal/corner/blue{dir = 5},/obj/effect/floor_decal/industrial/box,/obj/machinery/suit_storage_unit/standard_unit,/turf/simulated/floor/tiled/dark/rough,/area/ai_monitored/storage/eva)
"aRX" = (/obj/machinery/smartfridge/secure/food,/obj/machinery/door/blast/shutters{name = "South Kitchen Shutter"; icon_state = "shutter0"; opacity = 0; density = 0; dir = 2; id = "kitchen1"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen)
@@ -2459,7 +2459,7 @@
"aVo" = (/obj/machinery/power/apc{name = "east bump"; dir = 4; pixel_x = 24},/obj/structure/cable/green,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/toilet)
"aVp" = (/obj/machinery/alarm{dir = 4; pixel_x = -24},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/sink{dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/disposalpipe/segment,/turf/simulated/floor/trim/carpet/red,/area/crew_quarters/bar)
"aVq" = (/turf/simulated/floor/trim/carpet/red,/area/crew_quarters/bar)
-"aVr" = (/obj/structure/sign/warning/secure_area/cctv{pixel_x = 32},/obj/structure/closet/secure_closet/bar,/obj/item/gun/projectile/shotgun/doublebarrel,/obj/item/storage/box/shotgun/beanbags,/turf/simulated/floor/trim/carpet/red,/area/crew_quarters/bar)
+"aVr" = (/obj/structure/sign/warning/secure_area/cctv{pixel_x = 32},/obj/structure/closet/secure_closet/bar,/obj/item/gun/projectile/shotgun/doublebarrel,/obj/item/storage/box/shotgun/beanbags,/obj/item/storage/box/coffeemaking_kit,/turf/simulated/floor/trim/carpet/red,/area/crew_quarters/bar)
"aVs" = (/obj/structure/disposalpipe/segment{icon_state = "pipe-c"; dir = 1},/obj/structure/cable/green{icon_state = "1-4"; d2 = 4; d1 = 1},/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/plating,/area/maintenance/bar)
"aVt" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{icon_state = "4-8"; d2 = 8; d1 = 4},/turf/simulated/floor/plating,/area/maintenance/bar)
"aVu" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/structure/cable/green{icon_state = "2-8"; d2 = 8; d1 = 2},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor/plating,/area/maintenance/bar)
@@ -2623,7 +2623,7 @@
"aYw" = (/obj/machinery/recharge_station,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/toilet)
"aYx" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = 28},/obj/random/medical/lite,/obj/random/medical/lite,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/toilet)
"aYy" = (/obj/machinery/atm{pixel_x = -28},/turf/simulated/floor/trim/wood,/area/crew_quarters/mess)
-"aYz" = (/obj/structure/bed/couch/right/sofa{dir = 8},/obj/machinery/newscaster{dir = 8; pixel_x = 32},/turf/simulated/floor/trim/wood,/area/crew_quarters/mess)
+"aYz" = (/obj/item/flame/lighter/zippo,/obj/structure/table/darkwood_reinforced,/obj/random/smokes,/obj/machinery/newscaster{dir = 8; pixel_x = 32},/turf/simulated/floor/trim/wood,/area/crew_quarters/mess)
"aYA" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{name = "Bar"; req_access = list(25)},/obj/structure/cable/green{icon_state = "1-2"; d2 = 2; d1 = 1},/turf/simulated/floor/trim/carpet/red,/area/crew_quarters/bar)
"aYB" = (/turf/simulated/wall,/area/crew_quarters/mess)
"aYC" = (/obj/machinery/door/airlock/maintenance{name = "Bar Maintenance"; req_one_access = list(12,25,28)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/crew_quarters/mess)
@@ -2693,7 +2693,7 @@
"aZO" = (/obj/structure/table/woodentable,/obj/random/snack,/obj/item/plant_pot/random,/turf/simulated/floor/trim/carpet,/area/hallway/secondary/entry/starboard)
"aZP" = (/obj/structure/cable/green{icon_state = "1-4"; d2 = 4; d1 = 1},/obj/structure/cable/green{icon_state = "2-4"; d2 = 4; d1 = 2},/obj/effect/floor_decal/plaque,/turf/simulated/floor/tiled/rough,/area/hallway/secondary/entry/starboard)
"aZQ" = (/obj/structure/sign/poster{pixel_x = -32; poster_type = "/datum/poster/bay_9"},/turf/simulated/floor/trim/wood,/area/crew_quarters/mess)
-"aZR" = (/obj/structure/bed/couch/left/sofa{dir = 8},/turf/simulated/floor/trim/wood,/area/crew_quarters/mess)
+"aZR" = (/obj/machinery/vending/snack,/turf/simulated/floor/trim/wood,/area/crew_quarters/mess)
"aZS" = (/obj/structure/disposalpipe/segment,/obj/machinery/requests_console{name = "Bar RC"; pixel_x = -32; department = "Bar"; departmentType = 2},/obj/structure/cable/green{icon_state = "1-2"; d2 = 2; d1 = 1},/turf/simulated/floor/trim/carpet/red,/area/crew_quarters/bar)
"aZT" = (/obj/machinery/smartfridge/drinks,/obj/machinery/light/small/hl{dir = 1},/turf/simulated/floor/trim/carpet/red,/area/crew_quarters/bar)
"aZU" = (/obj/structure/cable/green{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{name = "north bump"; dir = 1; pixel_y = 24},/obj/structure/flora/pottedplant/tropicalflowers,/obj/effect/floor_decal/spline/fancy/wood,/turf/simulated/floor/trim/wood,/area/crew_quarters/mess)
@@ -2701,7 +2701,7 @@
"aZW" = (/obj/structure/table/darkwood_reinforced,/obj/machinery/reagentgrinder,/turf/simulated/floor/trim/carpet/red,/area/crew_quarters/bar)
"aZX" = (/obj/machinery/light/small/hl{dir = 8},/obj/effect/floor_decal/spline/fancy/wood{dir = 4},/turf/simulated/floor/trim/wood,/area/crew_quarters/mess)
"aZY" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{icon_state = "1-8"; d2 = 8; d1 = 1},/obj/effect/floor_decal/spline/fancy/wood/corner{dir = 8},/turf/simulated/floor/trim/wood,/area/crew_quarters/mess)
-"aZZ" = (/obj/machinery/vending/cigars,/turf/simulated/floor/trim/wood,/area/crew_quarters/mess)
+"aZZ" = (/obj/structure/table/darkwood_reinforced,/obj/machinery/coffeemaker,/turf/simulated/floor/trim/wood,/area/crew_quarters/mess)
"baa" = (/obj/structure/kitchenspike,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/kitchen)
"bab" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/obj/structure/cable/green{icon_state = "1-2"; d2 = 2; d1 = 1},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/kitchen)
"bac" = (/turf/simulated/floor/tiled/freezer,/area/crew_quarters/kitchen)
@@ -2809,7 +2809,7 @@
"bca" = (/obj/machinery/light{dir = 1},/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor/trim/carpet/oldred,/area/crew_quarters/mess)
"bcb" = (/obj/machinery/media/jukebox,/obj/machinery/light{dir = 1},/turf/simulated/floor/trim/carpet/oldred,/area/crew_quarters/mess)
"bcc" = (/obj/machinery/door/window{name = "Bar"; req_one_access = list(25); base_state = "right"},/obj/machinery/camera/network/exodus{c_tag = "Bar Central"},/obj/effect/floor_decal/spline/fancy/wood{dir = 4},/turf/simulated/floor/trim/carpet/red,/area/crew_quarters/bar)
-"bcd" = (/obj/item/flame/lighter/zippo,/obj/structure/table/darkwood_reinforced,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/alarm{dir = 8; pixel_x = 24},/obj/random/smokes,/turf/simulated/floor/trim/wood,/area/crew_quarters/mess)
+"bcd" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/alarm{dir = 8; pixel_x = 24},/obj/structure/table/darkwood_reinforced,/obj/item/reagent_containers/vessel/bottle/syrup_bottle/caramel{pixel_x = 9; pixel_y = 15},/obj/item/reagent_containers/vessel/bottle/syrup_bottle/liqueur{pixel_x = 9},/obj/item/reagent_containers/food/grown/coffee,/obj/item/reagent_containers/food/grown/coffee,/turf/simulated/floor/trim/wood,/area/crew_quarters/mess)
"bce" = (/obj/machinery/light/small{dir = 8},/obj/structure/kitchenspike,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/kitchen)
"bcf" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/disposalpipe/segment{icon_state = "pipe-c"; dir = 1},/obj/structure/cable/green{icon_state = "1-4"; d2 = 4; d1 = 1},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/kitchen)
"bcg" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{icon_state = "4-8"; d2 = 8; d1 = 4},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/kitchen)
@@ -2901,7 +2901,7 @@
"bdO" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled/rough,/area/hallway/secondary/entry/port)
"bdP" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled/rough,/area/hallway/secondary/entry/port)
"bdQ" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled/rough,/area/hallway/secondary/entry/port)
-"bdR" = (/obj/machinery/vending/snack,/obj/machinery/light/small/hl{dir = 4},/turf/simulated/floor/trim/wood,/area/crew_quarters/mess)
+"bdR" = (/obj/machinery/light/small/hl{dir = 4},/obj/structure/table/darkwood_reinforced,/obj/structure/coffee_condi_display,/turf/simulated/floor/trim/wood,/area/crew_quarters/mess)
"bdS" = (/obj/item/stool/bar_new/padded,/turf/simulated/floor/trim/carpet/oldred,/area/crew_quarters/mess)
"bdT" = (/obj/machinery/door/blast/shutters/open{dir = 8; id = "barshut1"},/obj/structure/table/darkwood_reinforced,/obj/item/plant_pot/random,/turf/simulated/floor/trim/carpet/red,/area/crew_quarters/bar)
"bdU" = (/obj/structure/table/darkwood_reinforced,/obj/machinery/chemical_dispenser/bar_soft/full,/turf/simulated/floor/trim/carpet/red,/area/crew_quarters/bar)
@@ -4063,7 +4063,7 @@
"bAg" = (/obj/structure/table/reinforced,/obj/item/packageWrap,/obj/item/device/destTagger{pixel_x = 4; pixel_y = 3},/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/atm{pixel_x = -28},/obj/effect/floor_decal/spline/fancy{icon_state = "spline_fancy"; dir = 4},/obj/structure/disposalpipe/segment{icon_state = "conpipe-c"; dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/crew_quarters/heads/hop)
"bAh" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/cable/green{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/structure/cable/green{icon_state = "2-4"; d2 = 4; d1 = 2},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/rough,/area/crew_quarters/heads/hop)
"bAi" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/obj/structure/cable/green{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/rough,/area/crew_quarters/heads/hop)
-"bAj" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/cable/green{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/rough,/area/crew_quarters/heads/hop)
+"bAj" = (/obj/structure/window_frame/grille/rglass,/obj/machinery/door/firedoor/border_only,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/security/brig)
"bAk" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/cable/green{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/rough,/area/crew_quarters/heads/hop)
"bAl" = (/obj/structure/table/woodentable,/obj/random_multi/single_item/captains_spare_id{weight = 10},/turf/simulated/floor/trim/darkwood,/area/crew_quarters/captain)
"bAm" = (/obj/structure/table/rack,/obj/item/tank/jetpack/oxygen,/obj/machinery/newscaster/security_unit{pixel_x = -32},/obj/item/clothing/suit/space/void/captain/prepared,/obj/item/clothing/mask/gas/captain,/turf/simulated/floor/trim/darkwood,/area/crew_quarters/captain)
@@ -4071,7 +4071,7 @@
"bAo" = (/obj/machinery/keycard_auth{pixel_y = -24},/turf/simulated/floor/trim/darkwood,/area/crew_quarters/captain)
"bAp" = (/obj/machinery/door/window{name = "Captain's Desk Door"; icon_state = "right"; dir = 4; req_access = list(20); base_state = "right"},/obj/machinery/light,/turf/simulated/floor/trim/darkwood,/area/crew_quarters/captain)
"bAq" = (/obj/structure/bed/chair/office/dark{dir = 4},/obj/structure/cable/green{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/rough,/area/crew_quarters/heads/hop)
-"bAr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/hatch{name = "Captain's Quarters"; req_access = list(20)},/turf/simulated/floor/trim/wood,/area/crew_quarters/captain)
+"bAr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/hatch{name = "Captain's Quarters"; req_access = list(20)},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/trim/wood,/area/crew_quarters/captain)
"bAs" = (/obj/structure/displaycase,/turf/simulated/floor/trim/carpet,/area/crew_quarters/captain)
"bAt" = (/obj/structure/cable/cyan{icon_state = "1-4"; d2 = 4; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled/dark,/area/turret_protected/ai)
"bAu" = (/obj/structure/cable/cyan{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/grid/bluegrid,/area/turret_protected/ai)
@@ -4269,7 +4269,7 @@
"bEe" = (/obj/effect/floor_decal/corner/purple{dir = 5},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/structure/table/woodentable,/obj/item/folder/white{pixel_x = 4; pixel_y = -1},/obj/item/plant_pot/random{pixel_x = -8},/turf/simulated/floor/tiled/white/rough,/area/assembly/robotics)
"bEf" = (/obj/structure/window_frame/rglass,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/engineering/break_room)
"bEg" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor/border_only,/obj/item/paper_bin{pixel_x = 4; pixel_y = -1},/obj/item/pen,/obj/machinery/door/window/eastright{name = "Robotics Desk"; icon_state = "left"; dir = 2; req_access = list(29); base_state = "left"},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{name = "Research Division Blast Doors"; icon_state = "pdoor0"; opacity = 0; density = 0; dir = 4; id = "researchlockdown"},/turf/simulated/floor/plating,/area/assembly/robotics)
-"bEh" = (/obj/structure/cable/green{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/visible/supply,/obj/machinery/atmospherics/pipe/simple/visible/scrubbers,/obj/machinery/door/airlock/hatch{name = "Captain's Quarters"; req_access = list(20)},/turf/simulated/floor/plating,/area/crew_quarters/captain)
+"bEh" = (/obj/structure/cable/green{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/visible/supply,/obj/machinery/atmospherics/pipe/simple/visible/scrubbers,/obj/machinery/door/airlock/hatch{name = "Captain's Quarters"; req_access = list(20)},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/crew_quarters/captain)
"bEi" = (/obj/structure/cable/green{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled/dark/rough,/area/bridge/meeting_room)
"bEj" = (/obj/machinery/door/firedoor/border_only,/obj/structure/window_frame/reinforced/hull,/turf/simulated/floor/plating,/area/engineering/engine_monitoring)
"bEk" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/window/southright{name = "Research and Development Desk"; req_access = list(7)},/obj/structure/table/standard{name = "plastic table frame"},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{name = "Research Division Blast Doors"; icon_state = "pdoor0"; opacity = 0; density = 0; dir = 4; id = "researchlockdown"},/turf/simulated/floor/plating,/area/rnd/lab)
@@ -4315,7 +4315,7 @@
"bEY" = (/obj/structure/reagent_dispensers/watertank,/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/plating,/area/maintenance/substation/command)
"bEZ" = (/obj/structure/cable/green{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/dark/rough,/area/bridge/meeting_room)
"bFa" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/cable/green{icon_state = "2-4"; d2 = 4; d1 = 2},/obj/structure/disposalpipe/segment{icon_state = "pipe-c"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/substation/command)
-"bFb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/industrial/warning/corner,/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/structure/cable/green{icon_state = "0-2"; d2 = 2},/obj/structure/cable/green,/obj/structure/cable/green{icon_state = "0-8"; d2 = 8},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/substation/command)
+"bFb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/industrial/warning/corner,/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/green{icon_state = "1-8"; d2 = 8; d1 = 1},/obj/structure/cable/green{icon_state = "2-8"; d2 = 8; d1 = 2},/turf/simulated/floor/plating,/area/maintenance/substation/command)
"bFc" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/industrial/warning,/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/substation/command)
"bFd" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/shutters{name = "Medbay Emergency Quarantine Shutters"; icon_state = "shutter0"; opacity = 0; density = 0; dir = 2; id = "medbayrecquar"},/obj/structure/cable/green{icon_state = "2-4"; d2 = 4; d1 = 2},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/rough,/area/medical/reception)
"bFe" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/shutters{name = "Medbay Emergency Quarantine Shutters"; icon_state = "shutter0"; opacity = 0; density = 0; dir = 2; id = "medbayrecquar"},/obj/machinery/power/apc{name = "south bump"; pixel_y = -24},/obj/structure/cable/green{icon_state = "0-8"; d2 = 8},/obj/machinery/button/remote/blast_door{name = "EMT Door Control"; dir = 8; pixel_x = 24; pixel_y = 6; id = "emtroom"; req_access = list(5)},/turf/simulated/floor/tiled/rough,/area/medical/reception)
@@ -4356,7 +4356,7 @@
"bFN" = (/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 = 8},/obj/structure/cable/green{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/structure/disposalpipe/segment{icon_state = "pipe-c"; dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/assembly/chargebay)
"bFO" = (/obj/structure/sign/warning/secure_area,/turf/simulated/wall/r_wall,/area/hallway/primary/starboard)
"bFP" = (/obj/effect/landmark/start/crew/scientist,/obj/item/stool/padded,/obj/effect/floor_decal/corner/purple{dir = 5},/turf/simulated/floor/tiled/white/rough,/area/rnd/lab)
-"bFQ" = (/obj/structure/disposalpipe/junction,/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/turf/simulated/floor/tiled/rough,/area/hallway/primary/central_two)
+"bFQ" = (/obj/structure/disposalpipe/junction,/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/rough,/area/hallway/primary/central_two)
"bFR" = (/obj/machinery/power/apc{name = "north bump"; dir = 1; pixel_y = 24},/obj/structure/cable/green{icon_state = "0-2"; d2 = 2},/obj/machinery/camera/network/research{c_tag = "Research - R&D Lab"},/obj/effect/floor_decal/corner/purple{dir = 1},/turf/simulated/floor/tiled/white/rough,/area/rnd/lab)
"bFS" = (/turf/simulated/floor/tiled/white/rough,/area/rnd/lab)
"bFT" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled/white/rough,/area/rnd/lab)
@@ -4399,7 +4399,7 @@
"bGE" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled/rough,/area/hallway/primary/central_fore)
"bGF" = (/obj/structure/table/woodentable,/obj/item/storage/box/matches,/obj/item/clothing/mask/smokable/cigarette/cigar,/obj/item/reagent_containers/vessel/flask{pixel_x = 8},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/trim/carpet,/area/crew_quarters/captain)
"bGG" = (/obj/machinery/door/window/eastright{name = "Shower"; icon_state = "left"; dir = 1; base_state = "left"},/obj/machinery/shower{icon_state = "shower"; dir = 4; pixel_x = 5; pixel_y = -5},/obj/item/soap/deluxe,/obj/item/bikehorn/rubberducky,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/captain)
-"bGH" = (/obj/structure/sign/warning/secure_area{pixel_x = -32},/obj/structure/cable/green{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/visible/supply,/obj/machinery/atmospherics/pipe/simple/visible/scrubbers,/obj/machinery/door/airlock/hatch{name = "Teleporter Maintenance"; req_access = list(17)},/turf/simulated/floor/plating,/area/teleporter)
+"bGH" = (/obj/structure/sign/warning/secure_area{pixel_x = -32},/obj/structure/cable/green{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/visible/supply,/obj/machinery/atmospherics/pipe/simple/visible/scrubbers,/obj/machinery/door/airlock/hatch{name = "Teleporter Maintenance"; req_access = list(17)},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/teleporter)
"bGI" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/prefab/hand_teleporter,/turf/simulated/floor/tiled/rough,/area/teleporter)
"bGJ" = (/obj/structure/window_frame/grille/rglass,/obj/structure/cable/cyan{icon_state = "0-4"; d2 = 4},/obj/structure/cable/cyan{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating,/area/turret_protected/ai_upload)
"bGK" = (/obj/item/aiModule/protectStation,/obj/item/aiModule/quarantine,/obj/item/aiModule/reset,/obj/item/aiModule/nanotrasen,/obj/structure/table/standard,/obj/structure/cable/cyan{icon_state = "4-8"; d2 = 8; d1 = 4},/turf/simulated/floor/grid/bluegrid,/area/turret_protected/ai_upload)
@@ -4503,7 +4503,7 @@
"bIE" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/effect/floor_decal/spline/plain/black,/obj/effect/floor_decal/spline/plain/black{dir = 8},/obj/effect/landmark/start/antags/xeno,/obj/effect/floor_decal/spline/plain/corner/black{dir = 1},/turf/simulated/floor/tiled/dark,/area/medical/morgue)
"bIF" = (/obj/machinery/cell_charger,/obj/structure/table/steel,/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/structure/cable{icon_state = "1-8"; d2 = 8; d1 = 1},/turf/simulated/floor/plating,/area/maintenance/substation/command)
"bIG" = (/obj/item/storage/toolbox/electrical,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/table/steel,/obj/item/tank/emergency/oxygen,/obj/item/tank/emergency/oxygen,/turf/simulated/floor/plating,/area/maintenance/substation/command)
-"bIH" = (/obj/structure/cable/green{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/glass_command{name = "Conference Room"; req_access = list(19)},/turf/simulated/floor/tiled/dark/rough,/area/bridge/meeting_room)
+"bIH" = (/obj/structure/cable/green{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/glass_command{name = "Conference Room"; req_access = list(19)},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled/dark/rough,/area/bridge/meeting_room)
"bII" = (/obj/machinery/light{dir = 8},/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/effect/floor_decal/corner/brown{dir = 1},/obj/structure/sign/cargo{pixel_x = -32},/turf/simulated/floor/tiled/rough,/area/hallway/primary/central_fore)
"bIJ" = (/obj/machinery/navbeacon/wayfinding/med,/turf/simulated/floor/tiled/white/rough,/area/medical/reception)
"bIK" = (/obj/structure/bed/roller,/obj/effect/floor_decal/corner/paleblue{dir = 6},/obj/machinery/light{dir = 4},/obj/machinery/alarm{dir = 8; pixel_x = 24},/turf/simulated/floor/tiled/white/rough,/area/medical/reception)
@@ -4550,7 +4550,7 @@
"bJz" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/underground/research_utility_room)
"bJA" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9},/turf/simulated/floor/plating,/area/maintenance/underground/research_utility_room)
"bJB" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/chapel/main)
-"bJC" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{icon_state = "2-8"},/turf/simulated/floor/tiled/rough,/area/hallway/primary/central_two)
+"bJC" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/structure/cable{icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/rough,/area/hallway/primary/central_two)
"bJD" = (/obj/item/modular_computer/console/preset/supply,/turf/simulated/floor/tiled/rough,/area/hallway/primary/central_fore)
"bJE" = (/obj/effect/floor_decal/spline/plain/black{dir = 4},/obj/effect/floor_decal/spline/plain/black,/obj/machinery/light/he,/obj/effect/floor_decal/spline/plain/corner/black{dir = 4},/turf/simulated/floor/tiled/dark,/area/medical/morgue)
"bJF" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{dir = 8; pixel_x = 25; pixel_y = -8; frequency = 1380; req_one_access = list(13,48); id_tag = "mining_shuttle"; tag_door = "mining_shuttle_hatch"},/obj/effect/floor_decal/rust,/obj/effect/floor_decal/industrial/hatch/orange,/obj/structure/closet/crate,/turf/simulated/floor/shuttle/pod,/area/shuttle/mining/station)
@@ -5889,7 +5889,7 @@
"cjm" = (/obj/structure/shuttle/engine/heater{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/rough/airless,/area/shuttle/research/station)
"cjn" = (/obj/effect/floor_decal/corner/brown{dir = 5},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled/rough,/area/hallway/primary/central_three)
"cjo" = (/turf/simulated/wall/r_wall,/area/quartermaster/miningdock)
-"cjp" = (/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/tiled/rough,/area/hallway/primary/central_three)
+"cjp" = (/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled/rough,/area/hallway/primary/central_three)
"cjq" = (/obj/effect/floor_decal/corner/brown{dir = 5},/obj/structure/disposalpipe/sortjunction{name = "QM Office"; dir = 8; sortType = "QM Office"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/turf/simulated/floor/tiled/rough,/area/hallway/primary/central_three)
"cjr" = (/obj/effect/floor_decal/corner/brown{dir = 5},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/turf/simulated/floor/tiled/rough,/area/hallway/primary/central_three)
"cjs" = (/obj/effect/floor_decal/corner/brown{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 4},/turf/simulated/floor/tiled/rough,/area/hallway/primary/central_three)
@@ -6036,7 +6036,7 @@
"cmd" = (/obj/structure/table/steel,/obj/item/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/item/stock_parts/matter_bin,/obj/item/stock_parts/matter_bin,/obj/item/stock_parts/manipulator,/obj/item/stock_parts/scanning_module,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/research_shuttle)
"cme" = (/turf/simulated/wall/r_wall,/area/maintenance/cargo)
"cmf" = (/obj/random/junk,/obj/machinery/atmospherics/pipe/manifold/hidden{icon_state = "map"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/cargo)
-"cmg" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/binary/passive_gate/on{dir = 8},/obj/machinery/power/apc{name = "south bump"; pixel_y = -24},/obj/structure/cable{icon_state = "0-8"; dir = 1; d2 = 8},/turf/simulated/floor/plating,/area/maintenance/cargo)
+"cmg" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/binary/passive_gate/on{dir = 8},/obj/machinery/power/apc{name = "south bump"; pixel_y = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/maintenance/cargo)
"cmh" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/wall,/area/maintenance/cargo)
"cmi" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/green{icon_state = "0-4"; d2 = 4},/obj/structure/cable/green{icon_state = "0-2"; d2 = 2},/obj/structure/cable/green,/obj/structure/window_frame/grille/rglass,/turf/simulated/floor/plating,/area/storage/tech)
"cmj" = (/obj/machinery/power/apc{name = "north bump"; dir = 1; pixel_y = 24},/obj/structure/cable/green{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/chief)
@@ -6292,7 +6292,7 @@
"cqZ" = (/obj/effect/floor_decal/corner/grey/diagonal,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled/white/rough,/area/crew_quarters/medbreak)
"cra" = (/obj/effect/floor_decal/corner/grey/diagonal,/obj/random/pottedplant,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/white/rough,/area/crew_quarters/medbreak)
"crb" = (/obj/structure/cable/green{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/obj/effect/floor_decal/corner/paleblue{dir = 8},/turf/simulated/floor/tiled/white/rough,/area/medical/medbay4)
-"crc" = (/obj/machinery/door/firedoor/border_only,/obj/structure/window_frame/reinforced/hull,/obj/structure/barricade/material{layer = 6},/turf/simulated/floor/plating,/area/maintenance/research_starboard)
+"crc" = (/obj/machinery/door/firedoor/border_only,/obj/structure/window_frame/reinforced/hull,/obj/structure/barricade/material,/turf/simulated/floor/plating,/area/maintenance/research_starboard)
"crd" = (/obj/effect/floor_decal/corner/paleblue,/turf/simulated/floor/tiled/white/rough,/area/medical/medbay4)
"cre" = (/obj/effect/floor_decal/corner/paleblue,/obj/structure/cable/green{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white/rough,/area/medical/medbay4)
"crf" = (/obj/effect/floor_decal/spline/fancy/corner,/obj/structure/flora/ausbushes/ppflowers,/obj/structure/flora/ausbushes/sunnybush,/turf/simulated/floor/natural/grass{name = "artificial grass patch"},/area/medical/patient_wing/garden)
@@ -6524,7 +6524,7 @@
"cvx" = (/obj/structure/table/rack,/obj/effect/floor_decal/industrial/warning/corner,/obj/random/maintenance,/obj/random/maintenance,/obj/random/maintenance,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/research_starboard)
"cvy" = (/obj/random/obstruction,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/research_port)
"cvz" = (/obj/random/maintenance,/obj/random/maintenance,/turf/simulated/floor/plating,/area/maintenance/research_starboard)
-"cvA" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_one_access = list(7,12)},/obj/structure/barricade/material{layer = 6},/turf/simulated/floor/plating,/area/maintenance/research_starboard)
+"cvA" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_one_access = list(7,12)},/obj/structure/barricade/material,/turf/simulated/floor/plating,/area/maintenance/research_starboard)
"cvB" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/structure/cable{icon_state = "1-4"; d2 = 4; d1 = 1},/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8},/turf/simulated/floor/plating,/area/maintenance/research_starboard)
"cvC" = (/obj/machinery/atmospherics/pipe/manifold/visible,/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/turf/simulated/floor/plating,/area/maintenance/research_starboard)
"cvD" = (/obj/machinery/access_button{name = "interior access button"; dir = 8; pixel_x = 22; pixel_y = 22; frequency = 1379; command = "cycle_interior"; req_one_access = list(7,13); master_tag = "toxin_test_airlock"},/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/floor/plating,/area/maintenance/research_starboard)
@@ -7961,11 +7961,11 @@
"ezm" = (/obj/structure/window/miningpod,/obj/structure/window_frame/grille,/turf/simulated/floor/plating/rough,/area/shuttle/security/station)
"eBH" = (/obj/structure/cable{icon_state = "1-8"; d2 = 8; d1 = 1},/obj/machinery/navbeacon/wayfinding/court,/turf/simulated/floor/trim/wood,/area/security/meeting)
"eEN" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "security_dock_pump"},/turf/simulated/floor/tiled/dark/rough,/area/security/brig)
-"eIW" = (/obj/structure/window_frame/grille/rglass,/obj/structure/cable{icon_state = "0-8"; dir = 1; d2 = 8},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/security/brig)
"eOv" = (/obj/structure/bed/chair/shuttle/red{dir = 1},/turf/simulated/floor/shuttle/darkred,/area/shuttle/security/station)
"fJK" = (/obj/structure/table/woodentable,/obj/random/music_tape,/turf/simulated/floor/trim/wood,/area/library)
"fOf" = (/obj/structure/lattice,/turf/simulated/wall/r_wall,/area/security/armory)
"gru" = (/obj/structure/bed/chair/shuttle/red,/obj/effect/floor_decal/rust,/turf/simulated/floor/shuttle/darkred,/area/shuttle/security/station)
+"hca" = (/obj/machinery/computer/guestpass,/turf/simulated/wall,/area/quartermaster/office)
"hme" = (/turf/space,/turf/simulated/shuttle/wall/corner/security/nw,/area/shuttle/security/station)
"hFH" = (/obj/structure/shuttle/engine/heater{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/rough,/area/shuttle/security/station)
"ifB" = (/turf/space,/turf/simulated/shuttle/wall/corner/security/se,/area/shuttle/security/station)
@@ -8083,7 +8083,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjacjacjacjacjacjacjacjacjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadgadgadgadgaaaaaaadgadgadgadgadgadgadgadgadgaaaaaaadgadgadgadgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajaakaalaalaalaalaalaalaalaaaaaasQhouvouvouvvxcvxcezmifBabVabVabVadWadYadZaeaaeeaemaeraezabVabdabeaaVaaVaapaasadcadcaaradcaaradcadcaataaIabOadcadcaalaakaalaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagYagYamMagYagYaaaaaaaaaaaaaaaaaaaaaaanaanaanaanaanaanaanaanaanaanaanaanaanaanaanaanaanaaaaaaaaaaaaaaaaaaaaaaiJaiJaiJaiJaiJaiJaiJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjacjacjacjacjacjacjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadgadgadgadgaaaaaaadgadgadgadgaeQadgadgadgadgaaaaaaadgadgadgadgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajaajaalaalaaaaaaaaaaalaaaaalaaloGMacMacMacMacMtqVtqVnbtacMabVaeAaeBaeCabkaeDaeFaeGaeRafdabVabVabfabjablabnaapaasadcaaqaawaaLaaMadCadEadXaebadXackadcadcadcaalaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagYagYagYagYagYaaaaaaaaaaaaaaaaaaaaaaanaanaanaanaanaanaanaanaanaanaanaanaanaanaanaanaanaaaaaaaaaaaaaaaaaaaaaaiJaiJaiJaiJaiJaiJaiJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjacjacjacjacjacjacjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadgadgadgadgadgadgadgadgadgadgadgadgadgadgadgadgadgadgadgadgadgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajaajaalaalaaaaaaaaaaaaaalaaaaaaaaaaalaaaaaaaaaiwHjMfwfPpJCqjpabVafeaazafgafgafqafsafyafGafHafIabVabxabzabBabMaapaasadcaaOaaPaaQaaRabhaegaehaeiaehaekaePaczadcaalaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagYagYagYaaaaaaaaaaaaaaaaaaaaaaaaaanaanaanaanaanaanaanaanaanaanaanaanaanaanaanaanaanaaaaaaaaaaaaaaaaaaaaaaiJaiJaiJaiJaiJaiJaiJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjacjacjacjacjacjacjacjacjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadgadgadgadgadgadgadgadgadgadgadgadgadgadgadgadgadgadgadgadgadgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajaajaalaalaalaaaaaaaaaaalaalaalaaaaaaaalaalaaaaaaeIWlxVeENehlvdPabVaffadyafJafKafMafNafUafYaggagiabVabRacFacNacCaapaasadcabiabwabEabIadCaeZadXafbadXafcadXafkabQaalaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanaanaanaanaanaanaanaanaanaanaanaanaanaanaanaanaanaaaaaaaaaaaaaaaaaaaaaaiJaiJaiJaiJaiJaiJaiJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjacjacjacjacjacjacjacjacjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadgadgadgadgadgadgadgadgadgadgadgadgadgadgadgadgadgadgadgadgadgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajaajaalaalaalaaaaaaaaaaalaalaalaaaaaaaalaalaaaaaabAjlxVeENehlvdPabVaffadyafJafKafMafNafUafYaggagiabVabRacFacNacCaapaasadcabiabwabEabIadCaeZadXafbadXafcadXafkabQaalaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanaanaanaanaanaanaanaanaanaanaanaanaanaanaanaanaanaaaaaaaaaaaaaaaaaaaaaaiJaiJaiJaiJaiJaiJaiJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjacjacjacjacjacjacjacjacjacjacjacjacjacjacjaaaaaaaaaaaaaaaaaaaaaadgadgadgadgadgadgadgadgadgadgadgadgadgadgadgadgadgadgadgadgadgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajaajaalaalaaaaalaalaaaaaaaalaiiaiiaiiaiiafnafnabSabWafnafnvcrdKulAIagdagdagdagnagdagdagdagdaguagBabVabVaapadbaeLaapaapaapadcadcabJabNabPabYafmadXadXadXadXadXafFadcaalaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanaanaanaanaanaanaanaanaanaanaanaanaanaanaanaanaanaaaaaaaaaaaaaaaaaaaaaaiJaiJaiJaiJaiJaiJaiJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjacjacjacjacjacjacjacjacjacjacjacjacjacjacjaaaaaaaaaaaaaaaaaaaaaadgadgadgadgadgadgadgadgadgadgadgadgadgadgadgadgadgadgadgadgadgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajaalaalaaaaaaaaxaaxaaxaaxaaxaiiagJagKagLaeKaaoaaBaaCadiadTacdacfacXagdagNatwagQagTagVagZagdacnacwacyacAadqacEacIagAaaGaaSaaXadcacRacTacUadCaeZadXafbadXafOadXafPabQaalaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanaanaanaanaanaanaanaanaanaanaanaanaanaanaanaanaanaaaaaaaaaaaaaaaaaaaaaaiJaiJaiJaiJaiJaiJaiJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjacjacjacjacjacjacjacjacjacjacjacjacjacjacjaaaaaaaaaaaaaaaaaaaaaadgadgadgadgadgadgadgadgadgadgadgadgadgadgadgadgadgadgadgadgadgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajaalaaaaaaaaaaaxaaYaaZabmaboaiiahqahrahuaeKadBafxpTHahtafhuDfacWaddagdahwahGahzahEahGahIagdadfadhadjadkadmadpaefagAabpabqabtadcadGabEadIadJagkagyagyagyagzadXaeYadcaalaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanaanaanaanaanaaaaanaanaanaanaanaaaaanaanaanaanaanaaaaaaaaaaaaaaaaaaaaaaiJaiJaiJaiJaiJaiJaiJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -8118,7 +8118,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarmarmar
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarmarmarmarmarmarmarmarmarmarmarmarmarmarmarmarmarmarmaalavRawWavQawWavRawYawXawYavRaalaaaaaaaakaaaasUasUasUasUasUaaaaqhaaaasUasUasUasUasUaaaaakaaaaaaaaaaaaaaaaaaaalaaaaaaaaaaalaDwaxEayzaxbaxbaAfaBUaBVaBWaxbaxbaxbaxbaxbaxbaxbaxbaCpaCqatEatEaDDaDDaDDatEatJatEatEaCCaCPaCQaxmanAanAanAaxnanAanAanAamXandandandandanpawraxuaxuaFRawqaFSaFTazbatAazgazgazgazgazgazgazgazgazgazgaCgaalaalaalaalaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakaaaatxatxatxatxatxaalaqPaalatxatxatxatxatxaaaaakaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoXaoXaoXaoXaoXaoXaoXaoXaoXaoXaoXaoXaoXaoXaoXaoXaoXaoXaoXaoXaoXaoXaoXaoXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarmarmarmarmarmarmarmarmarmarmarmarmarmarmarmarmarmaalavRawWaxCawWavRawYaxDawYavRaalaaaaaaaajaaaaaaaaaaalaaaaaaaaaaqhaaaaaaaaaaalaaaaaaaaaaajaaaaaaaaaaaaaaaaaaaalaaaaaaaaaaalaDwazkaxaaxbawZaFWaFXaxHaxJankapZaxMaxNaxOaodaxQaxbaCJaxYatEaxgaxhauYaxSaxTaxVaxXatEaCRaCSaCYaxmanvanyanyanBanyanyanFaGaanAanAanAanAanAaGbanAanAanAanAanAayqatAatAazgazgazgazgazgazgazgazgazgazgatRapsaDGaDGaDGapsaaaaaaaaaaaaaalaalaaaaaaaaaaaaaaaaajaaaaaaaaaaalaaaaaaaaaaqPaaaaaaaaaaalaaaaaaaaaaajaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoXaoXaoXaoXaoXaoXaoXaoXaoXaoXaoXaoXaoXaoXaoXaoXaoXaoXaoXaoXaoXaoXaoXaoXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarmarmarmarmarmarmarmarmarmarmarmarmarmarmarmaalaalavRauKayuauKavRaLQayxaLQavRaalaalaaaaajaajaakaalaalaalaalaalaqhaalaalaalaalaalaakaajaajaaaaaaaaaaoaaaaaaaaalaaaaaaaaaaalaDwaGgaGhaxbaAnaGjayEaGkayDayEayFaxPayHayIayJasCaxbaEGaxYatEayPayQayRayRayRazoazuaDDaCCaCPaCQaxmaoIaGlaGlaGlaGlaGlatocWkawtaBpaDKaDLaDMayiaEaxiRaGnaEbawtaGsaGtaGuazgazgazgazgazgazgazgazgazgazgatRaymayoaypaGvapsaysaEdaEdaEdaysaalaalaaaaaaaaaaaaaajaajaakaalaalaalaalaalaqPaalaalaalaalaalaakaajaajaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoXaoXaoXaoXaoXaoXaoXaoXaoXaoXaoXaoXaoXaoXaoXaoXaoXaoXaoXaoXaoXaoXaoXaoXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarmarmarmarmarmarmarmarmarmarmarmarmaaaaaaaalavRavRazZaALaAbazZazZaANaAbavRavRaalaaaaaaaalaaaaaaaaaaaaaaaaalaqhaalaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalaalaalaalaalapaaVUaGxaxbazmaGyaGzaGAaGBayBaxHazqazrazrazsaztaxbaszavpatEazwazxazyazzazyazAazBaDDaCCaCPaDiaxmaGCayXayYayZazaayXaGDayTawtaGoazeazfazDazEazFazFazIaAyawtaGEaGFaGGazgazgazgazgazgazgazgazgazgazgatRazJazKazLazMapsazNazOazPazQazRazRazRaEraEraaaaaaaaaaaaaaaaaaaaaaaaaaaaalaqPaalaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoXaoXaoXaoXaoXaaaaaaaaaaaaaoXaoXaoXaoXaoXaoXaaaaaaaaaaaaaoXaoXaoXaoXaoXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarmarmarmarmarmarmarmarmarmarmarmarmaaaaaaaalavRavRazZaALaAbazZazZaANaAbavRavRaalaaaaaaaalaaaaaaaaaaaaaaaaalaqhaalaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalaalaalaalaalapaaVUaGxaxbazmaGyaGzaGAaGBayBaxHazqazrazrazsaztaxbaszavpatEazwazxazyazzazyazAazBaDDaCCaCPaDiaxmaGCayXayYayZazaayXaGDayTawtaGoazeazfazDazEazFazFazIaAyawtaGEaGFaNEazgazgazgazgazgazgazgazgazgazgatRazJazKazLazMapsazNazOazPazQazRazRazRaEraEraaaaaaaaaaaaaaaaaaaaaaaaaaaaalaqPaalaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoXaoXaoXaoXaoXaaaaaaaaaaaaaoXaoXaoXaoXaoXaoXaaaaaaaaaaaaaoXaoXaoXaoXaoXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaalaExaFPaHoaExaalaaaaaaaaaaaaaaaaalaEzaAVaGIaGJaEHaEIaEWaGNaGOaGPaEzaalaalaalaalaaaaaaaaaaaaaaaaalaqhaalaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalaHwpGnavpavpavpavpaGQaxbaGRaGyaAgaGSaigaAjaAkaAlaAmaFZaAoaApaxbavqaIOatEaArazyaAsaAtaAuazyaEFaDDaCCaCPaDjaxmaGUazTazUazVaAwaAxaEXaGWawtaGpaACaGqawtaGraGXaGraGYaHaawtaHbaHcatRcGqcGqcGqcGqaFeaFfcGqcGqcGqcGqatRaHfaDBaHgatIapsaHhaGiaHjaHkazRaHlaHmaHnaEraaaaaaaaaaaaaaaaaaaaaaaaaalaalaqPaalaalaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoXaoXaoXaoXaoXaaaaaaaaaaaaaoXaoXaoXaoXaoXaoXaaaaaaaaaaaaaoXaoXaoXaoXaoXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalaExaIpaIqaExaalaaaaaaaaaaaaaaaaalaEzaHpaHqaHraHsaHsaHtaGOaHqaHqaEzbHcaHubHcaalaaaaaaaaaaaaaalaalaqhaalaalaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalaHxaHyaHzaHAaIEaHBaHCaxbaHDaHEaHFaHGaHHaHIaHJaxbaxbaxbaxbaxbaxbaHXaHYatEaHLaHMaHNaHOaHPciFcpbatEaDkaCPaDlaxmaHRaGlaGlaGlaGlaGlaFgaGWawtaGZaHUaHTawtawtawtawtawtaFjawtaDZaGHatRaDmaDnaDnaDoaFkaFlaDEaDPaDWaDXatRapsapsaIiapsapsaysaysaIjaIkazRaIlaImaInaEraaaaaaaaaaaaaaaaaaaaaaaaaalaFQaIoaFQaalaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoXaoXaoXaoXaoXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoXaoXaoXaoXaoXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalaExaJBaJCaExaalaalaalaalaalaalaalazZaIraIsaItaItaItaIuaIvaIwaIxazZaIyaHvbMjaalaalaalaalaalaalaIzaIBaIzaalaalaalaalaalaalaalaalaalaalaalaalaalaalaHwavpaJzaKGavpaIFaIGaxbaIHaIIaFYaxJaIKaHiaxbaxbatHaIMaINaJPavpavqaIXatEatEcpgatEatEatEatEatEatEaDYaCPaEcaxmaIQayTaGKaGLaGMaGTaGVaHdawtaJyaHeaJyawtaHSaHWaIccGqaEeaEkaElaEmatRaIdaIRaISaISaITaIUaIVaIWaISaIZaJaaJbaJgaJhaJiaJjaJkaysaJuaysazRaJvaJwaJxazRaalaaaaaaaaaaaaaaaaaaaaaaalaMnaLXaMnaalaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoXaoXaoXaoXaoXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoXaoXaoXaoXaoXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -8149,12 +8149,12 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbe
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKaaaaaaaaaaaaaaabwgbwhbrgbrgbrgbrgbrgbnSbnSbnSbwhbwhbwibsBbsUbwibnFbnFbnFbnFbnFbwlbnFbnFbnFbwmcRTbpAbrsbthbwnbuNbwobwpbwpbwpbwpbwpbwpbtpbqnbrmbiEbkybtsbttbsVbsWbsXbsYbsZbtvbuYbwvbtabtbbtcbtdbtqbdEbBdbBLbyobtIbunbvdbvgbvgbvgbvgbvebvsbtIbtGbvhbvibwNbvjbwPbvkbvmbtGbLTbvtbrVbvwbvwbvubvxbLTbBMbvvbrKbtCaPibtJbtLbtObqHbqHbtPbqHbqwbqHbuibujbqHbqHbqHbuDbuEbuFbuGbuHbuHbuHbuHbuHbuHbuIbqHbqHbqHbuRbuTbuUbuTbuTbuVbuXbqHbvzbuybvAbvBbvDbvEbvQcWXbvSbvTbvDbvUbrTbvVbufbqHbqHbvWbvXbvUbrTbvYbvQbvZbvSbvTbwabwbbkbbkmbkjboobopbopbopboobkjbkmbsAbdeaaaaalaaaaUtaUtaUtaUtaUtaUtaUtaUtaUtaUtaUtaUtaUtaalaaaamaaalaaaaDNaoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKaaaaaaaaaaaaaaaaaaaaaaalaaaaaaaaaaalbnSbuzbxMbxNbwdbwebwebwfbwjbwkbxUbxVbxVbxWbxXbxYbxZbxVbyabpBbybbycbpAbrsbrsbrsbydbuObwpbnGbyfbygbzPbwpbyhbwqbwrbiEbykbylbttbwsbwubwwbwxbwybtvbuYbyrbtabtbbtbbtbbwzbdEbBNbpobyobtIcWmbwHbwIbwIbwIbvfbvybwJbtIbtGbyCbwGbyEbyFbyEbvkbyGbtGbLTbwMbrVbNAbNAbwObwQbwSbAVbvvbrLbwCbxabxabxbbxcbxcbxcbxdbxebxfbxgbxgbxgbxhbxgbxgbxgbxgbxibxjbxkbxkbxkbxlbxcbxcbxmbxcbxcbxcbxnbxobxpbxqbxrbxsbxtbxgbxubxkbxlbxcbxcbxcbxccWWbxcbxcbxcbxcbxcbxcbxvbxwbxxbxybxzbxwbxwbxwbxwbxAbxBbxBbxBbxCbxDbxEbxEbxEbxEbxFbxEbxEbxEbxEbxGbdeaaaaalaaaaUtaUtaUtaUtaUtaUtaUtaUtaUtaUtaUtaUtaUtaalaalaalaalaalaOvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeKbeKbeKbeKbeKaaabeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKaaabeKbeKbeKbeKbeKaaaaalaaaaaaaaaaalbnSbxObzzbzAbxHbxIbxJbxKbxLbxPbwibzHbzHbzHbzIbzHbzHbzHbzJbzKbzLbycbzMbrscRVbzNbzObwobwpcRWaVWbiCcRWbwpbiEbiEbzQbiEbzRbtsbttbxQbxRbxSbxTbyibtvbzXbvcbyjbtbbtbbtbbymbdEbCsbpobyobtIbwTbwUbwXbyzbyAbBTbBUbyBbtIbwYbyvbywbyEbyxbyEbvibAnbyybLTbyDbrVbyHbNAbwObyIbyJbAVbvvbtBbyqbysbytbyPbyQbombyRbySbyTbyUbyVbombombombombyWbyXbqHbyYbyZbqHbqHbzabzbbzcbqHbzdbzebzfbzgbzhbzabzibzjbzkbzlbqHbqHbqHbqHbzmbznbyZbqHbzacWXbqHbqHbqHbqHbqHbqHbqHbqHbvzbqHbqHbqHbqHbyZbzabzobqHbznbzpbwbbzqbzrbzsbzsbzsbwcbzsbzsbzsbzubzvbdeaaaaalaaaaUtaUtaUtaUtaUtaUtaUtaUtaUtaUtaUtaUtaUtaalaaaaZlaalaaaaDNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeKbeKbeKbeKbeKaaabeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKaaabeKbeKbeKbeKbeKaaabwgbwhbrgbnSbnSbnSbBhbBibqPbnSbnSbwhbwgbzwbzxbvJbzHbBmbBnbBobBpbBqbBrbBsbBtbBubBvbBwbrsbrsbrsbuNbBxbwpbBycSabBybBybBybBzcWnbBAbrFbBBbBCbBDbzybzBbzCbzDbzEbtvbBJbvcbzFbtbbzGbtbbzSbofbCsbpobCtbtIbyKbAdbAebAfbyAbBTbBUbwEbtGbtGbBWbBXbyNbyObAcbBXbCbbtGbLTbAgbAhbAibAjbAkbAqbBObCZbvvbBSbdFbTWaWMboPboPboPboPboPboPboPbtnboPoQQoQQoQQboPbzWbzYboPboPboPboPboPboPboPboPboPboPbvKboPboPboPboPboPbCmboPbqHbzZbzZbzZbAabCpbCpbCpbCpbCpbAwbAwbAwbAxbAybqHbAzbAAbABbACbAwcXebCpbCpbCpbCwboPboPboPbaQbaQbaQbvLbvMbBlbaQbClbClbaQbCxbCybaQaaaaalaaaaUtaUtaUtaUtaUtaUtaUtaUtaUtaUtaUtaUtaUtaalaaaamaaalaaaaDJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeKbeKbeKbeKbeKaaabeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKaaabeKbeKbeKbeKbeKaaabwgbwhbrgbnSbnSbnSbBhbBibqPbnSbnSbwhbwgbzwbzxbvJbzHbBmbBnbBobBpbBqbBrbBsbBtbBubBvbBwbrsbrsbrsbuNbBxbwpbBycSabBybBybBybBzcWnbBAbrFbBBbBCbBDbzybzBbzCbzDbzEbtvbBJbvcbzFbtbbzGbtbbzSbofbCsbpobCtbtIbyKbAdbAebAfbyAbBTbBUbwEbtGbtGbBWbBXbyNbyObAcbBXbCbbtGbLTbAgbAhbAiaGGbAkbAqbBObCZbvvbBSbdFbTWaWMboPboPboPboPboPboPboPbtnboPoQQoQQoQQboPbzWbzYboPboPboPboPboPboPboPboPboPboPbvKboPboPboPboPboPbCmboPbqHbzZbzZbzZbAabCpbCpbCpbCpbCpbAwbAwbAwbAxbAybqHbAzbAAbABbACbAwcXebCpbCpbCpbCwboPboPboPbaQbaQbaQbvLbvMbBlbaQbClbClbaQbCxbCybaQaaaaalaaaaUtaUtaUtaUtaUtaUtaUtaUtaUtaUtaUtaUtaUtaalaaaamaaalaaaaDJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKaaaaalbCDbCDbCDbCDbCDbCDbCDbCDbCDbCDaaabwhbADbzxbCzbzHbCGbKobLtbLtbzHbzHbzHbCJbiCbiCbCKbrsbCLbCMbCNbCObwpbCPbCQbCRbCRbCSbCTbCUbCVbCUbCWbEBbttbAEbAFbAGbAHbAIbDcbDdbDebAJbtbbtbbAKbALbDbbCsbpobDfbtIbwVbwWbyMbAlbwFbBTbBUcVjamabtGbvhbAtbAubAvbBPbBQbBRbtGbLTbBVbBZbCcbDjbDlbCdbLTbDgbwKbTSbdFaPibDwblrboGbspbsybtlbtmbDDcXcbtXbtYbuPbtYbuQbDybDzbDAbDMbDBbDCbDEbDFbDRbCAaTraWpbCBaTraWpbCCaTrbDRbDXbDYbDYbAObAObAOaAhbEbbskbtQbtUbEbbLKbEgbLKbCpbAPbAwbAQbCpbLUbEkbLUbCpazXbElbEnbEobEpbEqbTCbErbEsbaQbdebdebdebaQbdebdebaQbdebdebaQaaaaalaaaaUtaUtaUtaUtaUtaUtaUtaUtaUtaUtaUtaUtaUtaalaaaamaaalaaaaDJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKaaaaalbCDbCDbCDbCDbCDbCDbCDbCDbCDbCDbCDbnSbzwbARbCFbzHbEwbKobExbEybEzbEAbzHbEEaSQcRIbCKbrsbrsbrsbrsbrsbwpbrPcRPbEFbEFbEGbtvbtvbtvbtvbtvbtvbtvbtvbEHbtvbtvbASbtvbvcbEJbAJbtbbtbbtbbATbofbCsbpobDhbtIbAmbwWbAobApbDmbDrbDubtIamabtGbERbDnbtGbDocWJbvnbDpbtGbLTbLTbDZbLTbDkbDkbDkbDkbDkbDkbgbbAWaPibMSbDGbDHbDIbDJbDKbDLbDNbDObDPbDQbDQbDQbFgbFhbFibFjbFkbFlbFmbFnbFobDRbDSaTraWpbDTaTraWpbDUaTrbDRbFCbFDbugbuhbuhbuhbEabMXbEcbEcbEcbEdbEebFEbFFbCpbCpbFGbFObCpbEmbFPaSWbFRbFSbFTbEnbFUbFVbFWbFXaqbcyvbFYaalaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalaaaaUtaUtaUtaUtaUtaUtaUtaUtaUtaUtaUtaUtaUtaalaaaamaaalaaaaDJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKaaaaalbCDbCDbFZbCDbCDbCDbCDbCDbCDbCDbCDbnSbzwbAXbDVbzHbGcbzHbGdbGebGfbGgbGhbGibGjcWobGkbGlbGmbGnbGlbGlbGlbGobGobGobGpbGqbtvbDxbDxbDxbDxbGsbGtbGubGvbtvbAYbAZbGybGybNCbBabtbbtbbBbbvcbdEbDibGDbGEbtIawEbArawEawEawEbtIbEhbtIaalbtGbtGbtGbtGbDvbtGbtGbtGbtGaalbtDbEZbDkbEubECbEMbEXbEYbDkbwBcWObKwbDwbFpbFqbFrbFsbFtbFubNQbDObMnbMnbMnbMnbMnbFvbFwbFxcWDbFybGWbGXbGYbDRbDWbEvbEvbFzbEvbEvbFAbHnbDRbHsbDYbFJbFKbFLbFMbFNbHybHtbHubHvbHwbHxbHzbHAbEbbHBbHCbHDbEnbHJbHKbHLbHMbFSbHNbEnbHObFVbFVbHPbFVbHQbOCaalaalaaaaalaalaalaaaaalaalaalaaaaalaaaaaaaaaaaaaaaaUtaUtaUtaUtaUtaaaaaaaaaaaaaalaaaamaaalaaaaDNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaXraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKbeKaaaaalbCDbCDbCDbCDbCDbCDbCDbCDbCDbCDbCDbnSbzwbAXbFBbzHbHTbOWbHVbHWbzHbzHbzHcWAcWAbpBbBybBybBybBybBybBybBybBybHXbtvbtvbHYbtvbDxbDxbDxbGrbHZbIabIabIbcGmbBfbBjbBkbBEbBFbBGbBHbBKbBKbImbHebInbIqbCrbtIbAsbCfbCgbChbDsawEbDtbtIaalbNvbNvbEVbNvbEWbNvbEVbNvbNvaalbtDbEibDkbFabFbbFcbGPbGQbGRbFQbJCaPibMSbDGbGZbHabHfbHgbHhbIObHdbHjbHkbHlbHmbMnbIJbFwbIKbDMbILbIMbINbIPbDRbHpbHqbIZbHSaTraWpbDUaTrbDRbJdbDYbHEbHFbHGbHHbHIcaUbEcbJebJfbJgbJhbJibJjbEbbJkbJlbJmbEnbJsbJtbJubJvbJwbJxbEnbJybJzbJzbJAbFVbWzbOCaaaaalaalaalaalaalaalaalaaaaalaalaalaalaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalaalaalaalaalaOvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeKbeKbeKbeKbeKaaaaaaaaaaaabeKbeKbeKbeKbeKbeKaaaaaaaaaaaabeKbeKbeKbeKbeKaaaaalbCDbCDbCDbCDbCDbCDbCDbCDbCDbCDaaabwhbCibCjbIubzHbuCbJGbJHbJIbKoaalaalaalaalaalbJJbJKbJKbJKbJKbJKbJKbJKbJLaalbtvbIcbJMbJObJNbIabJPbJRbJSbJTbJUbJVbCkbCnbCobJZbAbbvcbvcbCqbvcbvcbdEbIIbpobplbtIbENbEObEQawEbESawEbETbtIaalbGJbGKbGLbGMbGNbGObGLbYjbZEaalbtDbGSbGTbGUbGVbIwbIFbIGbDkbCuboibCvbDwbIQboGbIRbISbITbIUbIObHrbIVblNbIXbIYbKzbKzbKAbKBbKCbFlbKDbKEbKFbDRbJabJbbKObHSaTraWpbDUaTrbDRbKRbDYbJnbJobJpbJqbJrbKXbKSbKTbKUbKVbKWbKYbKZbEbbLabLbbLcbEnbLibLjbLkbJvbFSbLlbEnbLmbFVbLnbLobFYbOCbOCaalaalaaaaaaaalaalaaaaalaalaalaaaaalaaaaalaalaaaaaaaaaaalaaaaaaaalaaaaakaaaaaaaalaaaamaaalaaaaDNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeKbeKbeKbeKbeKaaaaaaaaaaaabeKbeKbeKbeKbeKbeKaaaaaaaaaaaabeKbeKbeKbeKbeKaaaaalbCDbCDbCDbCDbCDbCDbCDbCDbCDbCDaaabwhbCibCjbIubzHbuCbJGbJHbJIbKoaalaalaalaalaalbJJbJKbJKbJKbJKbJKbJKbJKbJLaalbtvbIcbJMbJObJNbIabJPbJRbJSbJTbJUbJVbCkbCnbCobJZbAbhcabvcbCqbvcbvcbdEbIIbpobplbtIbENbEObEQawEbESawEbETbtIaalbGJbGKbGLbGMbGNbGObGLbYjbZEaalbtDbGSbGTbGUbGVbIwbIFbIGbDkbCuboibCvbDwbIQboGbIRbISbITbIUbIObHrbIVblNbIXbIYbKzbKzbKAbKBbKCbFlbKDbKEbKFbDRbJabJbbKObHSaTraWpbDUaTrbDRbKRbDYbJnbJobJpbJqbJrbKXbKSbKTbKUbKVbKWbKYbKZbEbbLabLbbLcbEnbLibLjbLkbJvbFSbLlbEnbLmbFVbLnbLobFYbOCbOCaalaalaaaaaaaalaalaaaaalaalaalaaaaalaaaaalaalaaaaaaaaaaalaaaaaaaalaaaaakaaaaaaaalaaaamaaalaaaaDNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeKbeKbeKbeKbeKaaaaaaaaaaaabeKbeKbeKbeKbeKbeKaaaaaaaaaaaabeKbeKbeKbeKbeKaaabwgbwhbrgbnSbnSbnSbnSbnSbnSbnSbwhbnSbwhbLpbLqbwhbLrbLsbKobKobKobKoaalaaaaalaaaaalbPpbJKbJKbJKbJKbJKbJKbJKbPpaalbStbLubLvbLwbLxbLybLzbLAbLBbLzbLCbLDbCEbCXbCYbLHbLIbvcbJDbplbJWbJXbofbJYbLJbLLbtIbEUbGbbGFawEbGGawEbDtbtIaalbZFbIhbLWbIibIrbIsbMabIvbZFaalbtDbIHbtDbDkbDkbDkbDkbDkbDkbEIbpKbEKbDwbDwbDwbUAbMkbKGbUAbIObKybKHbKHbKHbKIbELbEPbFdbFebDMbKJbKKaAKaZVbDRbKPbKQbMxbIEbJcbEvbJEaTrbDRbDXbDYbMCbMCbMCbMCbMCbKXbLdbJebLebLfbKWbKYbLgbEbbMHbLhbMJbEnbMKbMLbMMbMNbFSbMObEnbMPbFVbMQbMRbFYaalaalaalaaaaaaaaaaalaalaaaaaaaalaaaaaaaalaaaaaaaalaalaaaaaaaalaaaamaaalaaaaajaaaaaaaalaaaamaaalaaaaDJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeKbeKbeKbeKbeKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeKbeKbeKbeKbeKaaaaalaalaalaalaalaalaalaalaalaalbYibMTbMUbMVbnSaalaalaaaaalaalaalaalaalaalaalaaaaalbPpbJKbJKbJKbMWbJKbJKbJKbPpaalbYVbMYbMZbNabNbbNcbJTbNdbNebNebNfcGmbGabGwbGxbGAbGBbGCbLMbplbplbLSbofbJYbLJbplbOXbOXbOXbOXbOXbOXbOXbGHbOXaalbNvbIybKkbIzbIBbICbNxbIDbNvaalbtDbKbbKdbKebKgbKhbKibLQbtDbIjbpKbTWbNIbKLbKMbKNbMlbMmbMobNObNOwkFbNPbYXbNObNObIkbIlbNObDMcWDbMtcWDbDMbDRbNVbNWbPubNXbNXbNXbNXbNXbNXbDXbEbbFIbNYbNZbOabObbMDbEcbJebMEbMFbMGbMIbOdbKXbOebOfbOgbOmbOnaUMbOpbOqbFSbOrbEnbOscRwbOubMRbFYbOvbZwbJJaDJaDNaDJaDJaDJaDJaDJbOxbOxbOxbOxbOxbOxbOxbOxbOyaalaalaalbJJaalaalaakaalaalaalaalaZlaalaalaDNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeKbeKbeKbeKbeKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeKbeKbeKbeKbeKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalbYibOzbOAbOBbnSaalaaaaaaaalaaaaalaaaaalaaaaalaalaalbPpbJKbJKbJKbJKbJKbJKbJKcaebStbStbODbOEbNabNbbJTbOFbNdbOGaVAbbZbtvbIobtbbBjbGAbIpbAbbMrbMsbMsbNmbNnbNpbNHbOVbOXbLRbGIbHibHobIdbIebIfbOXaalbNvbNvbKqbKrbKsbKtbKqbNvbNvaalbtDbLVbLXbLYbLYbMbbMcbNkbNqbPZbdFaPibNIbMubNJbNKbNLbNMbNNbNObNTbOlbPcbPdbYXbPebPfbPgbPhcaobPibPjbPkbPlbDRbDRbUkbDRbNXbJQbKxbMvbMwbNXbHsbEbbOcbPzbPzbPzcQKbEcbEcbOhbOibOibOibOjbOkbKXbPmbPnbPobOmcaqcaqcaqbPJcaqbEnbEnbPKbFYbFYbFYbFYbMAbdfbOxbOxcaRcaRcaRcaRcaRbOxbOxbPObPPbhgbPPbhgbPPbPRaaaaalaaaaaaaalaaaaaaaalaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
diff --git a/maps/exodus/exodus-3.dmm b/maps/exodus/exodus-3.dmm
index bd2ead282c1..6fbcf28a396 100644
--- a/maps/exodus/exodus-3.dmm
+++ b/maps/exodus/exodus-3.dmm
@@ -1626,9 +1626,9 @@
"Ft" = (/obj/machinery/newscaster{layer = 3.3; pixel_y = -27},/obj/effect/floor_decal/spline/fancy/wood/corner{dir = 4},/turf/simulated/floor/trim/wood,/area/outpost/main_outpost/dorms/proom2)
"Fu" = (/obj/structure/reagent_dispensers/fueltank,/obj/effect/decal/cleanable/cobweb2{icon_state = "cobweb1"},/turf/simulated/floor/plating,/area/outpost/abandonedpost)
"Fv" = (/obj/structure/reagent_dispensers/beerkeg,/turf/simulated/floor/plating,/area/outpost/abandonedpost)
-"Fw" = (/obj/machinery/media/jukebox,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor/wood,/area/outpost/abandonedpost)
-"Fx" = (/obj/structure/table/woodentable,/obj/machinery/light/small{dir = 1},/obj/item/storage/box/donkpockets,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor/wood,/area/outpost/abandonedpost)
-"Fy" = (/obj/structure/table/woodentable,/obj/machinery/microwave,/obj/effect/decal/cleanable/cobweb2,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor/wood,/area/outpost/abandonedpost)
+"Fw" = (/obj/machinery/media/jukebox,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/trim/wood,/area/outpost/abandonedpost)
+"Fx" = (/obj/structure/table/woodentable,/obj/machinery/light/small{dir = 1},/obj/item/storage/box/donkpockets,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/trim/wood,/area/outpost/abandonedpost)
+"Fy" = (/obj/structure/table/woodentable,/obj/machinery/microwave,/obj/effect/decal/cleanable/cobweb2,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/trim/wood,/area/outpost/abandonedpost)
"Fz" = (/obj/item/device/flashlight,/obj/item/device/radio,/turf/simulated/floor/misc/cult,/area/mine/explored)
"FA" = (/obj/effect/floor_decal/corner/purple{dir = 4},/turf/simulated/floor/tiled/white/rough,/area/outpost/research/hallway)
"FB" = (/obj/structure/disposalpipe/trunk{dir = 1},/obj/machinery/disposal,/turf/simulated/floor/tiled/white/rough,/area/outpost/research/brainstorm)
@@ -1642,7 +1642,7 @@
"FJ" = (/obj/structure/catwalk,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/outpost/abandonedpost)
"FK" = (/obj/structure/catwalk,/turf/simulated/floor/plating,/area/outpost/abandonedpost)
"FL" = (/obj/structure/catwalk,/obj/machinery/door/airlock{name = "Storage"},/turf/simulated/floor/plating,/area/outpost/abandonedpost)
-"FM" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor/wood,/area/outpost/abandonedpost)
+"FM" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/trim/wood,/area/outpost/abandonedpost)
"FN" = (/obj/machinery/artifact_scanpad,/turf/simulated/floor/grid/bluegrid,/area/outpost/research/anomaly_analysis)
"FO" = (/obj/machinery/artifact_harvester,/turf/simulated/floor/grid/bluegrid,/area/outpost/research/anomaly_analysis)
"FP" = (/obj/machinery/airlock_sensor{dir = 4; id_tag = "research_sensor"; pixel_x = -25},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "research_pump"},/turf/simulated/floor/plating,/area/outpost/research/eva)
@@ -1652,8 +1652,8 @@
"FT" = (/obj/machinery/photocopier,/turf/simulated/floor/tiled/white/rough,/area/outpost/research/brainstorm)
"FU" = (/obj/structure/table/rack,/obj/item/storage/firstaid/regular,/obj/effect/decal/cleanable/generic,/turf/simulated/floor/plating,/area/outpost/abandonedpost)
"FV" = (/obj/structure/table/rack,/obj/item/storage/box/donkpockets,/obj/item/storage/box/donkpockets,/obj/item/storage/box/donkpockets,/obj/item/storage/box/donkpockets,/obj/item/storage/box/donkpockets,/obj/item/device/synthesized_instrument/guitar,/turf/simulated/floor/plating,/area/outpost/abandonedpost)
-"FW" = (/obj/structure/bed/chair,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/ash,/turf/simulated/floor/holofloor/wood,/area/outpost/abandonedpost)
-"FX" = (/turf/simulated/floor/holofloor/wood,/area/outpost/abandonedpost)
+"FW" = (/obj/structure/bed/chair,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/ash,/turf/simulated/floor/trim/wood,/area/outpost/abandonedpost)
+"FX" = (/turf/simulated/floor/trim/wood,/area/outpost/abandonedpost)
"FY" = (/obj/machinery/door/airlock{name = "Toilet"},/obj/effect/floor_decal/oldflood,/turf/simulated/floor/tiled/freezer,/area/outpost/abandonedpost)
"FZ" = (/obj/structure/sink{dir = 1; pixel_y = 16},/obj/structure/mirror{dir = 4; pixel_y = 32},/obj/effect/floor_decal/oldflood,/obj/effect/decal/cleanable/vomit,/turf/simulated/floor/tiled/freezer,/area/outpost/abandonedpost)
"Ga" = (/obj/machinery/light/small{dir = 4},/obj/structure/toilet{dir = 8},/obj/random/soap,/obj/effect/floor_decal/oldflood,/obj/effect/decal/cleanable/cobweb{dir = 8},/turf/simulated/floor/tiled/freezer,/area/outpost/abandonedpost)
@@ -1664,9 +1664,9 @@
"Gf" = (/obj/structure/table/steel,/obj/item/pickaxe,/obj/effect/decal/cleanable/cobweb2,/obj/item/reagent_containers/spray/cleaner,/turf/simulated/floor/plating,/area/outpost/main_outpost/challway)
"Gg" = (/obj/effect/floor_decal/corner/green/three_quarters{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/tiled/dirty,/area/outpost/main_outpost/dorms)
"Gh" = (/obj/structure/bed/chair/beige,/turf/simulated/floor/trim/lino,/area/outpost/main_outpost/dorms)
-"Gi" = (/obj/structure/table/woodentable,/obj/random/snack,/obj/item/reagent_containers/vessel/bottle/small/beer,/obj/item/device/radio/intercom{dir = 4; pixel_x = -22},/turf/simulated/floor/holofloor/wood,/area/outpost/abandonedpost)
-"Gj" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/holofloor/wood,/area/outpost/abandonedpost)
-"Gk" = (/obj/effect/decal/cleanable/blood,/obj/item/remains/human,/turf/simulated/floor/holofloor/wood,/area/outpost/abandonedpost)
+"Gi" = (/obj/structure/table/woodentable,/obj/random/snack,/obj/item/reagent_containers/vessel/bottle/small/beer,/obj/item/device/radio/intercom{dir = 4; pixel_x = -22},/turf/simulated/floor/trim/wood,/area/outpost/abandonedpost)
+"Gj" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/trim/wood,/area/outpost/abandonedpost)
+"Gk" = (/obj/effect/decal/cleanable/blood,/obj/item/remains/human,/turf/simulated/floor/trim/wood,/area/outpost/abandonedpost)
"Gl" = (/obj/structure/bookcase,/turf/simulated/floor/misc/cult,/area/mine/explored)
"Gm" = (/obj/item/stack/flag/red,/turf/simulated/floor/misc/cult,/area/mine/explored)
"Gn" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled/white/rough,/area/outpost/research/hallway)
@@ -1678,17 +1678,17 @@
"Gt" = (/obj/machinery/door/blast/shutters{dir = 8},/turf/simulated/floor/plating/airless,/area/outpost/abandoned)
"Gu" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white/rough,/area/outpost/research/hallway)
"Gv" = (/obj/machinery/alarm{pixel_y = 25},/turf/simulated/floor/tiled/white/rough,/area/outpost/research/hallway)
-"Gw" = (/obj/machinery/light/small{dir = 8},/obj/structure/bed/chair{dir = 1},/turf/simulated/floor/holofloor/wood,/area/outpost/abandonedpost)
-"Gx" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor/wood,/area/outpost/abandonedpost)
-"Gy" = (/obj/machinery/light_switch{dir = 8; pixel_x = 25},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor/wood,/area/outpost/abandonedpost)
+"Gw" = (/obj/machinery/light/small{dir = 8},/obj/structure/bed/chair{dir = 1},/turf/simulated/floor/trim/wood,/area/outpost/abandonedpost)
+"Gx" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/trim/wood,/area/outpost/abandonedpost)
+"Gy" = (/obj/machinery/light_switch{dir = 8; pixel_x = 25},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/trim/wood,/area/outpost/abandonedpost)
"Gz" = (/obj/structure/table/woodentable,/obj/random/toy,/turf/simulated/floor/trim/carpet,/area/outpost/abandonedpost)
"GA" = (/obj/item/bedsheet/brown,/obj/structure/bed,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/trim/carpet,/area/outpost/abandonedpost)
"GB" = (/obj/effect/decal/remains,/obj/effect/decal/cleanable/blood,/turf/simulated/floor/misc/cult,/area/mine/explored)
"GC" = (/obj/effect/decal/remains,/obj/item/device/ano_scanner,/obj/effect/decal/cleanable/blood,/turf/simulated/floor/misc/cult,/area/mine/explored)
-"GD" = (/obj/structure/cable{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/random/pottedplant,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor/wood,/area/outpost/abandonedpost)
-"GE" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/holofloor/wood,/area/outpost/abandonedpost)
-"GF" = (/obj/effect/decal/cleanable/spiderling_remains,/turf/simulated/floor/holofloor/wood,/area/outpost/abandonedpost)
-"GG" = (/obj/machinery/door/airlock{name = "Bedroom"},/turf/simulated/floor/holofloor/wood,/area/outpost/abandonedpost)
+"GD" = (/obj/structure/cable{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/random/pottedplant,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/trim/wood,/area/outpost/abandonedpost)
+"GE" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/trim/wood,/area/outpost/abandonedpost)
+"GF" = (/obj/effect/decal/cleanable/spiderling_remains,/turf/simulated/floor/trim/wood,/area/outpost/abandonedpost)
+"GG" = (/obj/machinery/door/airlock{name = "Bedroom"},/turf/simulated/floor/trim/wood,/area/outpost/abandonedpost)
"GH" = (/obj/effect/decal/cleanable/generic,/turf/simulated/floor/trim/carpet,/area/outpost/abandonedpost)
"GI" = (/obj/machinery/light/small{dir = 4},/obj/random/plushie,/turf/simulated/floor/trim/carpet,/area/outpost/abandonedpost)
"GJ" = (/obj/structure/closet/crate/internals,/turf/simulated/floor/shuttle/yellow,/area/outpost/abandoned)
@@ -2197,7 +2197,7 @@
"RS" = (/obj/machinery/floodlight,/obj/effect/floor_decal/industrial/warning/dust{dir = 4},/turf/simulated/floor,/area/mine/explored/prison)
"RT" = (/turf/simulated/wall/r_wall,/area/outpost/security/dorms)
"RV" = (/obj/structure/sign/warning/docking_area,/turf/simulated/wall,/area/mine/explored/prison)
-"Sb" = (/obj/structure/table/standard,/obj/machinery/chemical_dispenser/bar_coffee/full,/turf/simulated/floor/trim/wood,/area/outpost/main_outpost/canteen)
+"Sb" = (/obj/structure/table/standard,/turf/simulated/floor/trim/wood,/area/outpost/main_outpost/canteen)
"Sc" = (/turf/simulated/wall/r_wall,/area/outpost/main_outpost/dock/security)
"Sd" = (/obj/structure/closet/crate/internals,/obj/item/tank/oxygen,/obj/item/tank/oxygen,/obj/item/tank/oxygen,/obj/effect/floor_decal/industrial/outline/red,/turf/simulated/floor/shuttle/black,/area/outpost/prydwen)
"Sf" = (/obj/structure/closet/secure_closet/personal,/obj/effect/floor_decal/spline/fancy/wood{dir = 8},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/trim/carpet,/area/outpost/main_outpost/dorms/proom2)
@@ -2264,7 +2264,7 @@
"TS" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable,/turf/simulated/floor/tiled/rough,/area/outpost/security/dorms)
"TU" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled/rough,/area/outpost/security/prison)
"TV" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/alarm{pixel_y = 24},/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/rough,/area/outpost/security/prison)
-"TX" = (/obj/structure/table/standard,/obj/machinery/chemical_dispenser/bar_coffee/full,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/trim/wood{icon_state = "wood_broken4"},/area/outpost/main_outpost/dock/security)
+"TX" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/trim/wood{icon_state = "wood_broken4"},/area/outpost/main_outpost/dock/security)
"TY" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/mine/explored/prison)
"TZ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled/rough,/area/outpost/security/prison)
"Ua" = (/obj/structure/disposalpipe/trunk,/obj/machinery/disposal,/obj/machinery/light/small/hl{dir = 4},/obj/machinery/alarm{dir = 8; pixel_x = 24},/turf/simulated/floor/trim/wood,/area/outpost/main_outpost/canteen)
diff --git a/maps/exodus/exodus-4.dmm b/maps/exodus/exodus-4.dmm
index d5a140aeacf..42367274ff0 100644
--- a/maps/exodus/exodus-4.dmm
+++ b/maps/exodus/exodus-4.dmm
@@ -4,133 +4,43 @@
"aad" = (/obj/effect/step_trigger/teleporter/random/admin,/turf/space/transit/east,/area/space)
"aae" = (/obj/effect/floor_decal/industrial/hatch/yellow,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/holding)
"aaf" = (/turf/unsimulated/wall{icon_state = "riveted_straight"},/area/space)
-"aag" = (/obj/structure/window/reinforced/crescent,/turf/unsimulated/wall{icon_state = "riveted_straight"; dir = 8},/area/space)
"aah" = (/turf/space/transit/north,/area/space)
"aai" = (/turf/space/transit/west,/area/space)
"aaj" = (/turf/space/transit/east,/area/space)
"aak" = (/turf/simulated/mineral,/area/space)
-"aal" = (/obj/structure/window/reinforced/crescent{dir = 4},/turf/unsimulated/wall{icon_state = "riveted_straight"},/area/space)
"aam" = (/obj/structure/sign/flag/syndie,/turf/unsimulated/wall{icon_state = "riveted_straight"; dir = 8},/area/syndicate_mothership)
"aan" = (/obj/structure/window/syndi,/turf/simulated/floor/plating,/area/rescue_base/start)
-"aao" = (/obj/structure/window/reinforced/crescent{dir = 4},/obj/structure/window/reinforced/crescent{dir = 8},/turf/unsimulated/wall{icon_state = "riveted_straight"},/area/space)
-"aap" = (/obj/structure/flora/ausbushes/fullgrass,/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea)
-"aaq" = (/obj/structure/flora/ausbushes/sparsegrass,/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea)
-"aar" = (/obj/structure/table/rack/holorack,/obj/item/clothing/under/dress/dress_saloon,/obj/item/clothing/head/hairflower,/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_theatre)
-"aas" = (/obj/effect/landmark/costume,/obj/structure/table/rack/holorack,/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_theatre)
-"aat" = (/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_courtroom)
-"aau" = (/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet{dir = 9},/obj/effect/floor_decal/carpet{dir = 10},/obj/machinery/door/window/holowindoor{name = "Jury Box"; dir = 8},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
-"aav" = (/obj/structure/table/holo_woodentable,/turf/simulated/floor/holofloor/wood,/area/holodeck/source_courtroom)
-"aaw" = (/turf/simulated/floor/holofloor/reinforced,/area/holodeck/source_wildlife)
-"aax" = (/turf/simulated/floor/holofloor/reinforced,/area/holodeck/source_plating)
-"aay" = (/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_emptycourt)
-"aaz" = (/obj/structure/holostool,/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_emptycourt)
-"aaA" = (/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet/corners{dir = 10},/obj/structure/bed/chair/holochair,/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
-"aaB" = (/obj/effect/floor_decal/corner/red/three_quarters{dir = 8},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_emptycourt)
-"aaC" = (/obj/effect/floor_decal/corner/red{dir = 5},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_emptycourt)
-"aaD" = (/obj/effect/floor_decal/carpet{dir = 1},/obj/structure/bed/chair/holochair,/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
-"aaE" = (/obj/structure/window/reinforced/crescent{dir = 8},/turf/unsimulated/wall{icon_state = "riveted_straight"},/area/space)
"aaF" = (/obj/effect/step_trigger/thrower{name = "thrower_throwdown"; tiles = 0; affect_ghosts = 1; stopper = 0},/turf/space/transit/north,/area/space)
"aaG" = (/obj/effect/step_trigger/thrower{name = "thrower_escapeshuttletop(left)"; direction = 8; tiles = 0; affect_ghosts = 1},/turf/space/transit/north,/area/space)
"aaH" = (/turf/unsimulated/beach/sand{opacity = 1; density = 1},/area/beach)
"aaI" = (/obj/machinery/door/blast/regular{name = "Shuttle Blast Shutters"; icon_state = "pdoor0"; opacity = 0; density = 0; dir = 4; id = "syndieshutters"},/obj/structure/window/syndi{icon_state = "ws4"},/turf/simulated/floor/plating,/area/syndicate_station/start)
-"aaJ" = (/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea)
-"aaK" = (/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea)
-"aaL" = (/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_theatre)
-"aaM" = (/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 5},/obj/structure/bed/chair/holochair,/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
-"aaN" = (/turf/simulated/floor/holofloor/wood,/area/holodeck/source_courtroom)
-"aaO" = (/obj/effect/landmark/event/other/holodeck/carps,/turf/simulated/floor/holofloor/reinforced,/area/holodeck/source_wildlife)
-"aaP" = (/obj/effect/floor_decal/corner/red{dir = 9},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_emptycourt)
-"aaQ" = (/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_emptycourt)
-"aaR" = (/obj/effect/floor_decal/corner/green{dir = 5},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_emptycourt)
"aaS" = (/turf/space/transit/north,/area/rescue_base/transit)
"aaT" = (/obj/effect/step_trigger/thrower{name = "thrower_throwup"; direction = 1; tiles = 0},/turf/space/transit/north,/area/space)
"aaU" = (/turf/unsimulated/beach/sand,/area/beach)
"aaV" = (/obj/structure/closet,/turf/unsimulated/beach/sand,/area/beach)
-"aaW" = (/obj/structure/flora/ausbushes/brflowers,/obj/effect/floor_decal/spline/fancy/wood/corner,/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea)
-"aaX" = (/obj/structure/flora/ausbushes/ywflowers,/obj/effect/floor_decal/spline/fancy/wood,/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea)
-"aaY" = (/obj/structure/flora/ausbushes/brflowers,/obj/effect/floor_decal/spline/fancy/wood,/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea)
-"aaZ" = (/obj/structure/flora/ausbushes/ywflowers,/obj/effect/floor_decal/spline/fancy/wood/corner{dir = 8},/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea)
-"aba" = (/obj/effect/floor_decal/corner/green/three_quarters{dir = 1},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_emptycourt)
-"abb" = (/obj/structure/table/holo_woodentable,/obj/structure/window/reinforced/holowindow{dir = 8},/turf/simulated/floor/holofloor/wood,/area/holodeck/source_courtroom)
-"abc" = (/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 10},/obj/structure/bed/chair/holochair,/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
-"abd" = (/obj/effect/floor_decal/carpet,/obj/structure/bed/chair/holochair,/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
-"abe" = (/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 6},/obj/structure/bed/chair/holochair,/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
-"abf" = (/obj/effect/floor_decal/corner/green{dir = 6},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_emptycourt)
"abg" = (/obj/effect/overlay/palmtree_l,/turf/unsimulated/beach/sand,/area/beach)
"abh" = (/obj/effect/overlay/palmtree_r,/obj/effect/overlay/coconut,/turf/unsimulated/beach/sand,/area/beach)
-"abi" = (/obj/structure/flora/ausbushes/ywflowers,/obj/effect/floor_decal/spline/fancy/wood{dir = 4},/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea)
-"abj" = (/obj/structure/flora/ausbushes/brflowers,/obj/effect/floor_decal/spline/fancy/wood{dir = 4},/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea)
-"abk" = (/obj/effect/decal/cleanable/dirt,/obj/structure/holostool,/turf/simulated/floor/holofloor/desert,/area/holodeck/source_picnicarea)
-"abl" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor/desert,/area/holodeck/source_picnicarea)
-"abm" = (/obj/structure/flora/ausbushes/brflowers,/obj/effect/floor_decal/spline/fancy/wood{dir = 8},/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea)
-"abn" = (/obj/effect/floor_decal/spline/plain{dir = 1},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_theatre)
-"abo" = (/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 5},/obj/effect/floor_decal/carpet{dir = 9},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_theatre)
-"abp" = (/obj/structure/table/holo_woodentable,/obj/structure/window/reinforced/holowindow{dir = 8},/obj/structure/window/reinforced/holowindow,/turf/simulated/floor/holofloor/wood,/area/holodeck/source_courtroom)
-"abq" = (/obj/machinery/door/window/holowindoor{name = "Witness Box"; icon_state = "right"; dir = 8; base_state = "right"},/obj/structure/bed/chair/holochair{dir = 4},/obj/structure/window/reinforced/holowindow{dir = 4},/turf/simulated/floor/holofloor/wood,/area/holodeck/source_courtroom)
-"abr" = (/obj/structure/table/holo_woodentable,/obj/structure/window/reinforced/holowindow,/turf/simulated/floor/holofloor/wood,/area/holodeck/source_courtroom)
-"abs" = (/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 9},/obj/structure/table/holo_woodentable,/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
-"abt" = (/obj/effect/floor_decal/carpet{dir = 1},/obj/structure/bed/chair/holochair{dir = 8},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
-"abu" = (/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 5},/obj/structure/bed/chair/holochair{dir = 8},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
-"abv" = (/obj/structure/table/holo_woodentable,/obj/structure/window/reinforced/holowindow{dir = 4},/obj/structure/window/reinforced/holowindow{dir = 1},/turf/simulated/floor/holofloor/wood,/area/holodeck/source_courtroom)
-"abw" = (/obj/structure/bed/chair/holochair{dir = 8},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
"abx" = (/obj/effect/overlay/coconut,/turf/unsimulated/beach/sand,/area/beach)
"aby" = (/turf/unsimulated/wall{icon_state = "riveted_straight"},/area/alien)
-"abz" = (/obj/structure/table/holo_woodentable,/turf/simulated/floor/holofloor/desert,/area/holodeck/source_picnicarea)
-"abA" = (/obj/structure/flora/ausbushes/ywflowers,/obj/effect/floor_decal/spline/fancy/wood{dir = 8},/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea)
-"abB" = (/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_theatre)
-"abC" = (/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 9},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_theatre)
-"abD" = (/obj/effect/floor_decal/carpet{dir = 1},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_theatre)
-"abE" = (/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 5},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_theatre)
-"abF" = (/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet{dir = 4},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_theatre)
-"abG" = (/obj/effect/floor_decal/carpet{dir = 4},/obj/structure/bed/chair/holochair{dir = 8},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
-"abH" = (/obj/effect/floor_decal/carpet{dir = 1},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
-"abI" = (/obj/structure/bed/chair/holochair{dir = 4},/turf/simulated/floor/holofloor/wood,/area/holodeck/source_courtroom)
-"abJ" = (/obj/structure/table/holo_woodentable,/obj/structure/window/reinforced/holowindow{dir = 4},/turf/simulated/floor/holofloor/wood,/area/holodeck/source_courtroom)
-"abK" = (/obj/structure/table/holo_woodentable,/obj/structure/window/reinforced/holowindow{dir = 4},/obj/structure/window/reinforced/holowindow,/turf/simulated/floor/holofloor/wood,/area/holodeck/source_courtroom)
"abL" = (/obj/effect/step_trigger/thrower{name = "thrower_throwdownside"; tiles = 0; affect_ghosts = 1; nostop = 1},/turf/space/transit/north,/area/space)
"abM" = (/obj/effect/step_trigger/thrower{name = "thrower_escapeshuttletop(right)"; direction = 4; tiles = 0; affect_ghosts = 1},/turf/space/transit/north,/area/space)
"abN" = (/obj/effect/shuttle_landmark/rescue/internim,/turf/space/transit/north,/area/rescue_base/transit)
"abO" = (/turf/unsimulated/floor{icon_state = "dark"},/area/alien)
-"abP" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet{dir = 8},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_theatre)
-"abQ" = (/obj/structure/holostool,/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_theatre)
-"abR" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet{dir = 4},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_theatre)
-"abS" = (/obj/structure/table/holo_woodentable,/obj/effect/floor_decal/carpet{dir = 8},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
-"abT" = (/obj/effect/floor_decal/carpet{dir = 8},/obj/structure/table/holo_woodentable,/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
-"abU" = (/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
-"abV" = (/obj/effect/floor_decal/corner/red/three_quarters,/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_emptycourt)
-"abW" = (/obj/effect/floor_decal/corner/red{dir = 10},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_emptycourt)
-"abX" = (/obj/machinery/door/window/holowindoor{name = "Court Reporter's Box"; dir = 8},/obj/structure/bed/chair/holochair{dir = 4},/obj/structure/window/reinforced/holowindow{dir = 4},/turf/simulated/floor/holofloor/wood,/area/holodeck/source_courtroom)
"abY" = (/turf/space/transit/north,/area/shuttle/escape/transit)
"abZ" = (/obj/effect/overlay/palmtree_r,/turf/unsimulated/beach/sand,/area/beach)
"aca" = (/obj/item/paper{name = "Insert alien artifacts here."; info = "Some stuff is missing..."},/turf/unsimulated/floor{icon_state = "dark"},/area/alien)
"acb" = (/obj/machinery/door/airlock/hatch,/turf/unsimulated/floor{icon_state = "dark"},/area/alien)
-"acc" = (/obj/structure/flora/ausbushes/brflowers,/obj/effect/floor_decal/spline/fancy/wood{dir = 9},/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea)
"acd" = (/turf/space,/area/shuttle/alien/base)
-"ace" = (/obj/structure/flora/ausbushes/ywflowers,/obj/effect/floor_decal/spline/fancy/wood{dir = 5},/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea)
-"acf" = (/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 10},/obj/structure/table/holo_woodentable,/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
-"acg" = (/obj/effect/floor_decal/carpet,/obj/structure/bed/chair/holochair{dir = 8},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
-"ach" = (/obj/effect/floor_decal/carpet,/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
"aci" = (/obj/effect/step_trigger/thrower{name = "thrower_leftnostop"; affect_ghosts = 1},/turf/space/transit/west,/area/space)
"acj" = (/obj/effect/step_trigger/thrower{name = "thrower_leftnostop"; affect_ghosts = 1},/turf/space/transit/east,/area/space)
"ack" = (/obj/effect/landmark/event/rift/exit,/turf/unsimulated/beach/sand,/area/beach)
"acl" = (/obj/structure/closet/acloset,/turf/unsimulated/floor{icon_state = "dark"},/area/alien)
-"acm" = (/obj/structure/flora/ausbushes/brflowers,/obj/effect/floor_decal/spline/fancy/wood/corner{dir = 1},/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea)
-"acn" = (/obj/structure/flora/ausbushes/ywflowers,/obj/effect/floor_decal/spline/fancy/wood/corner{dir = 4},/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea)
-"aco" = (/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 6},/obj/structure/bed/chair/holochair{dir = 8},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
-"acp" = (/obj/effect/floor_decal/carpet{dir = 8},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
-"acq" = (/obj/structure/holostool,/obj/structure/window/reinforced/holowindow{dir = 1},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_emptycourt)
-"acr" = (/obj/machinery/door/window/holowindoor{name = "Green Team"; icon_state = "right"; dir = 1; base_state = "right"},/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_emptycourt)
"acs" = (/turf/space/transit/west,/area/shuttle/escape_pod5/transit)
"act" = (/turf/space/transit/east,/area/shuttle/escape_pod5/transit)
"acu" = (/obj/effect/step_trigger/thrower{name = "thrower_throwup"; direction = 1; tiles = 0},/turf/space/transit/east,/area/space)
"acv" = (/obj/structure/table/standard,/obj/item/reagent_containers/vessel/bottle/small/beer,/obj/item/reagent_containers/vessel/bottle/small/beer,/obj/item/reagent_containers/vessel/bottle/small/beer,/obj/item/reagent_containers/vessel/bottle/small/beer,/obj/item/reagent_containers/vessel/bottle/small/beer,/obj/item/reagent_containers/vessel/bottle/small/beer,/obj/item/reagent_containers/vessel/bottle/small/beer,/turf/unsimulated/beach/sand,/area/beach)
"acw" = (/obj/structure/table/standard,/obj/item/clothing/under/color/rainbow,/obj/item/clothing/glasses/sunglasses,/obj/item/clothing/head/collectable/petehat{pixel_y = 5},/turf/unsimulated/beach/sand,/area/beach)
"acx" = (/obj/structure/bed/alien,/turf/unsimulated/floor{icon_state = "dark"},/area/alien)
-"acy" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 10},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_theatre)
-"acz" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet,/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_theatre)
-"acA" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 6},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_theatre)
-"acB" = (/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 6},/obj/effect/floor_decal/carpet{dir = 10},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_theatre)
-"acC" = (/obj/machinery/door/window/holowindoor{name = "Red Team"; dir = 1},/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_emptycourt)
"acD" = (/obj/machinery/door/airlock/external,/turf/unsimulated/floor{name = "plating"},/area/centcom/suppy)
"acE" = (/obj/effect/shuttle_landmark/escape_pod/transit/pod5,/turf/space/transit/west,/area/shuttle/escape_pod5/transit)
"acF" = (/obj/effect/step_trigger/thrower{name = "thrower_throwdown"; tiles = 0; affect_ghosts = 1; stopper = 0},/turf/space/transit/east,/area/space)
@@ -138,52 +48,10 @@
"acH" = (/obj/structure/table/standard,/obj/item/reagent_containers/vessel/can/cola,/obj/item/reagent_containers/vessel/can/cola,/obj/item/reagent_containers/vessel/can/cola,/obj/item/reagent_containers/vessel/can/cola,/obj/item/reagent_containers/vessel/can/cola,/obj/item/reagent_containers/vessel/can/cola,/turf/unsimulated/beach/sand,/area/beach)
"acI" = (/obj/item/beach_ball,/turf/unsimulated/beach/sand,/area/beach)
"acJ" = (/obj/structure/window/syndi,/turf/simulated/floor/plating,/area/syndicate_station/start)
-"acK" = (/turf/simulated/floor/holofloor/lino,/area/holodeck/source_chess)
-"acL" = (/obj/effect/floor_decal/carpet{dir = 5},/obj/effect/floor_decal/carpet{dir = 6},/obj/effect/floor_decal/carpet{dir = 10},/obj/effect/floor_decal/carpet{dir = 9},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_theatre)
-"acM" = (/obj/machinery/door/window/holowindoor{dir = 1},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_courtroom)
-"acN" = (/obj/structure/window/reinforced/holowindow{dir = 1},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_courtroom)
-"acO" = (/obj/machinery/door/window/holowindoor{icon_state = "right"; dir = 1; base_state = "right"},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_courtroom)
-"acP" = (/obj/structure/table/holotable,/obj/effect/floor_decal/corner/red/three_quarters{dir = 8},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt)
-"acQ" = (/obj/effect/floor_decal/corner/green{dir = 10},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_emptycourt)
-"acR" = (/obj/effect/floor_decal/corner/green/three_quarters{dir = 4},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_emptycourt)
"acS" = (/obj/structure/bed,/turf/unsimulated/floor{name = "plating"},/area/prison/solitary)
-"acT" = (/obj/structure/window/reinforced/crescent,/obj/structure/window/reinforced/crescent{dir = 1},/turf/unsimulated/wall{icon_state = "riveted_straight"; dir = 8},/area/space)
-"acU" = (/obj/structure/window/reinforced/crescent{dir = 1},/obj/structure/window/reinforced/crescent,/turf/unsimulated/wall{icon_state = "riveted_straight"; dir = 8},/area/space)
-"acV" = (/turf/simulated/floor/holofloor/space,/area/holodeck/source_space)
-"acW" = (/turf/simulated/floor/holofloor/snow,/area/holodeck/source_snowfield)
-"acX" = (/turf/simulated/floor/holofloor/wood,/area/holodeck/source_meetinghall)
-"acY" = (/obj/item/reagent_containers/food/checker/rook{randpixel = 0},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_chess)
-"acZ" = (/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_basketball)
-"ada" = (/obj/structure/holostool,/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"adb" = (/turf/unsimulated/beach/sand{icon_state = "beach"; dir = 4},/area/holodeck/source_beach)
-"adc" = (/obj/effect/floor_decal/corner/red/three_quarters{dir = 8},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"add" = (/obj/effect/floor_decal/corner/red{dir = 5},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
"ade" = (/obj/machinery/door/blast/regular{name = "Shuttle Blast Shutters"; icon_state = "pdoor0"; opacity = 0; density = 0; id = "syndieshutters_infirmary"},/obj/structure/window/syndi{icon_state = "ws3"},/turf/simulated/floor/plating,/area/syndicate_station/start)
-"adf" = (/obj/effect/floor_decal/corner/red/three_quarters{dir = 1},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"adg" = (/turf/simulated/floor/holofloor/beach/sand,/area/holodeck/source_beach)
-"adh" = (/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_thunderdomecourt)
-"adi" = (/obj/structure/holostool,/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt)
-"adj" = (/obj/effect/floor_decal/corner/red{dir = 5},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt)
-"adk" = (/obj/effect/floor_decal/corner/red/three_quarters{dir = 1},/obj/structure/window/reinforced/holowindow/disappearing{dir = 4},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt)
-"adl" = (/obj/effect/floor_decal/corner/green/three_quarters{dir = 8},/obj/structure/window/reinforced/holowindow/disappearing{dir = 8},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt)
-"adm" = (/obj/effect/floor_decal/corner/green{dir = 5},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt)
-"adn" = (/obj/structure/table/holotable,/obj/item/clothing/gloves/boxing/hologlove,/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_boxingcourt)
-"ado" = (/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_boxingcourt)
"adp" = (/obj/structure/window_frame/indestructible/hull,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
"adq" = (/obj/structure/mirror,/turf/unsimulated/wall{icon_state = "riveted_straight"; dir = 8},/area/syndicate_mothership/elite_squad)
-"adr" = (/obj/effect/landmark/event/other/holodeck/randcarps,/turf/simulated/floor/holofloor/space,/area/holodeck/source_space)
-"ads" = (/obj/structure/flora/grass/both,/turf/simulated/floor/holofloor/snow,/area/holodeck/source_snowfield)
-"adt" = (/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 9},/obj/effect/floor_decal/carpet{dir = 10},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_meetinghall)
-"adu" = (/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 1},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_meetinghall)
-"adv" = (/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 5},/obj/effect/floor_decal/carpet{dir = 6},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_meetinghall)
-"adw" = (/obj/effect/floor_decal/corner/red{dir = 9},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"adx" = (/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"ady" = (/obj/effect/floor_decal/corner/red{dir = 6},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"adz" = (/obj/effect/overlay/palmtree_r,/turf/simulated/floor/holofloor/beach/sand,/area/holodeck/source_beach)
-"adA" = (/obj/structure/table/holotable,/obj/effect/floor_decal/corner/green/three_quarters{dir = 1},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt)
-"adB" = (/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt)
-"adC" = (/obj/structure/table/holotable,/obj/item/clothing/head/helmet/thunderdome,/obj/item/clothing/suit/armor/tdome/red,/obj/item/clothing/under/color/red,/obj/item/holo/esword/red,/obj/effect/floor_decal/corner/red{dir = 9},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt)
-"adD" = (/obj/structure/holostool,/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_boxingcourt)
"adE" = (/obj/effect/step_trigger/thrower{name = "thrower_throwdownsidenostop"; tiles = 0; affect_ghosts = 1; stopper = 0; nostop = 1},/turf/space/transit/north,/area/space)
"adF" = (/obj/structure/bed/chair,/obj/effect/landmark/event/rift/exit,/turf/unsimulated/beach/sand,/area/beach)
"adG" = (/mob/living/simple_animal/crab/Coffee,/turf/unsimulated/beach/sand,/area/beach)
@@ -194,14 +62,6 @@
"adL" = (/obj/effect/floor_decal/corner/red/three_quarters{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
"adM" = (/obj/structure/sink{dir = 1; pixel_y = 16},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/syndicate_mothership/elite_squad)
"adN" = (/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/syndicate_mothership/elite_squad)
-"adO" = (/obj/structure/flora/tree/pine,/turf/simulated/floor/holofloor/snow,/area/holodeck/source_snowfield)
-"adP" = (/obj/structure/table/holo_woodentable,/turf/simulated/floor/holofloor/wood,/area/holodeck/source_meetinghall)
-"adQ" = (/obj/structure/holohoop{dir = 4},/obj/effect/floor_decal/corner/red{dir = 9},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"adR" = (/obj/item/clothing/glasses/sunglasses,/turf/simulated/floor/holofloor/beach/sand,/area/holodeck/source_beach)
-"adS" = (/obj/effect/overlay/palmtree_l,/obj/effect/overlay/coconut,/turf/simulated/floor/holofloor/beach/sand,/area/holodeck/source_beach)
-"adT" = (/obj/structure/window/reinforced/holowindow/disappearing{dir = 4},/obj/effect/floor_decal/corner/red{dir = 6},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt)
-"adU" = (/obj/machinery/door/window/holowindoor{name = "Red Corner"; icon_state = "right"; dir = 2; base_state = "right"},/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_boxingcourt)
-"adV" = (/obj/structure/window/reinforced/holowindow,/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_boxingcourt)
"adW" = (/turf/space/transit/west,/area/shuttle/escape_pod3/transit)
"adX" = (/turf/space/transit/east,/area/shuttle/escape_pod3/transit)
"adY" = (/obj/item/clothing/head/collectable/paper,/turf/unsimulated/beach/sand,/area/beach)
@@ -209,37 +69,12 @@
"aea" = (/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
"aeb" = (/obj/machinery/door/airlock/hatch{name = "Restroom"; req_access = list(150)},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/syndicate_mothership/elite_squad)
"aec" = (/obj/machinery/door/blast/regular{name = "Shuttle Blast Shutters"; icon_state = "pdoor0"; opacity = 0; density = 0; id = "syndieshutters_workshop"},/obj/structure/window/syndi{icon_state = "ws2"},/turf/simulated/floor/plating,/area/syndicate_station/start)
-"aed" = (/turf/simulated/floor/holofloor/lino,/area/holodeck/source_meetinghall)
-"aee" = (/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_meetinghall)
-"aef" = (/obj/item/beach_ball,/turf/simulated/floor/holofloor/beach/sand,/area/holodeck/source_beach)
-"aeg" = (/obj/structure/window/reinforced/holowindow{dir = 4},/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_boxingcourt)
-"aeh" = (/obj/effect/floor_decal/corner/red/three_quarters{dir = 8},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_boxingcourt)
-"aei" = (/obj/effect/floor_decal/corner/red{dir = 5},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_boxingcourt)
-"aej" = (/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_boxingcourt)
-"aek" = (/obj/structure/window/reinforced/holowindow{dir = 8},/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_boxingcourt)
"ael" = (/obj/effect/shuttle_landmark/escape_pod/transit/pod3,/turf/space/transit/east,/area/shuttle/escape_pod3/transit)
"aem" = (/obj/machinery/light{dir = 8},/obj/effect/floor_decal/corner/red{dir = 9},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
"aen" = (/obj/structure/bed/chair/comfy/black,/obj/effect/landmark/start/antags/commando,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
"aeo" = (/obj/machinery/light{dir = 4},/obj/effect/floor_decal/corner/red{dir = 6},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
"aep" = (/obj/machinery/door/airlock/hatch{name = "Cabin"; req_access = list(150)},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/syndicate_mothership/elite_squad)
"aeq" = (/turf/unsimulated/wall{icon_state = "riveted_straight"; dir = 8},/area/prison/solitary)
-"aer" = (/obj/structure/flora/grass/green,/turf/simulated/floor/holofloor/snow,/area/holodeck/source_snowfield)
-"aes" = (/obj/effect/floor_decal/carpet{dir = 5},/obj/effect/floor_decal/carpet{dir = 6},/obj/effect/floor_decal/carpet{dir = 9},/obj/effect/floor_decal/carpet{dir = 10},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_meetinghall)
-"aet" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 9},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_meetinghall)
-"aeu" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet{dir = 1},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_meetinghall)
-"aev" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 5},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_meetinghall)
-"aew" = (/obj/effect/floor_decal/corner/red/three_quarters,/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"aex" = (/obj/effect/floor_decal/corner/red{dir = 10},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"aey" = (/obj/effect/floor_decal/corner/red{dir = 6},/obj/item/beach_ball/holoball,/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"aez" = (/obj/effect/floor_decal/corner/red/three_quarters{dir = 4},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"aeA" = (/obj/item/inflatable_duck,/turf/simulated/floor/holofloor/beach/sand,/area/holodeck/source_beach)
-"aeB" = (/obj/structure/window/reinforced/holowindow/disappearing{dir = 8},/obj/effect/floor_decal/corner/green{dir = 9},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt)
-"aeC" = (/obj/structure/table/holotable,/obj/item/clothing/head/helmet/thunderdome,/obj/item/clothing/suit/armor/tdome/green,/obj/item/clothing/under/color/green,/obj/item/holo/esword/green,/obj/effect/floor_decal/corner/green{dir = 6},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt)
-"aeD" = (/obj/structure/table/holotable,/obj/machinery/readybutton,/obj/effect/floor_decal/corner/red/three_quarters,/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt)
-"aeE" = (/obj/effect/floor_decal/corner/red{dir = 9},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_boxingcourt)
-"aeF" = (/obj/effect/floor_decal/corner/blue/three_quarters{dir = 8},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_boxingcourt)
-"aeG" = (/obj/effect/floor_decal/corner/blue/three_quarters{dir = 1},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_boxingcourt)
-"aeH" = (/obj/effect/floor_decal/corner/green{dir = 6},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_boxingcourt)
"aeI" = (/turf/unsimulated/beach/coastline{opacity = 1; density = 1},/area/beach)
"aeJ" = (/turf/unsimulated/beach/coastline,/area/beach)
"aeK" = (/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; locked = 1; req_access = list(150)},/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/syndicate_mothership/elite_squad)
@@ -255,17 +90,6 @@
"aeU" = (/turf/unsimulated/floor{name = "plating"},/area/prison/solitary)
"aeV" = (/obj/effect/decal/cleanable/cobweb2,/turf/unsimulated/floor{name = "plating"},/area/prison/solitary)
"aeW" = (/obj/effect/decal/cleanable/blood,/turf/unsimulated/floor{name = "plating"},/area/prison/solitary)
-"aeX" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet{dir = 8},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_meetinghall)
-"aeY" = (/obj/structure/holostool,/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_meetinghall)
-"aeZ" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet{dir = 4},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_meetinghall)
-"afa" = (/obj/effect/floor_decal/corner/green/three_quarters{dir = 8},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"afb" = (/obj/effect/floor_decal/corner/green{dir = 5},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"afc" = (/obj/effect/floor_decal/corner/green/three_quarters{dir = 1},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"afd" = (/obj/effect/floor_decal/corner/red{dir = 10},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt)
-"afe" = (/obj/effect/floor_decal/corner/red/three_quarters{dir = 4},/obj/structure/window/reinforced/holowindow/disappearing{dir = 4},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt)
-"aff" = (/obj/effect/floor_decal/corner/green/three_quarters,/obj/structure/window/reinforced/holowindow/disappearing{dir = 8},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt)
-"afg" = (/obj/effect/floor_decal/corner/blue/three_quarters,/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_boxingcourt)
-"afh" = (/obj/effect/floor_decal/corner/blue/three_quarters{dir = 4},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_boxingcourt)
"afi" = (/turf/unsimulated/beach/water{opacity = 1; density = 1},/area/beach)
"afj" = (/turf/unsimulated/beach/water,/area/beach)
"afk" = (/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; locked = 1; req_access = list(150)},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
@@ -274,23 +98,9 @@
"afn" = (/obj/structure/table/steel_reinforced,/obj/item/deck/cards,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
"afo" = (/obj/structure/table/steel_reinforced,/obj/machinery/recharger,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
"afp" = (/obj/structure/bed,/obj/effect/decal/cleanable/cobweb,/turf/unsimulated/floor{name = "plating"},/area/prison/solitary)
-"afq" = (/obj/effect/floor_decal/corner/green{dir = 9},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"afr" = (/obj/effect/floor_decal/corner/green{dir = 6},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"afs" = (/obj/effect/floor_decal/corner/green{dir = 10},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt)
-"aft" = (/obj/structure/holostool,/obj/structure/window/reinforced/holowindow{dir = 1},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt)
-"afu" = (/obj/effect/floor_decal/corner/green{dir = 10},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_boxingcourt)
-"afv" = (/obj/effect/floor_decal/corner/green/three_quarters{dir = 4},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_boxingcourt)
"afw" = (/obj/machinery/light{dir = 8},/obj/item/device/radio/intercom/syndicate{dir = 4; pixel_x = -22},/obj/effect/floor_decal/corner/red{dir = 9},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
"afx" = (/obj/effect/landmark/start/antags/commando,/obj/structure/bed/chair/comfy/black{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
"afy" = (/obj/machinery/mech_recharger,/obj/mecha/combat/marauder/mauler,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
-"afz" = (/obj/structure/flora/grass/brown,/turf/simulated/floor/holofloor/snow,/area/holodeck/source_snowfield)
-"afA" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet{dir = 4},/turf/simulated/floor/holofloor/carpet{dir = 8},/area/holodeck/source_meetinghall)
-"afB" = (/obj/structure/holohoop{dir = 8},/obj/effect/floor_decal/corner/green{dir = 6},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"afC" = (/obj/effect/floor_decal/corner/green{dir = 10},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"afD" = (/obj/structure/holostool,/obj/structure/window/reinforced/holowindow{dir = 1},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"afE" = (/obj/machinery/door/window/holowindoor{name = "Green Team"; icon_state = "right"; dir = 1; base_state = "right"},/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_thunderdomecourt)
-"afF" = (/obj/structure/window/reinforced/holowindow{dir = 1},/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_boxingcourt)
-"afG" = (/obj/machinery/door/window/holowindoor{name = "Green Corner"; dir = 1},/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_boxingcourt)
"afH" = (/obj/effect/shuttle_landmark/escape/internim,/turf/space/transit/north,/area/shuttle/escape/transit)
"afI" = (/obj/effect/step_trigger/teleporter/random,/turf/space,/area/space)
"afJ" = (/obj/machinery/door/airlock/glass_security{name = "Airlock"; req_access = list(150)},/obj/machinery/door/blast/regular{name = "Mech Room Door"; dir = 4; id = "syndicate_elite_mech_room"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
@@ -299,24 +109,12 @@
"afM" = (/obj/item/device/radio/intercom/syndicate{dir = 8; pixel_x = 22},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership/elite_squad)
"afN" = (/obj/structure/sign/flag/syndie,/turf/unsimulated/wall,/area/syndicate_mothership/elite_squad)
"afO" = (/turf/unsimulated/wall{icon_state = "riveted_straight"},/area/prison/solitary)
-"afP" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 10},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_meetinghall)
-"afQ" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet,/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_meetinghall)
-"afR" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet{dir = 6},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_meetinghall)
-"afS" = (/turf/simulated/floor/holofloor/beach/water,/area/holodeck/source_beach)
"afT" = (/obj/effect/floor_decal/corner/red/three_quarters,/turf/simulated/floor/tiled/dark,/area/syndicate_mothership/elite_squad)
"afU" = (/obj/machinery/computer/shuttle_control/multi/elite_syndicate,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
"afV" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{name = "docking port controller"; pixel_y = -25; frequency = 1331; req_one_access = 150; id_tag = "emerc_base"; tag_door = "emerc_airlock_dock_door"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
"afW" = (/obj/effect/floor_decal/corner/red/three_quarters{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
"afX" = (/turf/space,/turf/simulated/shuttle/wall/corner/syndi/nw,/area/shuttle/syndicate_elite/mothership)
-"afY" = (/obj/effect/floor_decal/corner/green/three_quarters,/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"afZ" = (/obj/machinery/door/window/holowindoor{name = "Green Team"; icon_state = "right"; dir = 1; base_state = "right"},/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_basketball)
-"aga" = (/obj/effect/floor_decal/corner/green/three_quarters{dir = 4},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"agb" = (/obj/machinery/door/window/holowindoor{name = "Red Team"; dir = 1},/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_thunderdomecourt)
-"agc" = (/obj/item/reagent_containers/food/checker/knight{randpixel = 0},/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_chess)
-"agd" = (/obj/structure/table/holotable,/obj/machinery/readybutton,/obj/effect/floor_decal/corner/green/three_quarters{dir = 4},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt)
-"age" = (/obj/structure/table/holotable,/obj/item/clothing/gloves/boxing/hologlove{icon_state = "boxinggreen"; item_state = "boxinggreen"},/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_boxingcourt)
"agf" = (/obj/machinery/door/airlock/external{icon_state = "door_locked"; frequency = 1331; locked = 1; id_tag = "emerc_airlock_dock_door"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
-"agg" = (/obj/structure/window/reinforced/crescent{dir = 1},/turf/unsimulated/wall{icon_state = "riveted_t"; dir = 1},/area/space)
"agh" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor,/area/syndicate_mothership/elite_squad)
"agi" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor,/area/syndicate_mothership/elite_squad)
"agj" = (/obj/machinery/door/airlock/external{icon_state = "door_locked"; frequency = 1331; locked = 1; id_tag = "emerc_airlock_dock_door"},/turf/simulated/floor,/area/syndicate_mothership/elite_squad)
@@ -533,7 +331,6 @@
"akm" = (/obj/machinery/autolathe{name = "Unlocked Autolathe"; desc = "Your typical Autolathe. It appears to have much more options than your regular one, however..."; hacked = 1},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"akn" = (/obj/structure/table/rack,/obj/item/gun/energy/ionrifle,/obj/item/gun/energy/ionrifle,/obj/item/gun/energy/ionrifle/small,/obj/item/gun/energy/ionrifle/small,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"ako" = (/obj/structure/table/reinforced,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/defibrillator/compact/combat/loaded,/obj/item/defibrillator/compact/combat/loaded,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
-"akp" = (/obj/machinery/door/window/holowindoor{name = "Red Team"; dir = 1},/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_basketball)
"akq" = (/obj/machinery/chem_master,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"akr" = (/obj/structure/bed/chair/office/light{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/rescue_base/base)
"aks" = (/obj/structure/table/reinforced,/obj/item/stamp/centcomm,/obj/item/pen,/turf/unsimulated/floor{icon_state = "dark"},/area/rescue_base/base)
@@ -715,7 +512,6 @@
"anM" = (/obj/structure/table/reinforced,/obj/machinery/cell_charger,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
"anN" = (/turf/space,/turf/simulated/shuttle/wall/corner/smoothwhite/sw{icon_state = "corner_whiteship_s"},/area/centcom/evac)
"anO" = (/obj/machinery/door/airlock/maintenance_hatch{req_access = list(101)},/turf/simulated/floor/plating,/area/centcom/evac)
-"anP" = (/obj/item/reagent_containers/food/checker/bishop{randpixel = 0},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_chess)
"anQ" = (/turf/space,/turf/simulated/shuttle/wall/corner/smoothwhite/se{icon_state = "corner_whiteship_s"},/area/centcom/evac)
"anR" = (/obj/machinery/recharger/wallcharger{pixel_x = -25},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"anS" = (/obj/machinery/light{dir = 1},/obj/structure/bed/chair/shuttle/red{dir = 4},/obj/effect/floor_decal/industrial/warning/red{dir = 10},/turf/simulated/floor,/area/syndicate_station/start)
@@ -790,7 +586,6 @@
"apj" = (/obj/structure/table/woodentable{dir = 5},/obj/item/material/ashtray/bronze,/obj/item/cigbutt/cigarbutt,/obj/item/device/radio/phone{desc = "Should anything ever go wrong..."; frequency = 1345},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/rescue_base/base)
"apk" = (/obj/structure/bed/chair/comfy/brown{dir = 1},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/rescue_base/base)
"apl" = (/obj/structure/table/woodentable{dir = 5},/obj/item/storage/fancy/cigar,/obj/item/flame/lighter/zippo,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/rescue_base/base)
-"apm" = (/obj/item/reagent_containers/food/checker/queen{randpixel = 0},/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_chess)
"apn" = (/obj/mecha/combat/gygax/dark,/obj/machinery/mech_recharger,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
"apo" = (/obj/effect/shuttle_landmark/escape_pod/out/pod1,/turf/space,/area/shuttle/escape_pod1/centcom)
"app" = (/obj/machinery/door/airlock/external{name = "Recovery Shuttle Dock"; icon_state = "door_locked"; frequency = 1380; locked = 1; req_access = list(13); id_tag = "escape_pod_5_recovery_hatch"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor2"},/area/centcom/evac)
@@ -1058,7 +853,6 @@
"aur" = (/turf/unsimulated/floor{icon_state = "white"},/area/centcom/living)
"aus" = (/obj/structure/closet/secure_closet/freezer/meat,/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/centcom/living)
"aut" = (/obj/machinery/chem_master/condimaster{name = "CondiMaster Neo"; pixel_x = -5},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/centcom/living)
-"auu" = (/obj/item/reagent_containers/food/checker/king{randpixel = 0},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_chess)
"auv" = (/obj/structure/bed/chair/shuttle/red{dir = 4},/obj/effect/floor_decal/industrial/warning/red{dir = 4},/turf/simulated/floor,/area/syndicate_station/start)
"auw" = (/obj/structure/sink{dir = 4; pixel_x = 11},/obj/item/reagent_containers/vessel/bottle/chemical/stoxin,/obj/item/reagent_containers/vessel/bottle/chemical/stoxin,/obj/item/reagent_containers/syringe,/obj/item/clothing/mask/surgical,/obj/item/clothing/gloves/latex,/obj/item/surgicaldrill,/obj/structure/closet/secure_closet/medical_wall{pixel_x = 32; req_access = list(150)},/obj/item/reagent_containers/syringe/antiviral/packaged,/turf/simulated/floor/shuttle/white,/area/syndicate_station/start)
"aux" = (/obj/effect/landmark/event/nuke/bomb,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
@@ -1247,8 +1041,6 @@
"axY" = (/obj/structure/sign/warning/nosmoking_2,/turf/unsimulated/wall{icon_state = "riveted"; dir = 8},/area/centcom/living)
"axZ" = (/obj/structure/sign/warning/secure_area,/turf/unsimulated/wall{icon_state = "riveted"; dir = 4},/area/centcom/living)
"aya" = (/obj/machinery/door/airlock/centcom{name = "General Access"; opacity = 1; req_access = list(101)},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome)
-"ayb" = (/obj/item/reagent_containers/food/checker/bishop{randpixel = 0},/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_chess)
-"ayc" = (/obj/item/reagent_containers/food/checker/knight{randpixel = 0},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_chess)
"ayd" = (/obj/machinery/button/flasher{name = "Flasher"; pixel_x = 27; id = "rescueflash"},/obj/structure/bed/chair{dir = 8},/obj/machinery/light{dir = 4},/turf/simulated/floor/shuttle/red,/area/rescue_base/start)
"aye" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/rescue_base/start)
"ayf" = (/obj/structure/table/rack,/obj/item/wrench,/obj/item/storage/belt/utility/full,/turf/simulated/floor/plating,/area/rescue_base/start)
@@ -1275,18 +1067,6 @@
"ayA" = (/obj/machinery/computer/rdservercontrol{name = "Master R&D Server Controller"; badmin = 1},/obj/effect/floor_decal/corner/green{dir = 10},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
"ayB" = (/obj/machinery/r_n_d/server/centcom,/obj/effect/floor_decal/corner/green{dir = 10},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
"ayC" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
-"ayD" = (/obj/item/reagent_containers/food/checker/rook{randpixel = 0},/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_chess)
-"ayE" = (/obj/item/reagent_containers/food/checker/pawn{randpixel = 0},/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_chess)
-"ayF" = (/obj/item/reagent_containers/food/checker/pawn{randpixel = 0},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_chess)
-"ayG" = (/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_chess)
-"ayH" = (/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_chess)
-"ayI" = (/obj/item/reagent_containers/food/checker/pawn/red{randpixel = 0},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_chess)
-"ayJ" = (/obj/item/reagent_containers/food/checker/pawn/red{randpixel = 0},/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_chess)
-"ayK" = (/obj/item/reagent_containers/food/checker/rook/red{randpixel = 0},/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_chess)
-"ayL" = (/obj/item/reagent_containers/food/checker/knight/red{randpixel = 0},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_chess)
-"ayM" = (/obj/item/reagent_containers/food/checker/bishop/red{randpixel = 0},/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_chess)
-"ayN" = (/obj/item/reagent_containers/food/checker/queen/red{randpixel = 0},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_chess)
-"ayO" = (/obj/item/reagent_containers/food/checker/king/red{randpixel = 0},/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_chess)
"ayP" = (/obj/item/device/flashlight/lantern,/turf/unsimulated/floor{icon_state = "asteroid"},/area/rescue_base/base)
"ayQ" = (/obj/structure/closet{name = "Prisoner's Locker"},/obj/item/clothing/shoes/orange,/obj/item/clothing/under/color/orange,/obj/item/device/radio/intercom/specops{dir = 8; pixel_x = 22},/turf/simulated/floor/shuttle/red,/area/rescue_base/start)
"ayR" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced/crescent{dir = 1},/turf/simulated/floor/plating,/area/rescue_base/start)
@@ -1299,9 +1079,6 @@
"ayY" = (/obj/structure/sign/warning/secure_area,/turf/unsimulated/wall{icon_state = "riveted"; dir = 8},/area/centcom/control)
"ayZ" = (/obj/machinery/turret/network/centcomm,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
"aza" = (/obj/machinery/door/airlock/centcom{name = "Teleporter Bay"; opacity = 1; req_access = list(107)},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/living)
-"azb" = (/obj/item/reagent_containers/food/checker/bishop/red{randpixel = 0},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_chess)
-"azc" = (/obj/item/reagent_containers/food/checker/knight/red{randpixel = 0},/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_chess)
-"azd" = (/obj/item/reagent_containers/food/checker/rook/red{randpixel = 0},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_chess)
"aze" = (/obj/structure/table/rack,/obj/item/gun/energy/lasercannon,/obj/item/gun/energy/lasercannon,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"azf" = (/obj/effect/overlay/palmtree_r,/turf/unsimulated/beach/sand{icon_state = "desert2"},/turf/unsimulated/beach/sand{icon_state = "coconuts"},/area/centcom/holding)
"azg" = (/obj/structure/table/reinforced,/obj/item/paper/trade_lic,/turf/simulated/floor/trim/carpet/blue,/area/shuttle/merchant/home)
@@ -1333,7 +1110,7 @@
"azG" = (/obj/effect/floor_decal/corner/green,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
"azH" = (/obj/effect/floor_decal/corner/green{dir = 10},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
"azI" = (/obj/structure/table/standard,/obj/item/extinguisher,/obj/item/crowbar,/turf/simulated/floor/shuttle/blue,/area/shuttle/escape/centcom)
-"azJ" = (/mob/living/simple_animal/tindalos{name = "Eddy"},/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/holofloor/grass,/area/merchant_station)
+"azJ" = (/mob/living/simple_animal/tindalos{name = "Eddy"},/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/natural/jungle,/area/merchant_station)
"azK" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_b"; dir = 1},/area/shuttle/administration/centcom)
"azL" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_t"},/area/shuttle/administration/centcom)
"azM" = (/obj/machinery/camera/network/crescent{c_tag = "Shuttle Security"},/obj/structure/bed/chair/shuttle/red,/turf/simulated/floor/shuttle/red,/area/shuttle/escape/centcom)
@@ -1446,7 +1223,7 @@
"aBP" = (/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/centcom/control)
"aBQ" = (/obj/item/modular_computer/console/preset/command,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/control)
"aBR" = (/obj/machinery/computer/robotics,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/centcom/control)
-"aBS" = (/obj/structure/window_frame/indestructible,/obj/structure/barricade/material{layer = 6},/turf/simulated/floor/trim/wood,/area/thunderfield)
+"aBS" = (/obj/structure/window_frame/indestructible,/obj/structure/barricade/material,/turf/simulated/floor/trim/wood,/area/thunderfield)
"aBT" = (/obj/structure/window_frame/indestructible/hull,/obj/machinery/door/firedoor/border_only,/turf/unsimulated/floor{name = "plating"},/area/merchant_station)
"aBU" = (/obj/item/modular_computer/console/preset/security,/turf/simulated/floor/shuttle/blue,/area/shuttle/escape/centcom)
"aBV" = (/obj/structure/window_frame/indestructible,/turf/simulated/floor/plating,/area/merchant_station)
@@ -1616,14 +1393,12 @@
"aFd" = (/obj/structure/window_frame/grille,/obj/structure/window/shuttle{icon_state = "2"},/turf/simulated/floor/plating,/area/shuttle/escape/centcom)
"aFe" = (/obj/effect/floor_decal/industrial/warning/red{dir = 10},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"aFf" = (/turf/simulated/shuttle/wall{icon_state = "whiteship_t"; dir = 4},/area/shuttle/escape/centcom)
-"aFg" = (/turf/simulated/floor/holofloor/space,/area/space)
"aFh" = (/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 9},/obj/structure/bed/couch/right/sofa,/turf/unsimulated/floor{icon_state = "carpet"},/area/centcom/holding)
"aFi" = (/obj/structure/table/standard,/obj/item/FixOVein/clot,/obj/effect/floor_decal/corner/paleblue/three_quarters{dir = 8},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding)
"aFj" = (/obj/structure/table/standard,/obj/item/cautery,/obj/item/hemostat/pico,/obj/effect/floor_decal/corner/paleblue{dir = 5},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding)
"aFk" = (/obj/structure/table/standard,/obj/item/retractor{pixel_y = 6},/obj/item/scalpel/manager,/obj/effect/floor_decal/corner/paleblue{dir = 5},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding)
"aFl" = (/obj/structure/table/standard,/obj/item/bonesetter/bone_mender,/obj/effect/floor_decal/corner/paleblue{dir = 5},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding)
"aFm" = (/obj/structure/table/standard,/obj/item/surgicaldrill,/obj/item/circular_saw/plasmasaw,/obj/effect/floor_decal/corner/paleblue/three_quarters{dir = 1},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding)
-"aFn" = (/obj/structure/flora/tree/dead,/turf/simulated/floor/holofloor/snow,/area/space)
"aFo" = (/obj/structure/bed/chair{dir = 4},/obj/effect/floor_decal/corner/green{dir = 9},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/holding)
"aFp" = (/obj/effect/floor_decal/industrial/outline/yellow,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/holding)
"aFq" = (/obj/structure/sign/flag/nt,/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_straight"; dir = 4},/area/rescue_base/start)
@@ -1634,15 +1409,6 @@
"aFv" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atm{pixel_x = -32},/turf/simulated/floor/tiled,/area/merchant_station)
"aFw" = (/obj/effect/floor_decal/industrial/warning/red{dir = 9},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"aFx" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_b"; dir = 4},/area/shuttle/administration/centcom)
-"aFy" = (/turf/simulated/floor/holofloor/snow,/area/space)
-"aFz" = (/obj/structure/flora/grass/green,/turf/simulated/floor/holofloor/snow,/area/space)
-"aFA" = (/obj/structure/flora/tree/pine,/turf/simulated/floor/holofloor/snow,/area/space)
-"aFB" = (/obj/structure/flora/ausbushes/fernybush,/turf/simulated/floor/natural/grass{name = "artificial grass patch"},/area/space)
-"aFC" = (/obj/structure/flora/ausbushes/fullgrass,/turf/simulated/floor/natural/grass{name = "artificial grass patch"},/area/space)
-"aFD" = (/obj/structure/flora/ausbushes/ppflowers,/turf/simulated/floor/natural/grass{name = "artificial grass patch"},/area/space)
-"aFE" = (/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/natural/grass{name = "artificial grass patch"},/area/space)
-"aFF" = (/obj/structure/flora/ausbushes/brflowers,/obj/structure/flora/ausbushes/fullgrass,/turf/simulated/floor/natural/grass{name = "artificial grass patch"},/area/space)
-"aFG" = (/obj/structure/window/reinforced/crescent{dir = 8},/obj/structure/window/reinforced/crescent{dir = 1},/turf/unsimulated/wall{icon_state = "riveted_l"},/area/space)
"aFH" = (/obj/effect/floor_decal/corner/green{dir = 6},/obj/structure/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/holding)
"aFI" = (/obj/machinery/door/airlock/external{name = "Arrivals Airlock"; icon_state = "door_locked"; frequency = 1380; locked = 1; req_access = list(13); id_tag = "centcom_dock_airlock"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/holding)
"aFJ" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/holding)
@@ -1651,14 +1417,6 @@
"aFM" = (/obj/effect/floor_decal/industrial/warning/red/corner{dir = 8},/obj/effect/floor_decal/industrial/warning/red/corner{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"aFN" = (/obj/effect/floor_decal/industrial/warning/red{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"aFO" = (/obj/structure/table/standard,/obj/item/storage/firstaid/fire,/obj/machinery/camera/network/crescent{c_tag = "Shuttle Bridge West"},/obj/item/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/extinguisher,/turf/simulated/floor/shuttle/blue,/area/shuttle/escape/centcom)
-"aFP" = (/obj/structure/flora/ausbushes/grassybush,/turf/simulated/floor/natural/grass{name = "artificial grass patch"},/area/space)
-"aFQ" = (/obj/structure/flora/ausbushes/ppflowers,/obj/structure/holostool,/turf/simulated/floor/natural/grass{name = "artificial grass patch"},/area/space)
-"aFR" = (/obj/structure/flora/ausbushes/leafybush,/turf/simulated/floor/natural/grass{name = "artificial grass patch"},/area/space)
-"aFS" = (/obj/structure/flora/ausbushes/palebush,/turf/simulated/floor/natural/grass{name = "artificial grass patch"},/area/space)
-"aFT" = (/turf/simulated/floor/natural/grass{name = "artificial grass patch"},/area/space)
-"aFU" = (/obj/structure/flora/ausbushes/sunnybush,/turf/simulated/floor/natural/grass{name = "artificial grass patch"},/area/space)
-"aFV" = (/obj/structure/flora/ausbushes/genericbush,/turf/simulated/floor/natural/grass{name = "artificial grass patch"},/area/space)
-"aFW" = (/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/natural/grass{name = "artificial grass patch"},/area/space)
"aFX" = (/obj/structure/bed/chair{dir = 8},/obj/effect/floor_decal/corner/green{dir = 6},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/holding)
"aFY" = (/obj/effect/floor_decal/industrial/warning/corner,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/holding)
"aFZ" = (/obj/effect/floor_decal/industrial/warning,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/holding)
@@ -1667,27 +1425,12 @@
"aGc" = (/obj/machinery/vending/engivend{req_one_access = list()},/turf/simulated/floor/tiled,/area/merchant_station)
"aGd" = (/obj/structure/window_frame/grille,/obj/structure/window/shuttle{icon_state = "window-whiteship"; dir = 1},/turf/simulated/floor/plating,/area/shuttle/escape/centcom)
"aGe" = (/obj/machinery/vending/cigarette{prices = list()},/turf/simulated/floor/trim/wood,/area/merchant_station)
-"aGf" = (/obj/structure/flora/ausbushes/reedbush,/obj/structure/holostool,/turf/simulated/floor/natural/grass{name = "artificial grass patch"},/area/space)
-"aGg" = (/obj/structure/flora/ausbushes/sunnybush,/obj/structure/holostool,/turf/simulated/floor/natural/grass{name = "artificial grass patch"},/area/space)
-"aGh" = (/obj/structure/window/reinforced/crescent{dir = 4},/obj/structure/window/reinforced/crescent{dir = 1},/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 8},/area/space)
-"aGi" = (/obj/structure/window/reinforced/crescent{dir = 8},/obj/structure/window/reinforced/crescent{dir = 4},/turf/unsimulated/wall{icon_state = "riveted_straight"},/area/space)
-"aGj" = (/turf/simulated/floor/holofloor/tiled,/area/space)
-"aGk" = (/obj/structure/window/reinforced/crescent{dir = 8},/obj/structure/window/reinforced/crescent,/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 1},/area/space)
-"aGl" = (/obj/structure/window/reinforced/crescent{dir = 4},/obj/structure/window/reinforced/crescent,/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 4},/area/space)
"aGm" = (/obj/structure/bed/chair{dir = 8},/obj/effect/floor_decal/corner/green{dir = 4},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/holding)
"aGn" = (/obj/effect/floor_decal/industrial/warning/red{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"aGo" = (/obj/machinery/turret/network/centcomm,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/holding)
"aGp" = (/obj/machinery/status_display,/turf/unsimulated/wall{icon_state = "riveted"; dir = 4},/area/centcom/holding)
"aGq" = (/obj/structure/sign/warning/lethal_turrets,/turf/unsimulated/wall{icon_state = "riveted"; dir = 8},/area/centcom/holding)
"aGr" = (/obj/effect/floor_decal/industrial/warning/red/corner{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
-"aGs" = (/obj/structure/flora/pottedplant{icon_state = "plant-10"},/turf/simulated/floor/holofloor/tiled,/area/space)
-"aGt" = (/obj/structure/flora/pottedplant{icon_state = "plant-20"},/turf/simulated/floor/holofloor/tiled,/area/space)
-"aGu" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet{dir = 9},/turf/simulated/floor/holofloor/carpet,/area/space)
-"aGv" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet{dir = 1},/turf/simulated/floor/holofloor/carpet,/area/space)
-"aGw" = (/obj/structure/flora/pottedplant{icon_state = "plant-06"},/turf/simulated/floor/holofloor/tiled,/area/space)
-"aGx" = (/obj/structure/flora/pottedplant,/turf/simulated/floor/holofloor/tiled,/area/space)
-"aGy" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet{dir = 5},/turf/simulated/floor/holofloor/carpet,/area/space)
-"aGz" = (/obj/structure/table/holo_woodentable,/obj/effect/floor_decal/carpet{dir = 8},/turf/simulated/floor/holofloor/carpet,/area/space)
"aGA" = (/obj/effect/floor_decal/carpet{dir = 1},/obj/structure/bed/couch/middle/sofa,/turf/unsimulated/floor{icon_state = "carpet"},/area/centcom/holding)
"aGB" = (/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 5},/obj/structure/bed/couch/left/sofa,/turf/unsimulated/floor{icon_state = "carpet"},/area/centcom/holding)
"aGC" = (/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 10},/obj/structure/bed/couch/left/sofa{dir = 1},/turf/unsimulated/floor{icon_state = "carpet"},/area/centcom/holding)
@@ -1702,9 +1445,6 @@
"aGL" = (/obj/effect/floor_decal/industrial/warning/red/corner{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"aGM" = (/obj/effect/floor_decal/industrial/warning/red/corner,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"aGN" = (/turf/unsimulated/wall,/area/skipjack_station/base)
-"aGO" = (/obj/structure/table/holo_woodentable,/turf/simulated/floor/holofloor/carpet,/area/space)
-"aGP" = (/obj/structure/table/holo_woodentable,/obj/effect/floor_decal/carpet{dir = 4},/turf/simulated/floor/holofloor/carpet,/area/space)
-"aGQ" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet{dir = 10},/turf/simulated/floor/holofloor/carpet,/area/space)
"aGR" = (/obj/effect/floor_decal/carpet{dir = 8},/obj/item/reagent_containers/food/candy/variable,/obj/structure/table/woodentable,/turf/unsimulated/floor{icon_state = "carpet"},/area/centcom/holding)
"aGS" = (/obj/item/reagent_containers/food/candy/variable,/obj/structure/table/woodentable,/obj/structure/table/woodentable,/turf/unsimulated/floor{icon_state = "carpet"},/area/centcom/holding)
"aGT" = (/obj/effect/floor_decal/carpet{dir = 4},/obj/item/reagent_containers/food/candy/variable,/obj/structure/table/woodentable,/turf/unsimulated/floor{icon_state = "carpet"},/area/centcom/holding)
@@ -1866,6 +1606,7 @@
"aJT" = (/obj/structure/table/woodentable{dir = 5},/obj/item/clothing/under/suit_jacket,/obj/item/clothing/accessory/wcoat,/obj/item/clothing/head/that{pixel_x = 4; pixel_y = 6},/obj/effect/floor_decal/spline/fancy/wood{dir = 8},/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/holding)
"aJU" = (/obj/structure/table/standard,/obj/item/storage/toolbox/mechanical,/obj/item/device/flashlight,/obj/item/device/multitool,/turf/simulated/floor/shuttle/blue,/area/shuttle/escape/centcom)
"aJV" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 5},/turf/simulated/floor/shuttle/white,/area/shuttle/escape/centcom)
+"aJW" = (/obj/structure/table/woodentable,/obj/item/immovable_wand,/obj/item/paper/immovable_wand_note,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
"aJX" = (/obj/item/device/radio/intercom{dir = 4; pixel_x = -22},/obj/structure/bed/chair/shuttle/red{dir = 4},/turf/simulated/floor/shuttle/blue,/area/shuttle/escape/centcom)
"aJY" = (/obj/machinery/sleeper{dir = 8},/obj/item/device/radio/intercom{dir = 8; pixel_x = 22},/turf/simulated/floor/shuttle/white,/area/shuttle/escape/centcom)
"aJZ" = (/obj/effect/floor_decal/spline/fancy/wood{dir = 8},/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/holding)
@@ -1885,8 +1626,6 @@
"aKp" = (/obj/item/inflatable_duck,/obj/effect/floor_decal/spline/fancy/wood{dir = 4},/turf/unsimulated/beach/sand{icon_state = "desert2"},/area/centcom/holding)
"aKq" = (/obj/effect/floor_decal/spline/fancy/wood/corner{dir = 1},/turf/unsimulated/beach/sand{icon_state = "beach"},/area/centcom/holding)
"aKr" = (/obj/structure/sink{dir = 4; pixel_x = 11},/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = 28},/obj/effect/floor_decal/corner/paleblue{dir = 6},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding)
-"aKs" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet,/turf/simulated/floor/holofloor/carpet,/area/space)
-"aKt" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet{dir = 6},/turf/simulated/floor/holofloor/carpet,/area/space)
"aKu" = (/turf/space,/area/space)
"aKv" = (/obj/item/toy/chubbyskeleton,/turf/unsimulated/beach/sand{icon_state = "desert3"},/area/centcom/holding)
"aKw" = (/mob/living/simple_animal/faithful_hound,/obj/effect/floor_decal/industrial/warning/wiz{dir = 5},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/wizard_station)
@@ -2052,9 +1791,9 @@
"aQe" = (/obj/machinery/cryopod{dir = 4},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled/white,/area/merchant_station)
"aQf" = (/obj/machinery/light/small{dir = 1},/obj/machinery/computer/cryopod{pixel_y = 32},/obj/item/roller,/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled/white,/area/merchant_station)
"aQg" = (/obj/item/device/radio/intercom{pixel_y = 22},/obj/structure/table/reinforced,/obj/item/storage/firstaid/toxin,/obj/item/storage/firstaid/o2{layer = 2.8; pixel_x = 4; pixel_y = 6},/obj/item/storage/firstaid/fire{layer = 2.9; pixel_x = 2; pixel_y = 3},/obj/item/storage/firstaid/adv{pixel_x = -2},/obj/item/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/bodybag/cryobag{pixel_x = 5},/obj/effect/floor_decal/industrial/outline/blue,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/white,/area/merchant_station)
-"aQh" = (/obj/structure/flora/ausbushes/fullgrass,/turf/simulated/floor/holofloor/grass,/area/merchant_station)
-"aQi" = (/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/holofloor/grass,/area/merchant_station)
-"aQj" = (/obj/structure/flora/ausbushes/fullgrass,/obj/machinery/light{dir = 1},/turf/simulated/floor/holofloor/grass,/area/merchant_station)
+"aQh" = (/obj/structure/flora/ausbushes/fullgrass,/turf/simulated/floor/natural/jungle,/area/merchant_station)
+"aQi" = (/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/natural/jungle,/area/merchant_station)
+"aQj" = (/obj/structure/flora/ausbushes/fullgrass,/obj/machinery/light{dir = 1},/turf/simulated/floor/natural/jungle,/area/merchant_station)
"aQk" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled/white,/area/merchant_station)
"aQl" = (/obj/machinery/sleeper{dir = 8},/obj/effect/floor_decal/industrial/outline/blue,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/tiled/white,/area/merchant_station)
"aQo" = (/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/obj/structure/table/reinforced,/obj/effect/floor_decal/corner/blue/three_quarters{dir = 8},/turf/simulated/floor/tiled,/area/merchant_station)
@@ -2093,9 +1832,9 @@
"aQV" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/merchant_station)
"aQW" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/merchant_station)
"aQX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9},/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/merchant_station)
-"aQY" = (/obj/structure/flora/ausbushes/ywflowers,/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/holofloor/grass,/area/merchant_station)
-"aRa" = (/obj/structure/flora/ausbushes/fullgrass,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/holofloor/grass,/area/merchant_station)
-"aRb" = (/obj/structure/flora/ausbushes/ywflowers,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor/grass,/area/merchant_station)
+"aQY" = (/obj/structure/flora/ausbushes/ywflowers,/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/natural/jungle,/area/merchant_station)
+"aRa" = (/obj/structure/flora/ausbushes/fullgrass,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/natural/jungle,/area/merchant_station)
+"aRb" = (/obj/structure/flora/ausbushes/ywflowers,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/natural/jungle,/area/merchant_station)
"aRc" = (/obj/structure/table/reinforced,/obj/item/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/pen,/obj/effect/floor_decal/corner/blue/three_quarters,/turf/simulated/floor/tiled,/area/merchant_station)
"aRd" = (/obj/structure/closet/crate/trashcart,/obj/random/drinkbottle,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"aRe" = (/obj/structure/table/reinforced,/obj/random/loot,/obj/effect/floor_decal/corner/blue{dir = 10},/turf/simulated/floor/tiled,/area/merchant_station)
@@ -2418,7 +2157,7 @@
"aYr" = (/obj/machinery/door/airlock/glass{name = "Restroom"},/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/merchant_station)
"aYs" = (/obj/machinery/firealarm{pixel_y = 26},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/trim/wood,/area/merchant_station)
"aYu" = (/obj/machinery/computer/arcade,/turf/simulated/floor/trim/wood,/area/merchant_station)
-"aYv" = (/obj/structure/table/woodentable,/obj/structure/window/reinforced{dir = 8},/obj/machinery/light{dir = 1},/obj/machinery/chemical_dispenser/bar_coffee/full,/turf/simulated/floor/trim/carpet,/area/merchant_station)
+"aYv" = (/obj/structure/table/woodentable,/obj/structure/window/reinforced{dir = 8},/obj/machinery/light{dir = 1},/turf/simulated/floor/trim/carpet,/area/merchant_station)
"aYw" = (/obj/structure/bed/chair/comfy/brown,/turf/simulated/floor/trim/carpet,/area/merchant_station)
"aYx" = (/obj/structure/table/woodentable,/obj/machinery/chemical_dispenser/bar_soft/full,/obj/structure/sign/christmas/minigarland,/turf/simulated/floor/trim/carpet,/area/merchant_station)
"aYy" = (/obj/structure/cable/blue{icon_state = "2-4"; d2 = 4; d1 = 2},/turf/simulated/floor/plating/airless,/area/merchant_station)
@@ -2474,7 +2213,7 @@
"aZx" = (/obj/machinery/light/small{dir = 4; pixel_y = 8},/obj/machinery/firealarm{dir = 4; pixel_x = 26},/turf/simulated/floor/tiled,/area/merchant_station)
"aZy" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/table/woodentable,/obj/random/action_figure,/turf/simulated/floor/trim/carpet,/area/merchant_station)
"aZz" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/structure/bed,/obj/structure/curtain/open/bed,/obj/item/bedsheet/blue,/turf/simulated/floor/trim/carpet,/area/merchant_station)
-"aZA" = (/obj/structure/holostool,/turf/simulated/floor/trim/wood,/area/merchant_station)
+"aZA" = (/obj/item/stool/padded,/turf/simulated/floor/trim/wood,/area/merchant_station)
"aZB" = (/obj/structure/table/woodentable,/obj/machinery/microwave{pixel_y = 5},/obj/machinery/light{dir = 4},/obj/structure/sign/warning/smoking{pixel_x = 32},/turf/simulated/floor/trim/wood,/area/merchant_station)
"aZC" = (/obj/structure/toilet{dir = 4},/turf/simulated/floor/tiled/freezer,/area/merchant_station)
"aZD" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/freezer,/area/merchant_station)
@@ -2485,7 +2224,7 @@
"aZI" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/trim/carpet,/area/merchant_station)
"aZJ" = (/obj/machinery/light/small{dir = 4; pixel_y = 8},/turf/simulated/floor/trim/carpet,/area/merchant_station)
"aZK" = (/obj/structure/table/woodentable,/obj/item/material/ashtray,/obj/item/clothing/mask/smokable/cigarette/cigar/havana,/obj/machinery/light{dir = 8},/turf/simulated/floor/trim/wood,/area/merchant_station)
-"aZL" = (/obj/structure/holostool,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/trim/wood,/area/merchant_station)
+"aZL" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/item/stool/padded,/turf/simulated/floor/trim/wood,/area/merchant_station)
"aZM" = (/obj/structure/table/woodentable,/obj/item/storage/box/glasses/pint,/turf/simulated/floor/trim/wood,/area/merchant_station)
"aZN" = (/obj/item/modular_computer/console/preset/civilian,/turf/simulated/floor/trim/wood,/area/merchant_station)
"aZO" = (/obj/structure/table/woodentable,/turf/simulated/floor/trim/carpet/blue,/area/merchant_station)
@@ -2494,7 +2233,7 @@
"aZR" = (/obj/structure/closet{name = "Wardrobe"; icon_state = "cabinet_closed"; icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"},/obj/item/clothing/shoes/leather,/obj/item/clothing/under/blazer,/obj/item/clothing/under/lawyer/black,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/trim/carpet,/area/merchant_station)
"aZS" = (/obj/structure/table/woodentable,/obj/random/toy,/turf/simulated/floor/trim/carpet,/area/merchant_station)
"aZT" = (/obj/structure/table/woodentable,/obj/machinery/newscaster{pixel_x = -28},/obj/structure/reagent_dispensers/beerkeg,/turf/simulated/floor/trim/wood,/area/merchant_station)
-"aZU" = (/obj/structure/holostool,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/trim/wood,/area/merchant_station)
+"aZU" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/item/stool/padded,/turf/simulated/floor/trim/wood,/area/merchant_station)
"aZV" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/trim/wood,/area/merchant_station)
"aZW" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/trim/wood,/area/merchant_station)
"aZX" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/trim/wood,/area/merchant_station)
@@ -2536,7 +2275,6 @@
"bob" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/machinery/door/window/brigdoor/eastright/merchant{req_access = list(201)},/turf/simulated/floor/tiled/dark,/area/shuttle/merchant/home)
"boX" = (/turf/space,/turf/simulated/shuttle/wall/corner/syndi/nw{icon_state = "corner_syndiwall_s"},/area/syndicate_station/start)
"bpb" = (/obj/structure/grille,/obj/structure/window/miningpod,/turf/simulated/floor/plating,/area/shuttle/merchant/home)
-"bpG" = (/obj/structure/window/reinforced/crescent,/turf/unsimulated/wall{icon_state = "riveted_t"},/area/space)
"bqb" = (/obj/structure/closet/crate/freezer,/obj/effect/floor_decal/industrial/outline/grey,/obj/random/loot,/obj/random/loot,/obj/random/loot,/turf/simulated/floor/tiled/dark,/area/merchant_station)
"bqF" = (/obj/machinery/computer/arcade,/turf/simulated/floor/trim/carpet/arcade,/area/thunderfield)
"brb" = (/obj/structure/closet/crate,/obj/effect/floor_decal/industrial/outline/grey,/obj/random/loot,/obj/random/loot,/obj/random/contraband,/turf/simulated/floor/tiled/dark,/area/merchant_station)
@@ -2601,7 +2339,7 @@
"clu" = (/obj/machinery/door/blast/regular{name = "Shuttle Blast Shutters"; icon_state = "pdoor0"; opacity = 0; density = 0; id = "syndieshutters_workshop"},/obj/structure/window/syndi{icon_state = "ws1"},/turf/simulated/floor/plating,/area/syndicate_station/start)
"clV" = (/turf/unsimulated/floor{name = "plating"},/turf/simulated/shuttle/wall/corner/syndi/ne,/area/shuttle/administration/centcom)
"con" = (/obj/structure/spider/stickyweb,/turf/simulated/floor/trim/wood,/area/thunderfield)
-"cra" = (/obj/structure/barricade/material{layer = 6},/turf/simulated/wall/r_wall,/area/thunderfield)
+"cra" = (/obj/structure/barricade/material,/turf/simulated/wall/r_wall,/area/thunderfield)
"cst" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 1},/area/syndicate_station/start)
"cvA" = (/turf/unsimulated/wall{icon_state = "riveted_t"},/area/rescue_base/base)
"cwc" = (/turf/unsimulated/wall{icon_state = "riveted_t"},/area/alien)
@@ -2648,7 +2386,7 @@
"dTW" = (/obj/structure/flora/tree/dead/deadtree_5,/turf/unsimulated/floor{icon_state = "asteroidplating"},/area/thunderfield)
"dUW" = (/obj/structure/bed/chair/shuttle/blue,/turf/simulated/floor/shuttle/red,/area/shuttle/escape/centcom)
"dVe" = (/obj/machinery/hologram/holopad,/obj/machinery/light{dir = 1},/turf/simulated/floor/shuttle/white,/area/shuttle/escape/centcom)
-"dWt" = (/obj/effect/floor_decal/industrial/warning/dust{dir = 1},/obj/structure/barricade/material{layer = 6},/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/thunderfield)
+"dWt" = (/obj/effect/floor_decal/industrial/warning/dust{dir = 1},/obj/structure/barricade/material,/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/thunderfield)
"dWv" = (/obj/structure/closet/crate/freezer/rations,/obj/structure/closet/hydrant{pixel_x = -30},/obj/machinery/camera/network/crescent{dir = 4; c_tag = "Shuttle Cargo"},/turf/simulated/floor/shuttle/yellow,/area/shuttle/escape/centcom)
"dYP" = (/turf/unsimulated/wall{icon_state = "riveted_c"; dir = 8},/area/wizard_station)
"eak" = (/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
@@ -2704,7 +2442,6 @@
"ftS" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_t"; dir = 8},/area/rescue_base/start)
"ful" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{pixel_y = 34; frequency = 1380; req_one_access = list(13); id_tag = "escape_shuttle"; tag_door = "escape_shuttle_hatch"},/obj/machinery/light,/obj/machinery/status_display{pixel_y = -30},/turf/simulated/floor/shuttle/white,/area/shuttle/escape/centcom)
"fut" = (/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
-"fuA" = (/obj/structure/flora/tree/dead/deadtree_0,/turf/simulated/floor/holofloor/snow,/area/holodeck/source_snowfield)
"fwI" = (/turf/unsimulated/wall{icon_state = "riveted_t"; dir = 4},/area/syndicate_mothership/elite_squad)
"fzf" = (/obj/effect/decal/remains,/turf/unsimulated/floor{icon_state = "asteroidplating"},/area/thunderfield)
"fzQ" = (/obj/structure/table/woodentable,/obj/item/clothing/head/collectable/paper,/turf/simulated/floor/trim/carpet/purple,/area/thunderfield)
@@ -2712,7 +2449,7 @@
"fAR" = (/obj/structure/flora/pottedplant/ugly,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"fBF" = (/obj/structure/bed/chair/wood,/turf/simulated/floor/trim/wood,/area/thunderfield)
"fDc" = (/obj/structure/flora/ausbushes,/turf/unsimulated/floor{icon_state = "asteroid"},/area/thunderfield)
-"fDq" = (/obj/structure/table/rack/holorack,/obj/item/wrench,/obj/item/crowbar,/obj/item/gun/energy/crossbow,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"fDq" = (/obj/item/wrench,/obj/item/crowbar,/obj/item/gun/energy/crossbow,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
"fEK" = (/obj/effect/floor_decal/spline/fancy/wood{dir = 4},/obj/effect/floor_decal/spline/fancy/wood,/turf/unsimulated/floor{icon_state = "asteroid"},/area/thunderfield)
"fFh" = (/obj/effect/floor_decal/spline/fancy/wood{dir = 8},/obj/structure/flora/tree/dead/deadtree_5,/turf/unsimulated/floor{icon_state = "asteroid"},/area/thunderfield)
"fFq" = (/obj/structure/dogbed,/obj/item/stack/material/animalhide/corgi,/turf/unsimulated/floor{icon_state = "asteroid"},/area/thunderfield)
@@ -2721,7 +2458,6 @@
"fMT" = (/obj/structure/bed/chair/comfy/blue{dir = 8},/turf/simulated/floor/shuttle/white,/area/shuttle/escape/centcom)
"fNc" = (/turf/unsimulated/wall{icon_state = "riveted_t"; dir = 8},/area/syndicate_mothership/elite_squad)
"fQF" = (/obj/structure/bed,/obj/item/bedsheet/red,/obj/item/shield/buckler,/turf/simulated/floor/trim/wood,/area/thunderfield)
-"fST" = (/obj/structure/flora/ausbushes/fullgrass,/turf/simulated/floor/holofloor/desert,/area/holodeck/source_desert)
"fTw" = (/obj/structure/table/woodentable,/obj/item/device/flash,/turf/simulated/floor/trim/wood,/area/thunderfield)
"fVx" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"; dir = 4},/area/centcom/evac)
"fZk" = (/obj/item/bodybag,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
@@ -2753,7 +2489,7 @@
"gJu" = (/obj/effect/decal/remains,/obj/random/maintenance,/turf/simulated/floor/tiled/dark,/area/thunderfield)
"gMk" = (/turf/unsimulated/wall{icon_state = "riveted_c"; dir = 8},/area/centcom/control)
"gNq" = (/obj/structure/table/steel,/obj/machinery/recharger,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
-"gND" = (/obj/structure/table/rack/holorack,/obj/item/beartrap,/obj/item/beartrap,/obj/item/beartrap,/obj/item/beartrap,/obj/item/beartrap,/obj/item/storage/belt/vox,/obj/item/storage/belt/vox,/obj/item/storage/belt/vox,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"gND" = (/obj/item/beartrap,/obj/item/beartrap,/obj/item/beartrap,/obj/item/beartrap,/obj/item/beartrap,/obj/item/storage/belt/vox,/obj/item/storage/belt/vox,/obj/item/storage/belt/vox,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
"gNN" = (/obj/machinery/shieldwallgen,/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/unsimulated/floor,/area/centcom/control)
"gPm" = (/obj/structure/sink{dir = 4; pixel_x = 11},/turf/simulated/floor/trim/wood,/area/thunderfield)
"gRl" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 9},/turf/simulated/floor/shuttle/white,/area/shuttle/escape/centcom)
@@ -2764,10 +2500,9 @@
"gWb" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 4},/area/thunderfield)
"gWt" = (/turf/unsimulated/wall{icon_state = "riveted"; dir = 4},/area/tdome)
"gXo" = (/obj/machinery/body_scanconsole{dir = 4},/turf/simulated/floor/shuttle/white{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
-"gZG" = (/obj/effect/floor_decal/industrial/warning/dust{dir = 9},/obj/structure/barricade/material{layer = 6},/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/thunderfield)
+"gZG" = (/obj/effect/floor_decal/industrial/warning/dust{dir = 9},/obj/structure/barricade/material,/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/thunderfield)
"hcf" = (/obj/structure/table/gamblingtable,/obj/item/deck/cards,/obj/item/reagent_containers/vessel/bottle/rum,/obj/item/wrench,/turf/simulated/floor/trim/carpet/orange,/area/thunderfield)
"heY" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_v"; dir = 4},/area/shuttle/administration/centcom)
-"hfr" = (/obj/item/modular_computer/console/preset/command,/obj/machinery/light{dir = 4},/turf/simulated/floor/shuttle/blue,/area/shuttle/escape/centcom)
"hgW" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 4},/area/centcom/creed)
"hjL" = (/turf/space,/turf/simulated/shuttle/wall/corner/smoothwhite/ne,/area/shuttle/escape/centcom)
"hjQ" = (/turf/unsimulated/floor{name = "plating"; icon_state = "cult"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
@@ -2830,7 +2565,7 @@
"iqt" = (/turf/unsimulated/wall{icon_state = "riveted_t"; dir = 4},/area/centcom/control)
"iqz" = (/obj/structure/table/woodentable,/obj/item/material/knife/butch,/turf/simulated/floor/trim/wood,/area/thunderfield)
"irC" = (/turf/unsimulated/wall{icon_state = "riveted_straight"},/area/centcom/specops)
-"isX" = (/obj/structure/barricade/material{layer = 6},/turf/unsimulated/floor{icon_state = "asteroid"},/area/thunderfield)
+"isX" = (/obj/structure/barricade/material,/turf/unsimulated/floor{icon_state = "asteroid"},/area/thunderfield)
"iuw" = (/turf/unsimulated/wall{icon_state = "riveted_15"},/area/syndicate_mothership)
"iuK" = (/obj/effect/decal/cleanable/blood/oil,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"ixg" = (/turf/unsimulated/wall{icon_state = "riveted"; dir = 8},/area/centcom/ferry)
@@ -2855,7 +2590,7 @@
"jgO" = (/obj/structure/bed/chair/shuttle/red{dir = 8},/turf/simulated/floor/shuttle/red,/area/shuttle/escape/centcom)
"jhK" = (/obj/effect/decal/cleanable/cobweb,/obj/structure/closet,/obj/random/clothing/hat,/obj/random/junk,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"jiP" = (/turf/unsimulated/wall{icon_state = "riveted_d"},/area/tdome)
-"jkb" = (/obj/structure/barricade/material{layer = 6},/turf/simulated/floor/tiled/dark,/area/thunderfield)
+"jkb" = (/obj/structure/barricade/material,/turf/simulated/floor/tiled/dark,/area/thunderfield)
"jkj" = (/obj/item/broken_bottle,/obj/effect/decal/cleanable/dirt,/turf/unsimulated/floor{icon_state = "wood"; dir = 8; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"jkD" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_d"; dir = 1},/area/syndicate_station/start)
"jlm" = (/obj/effect/decal/cleanable/vomit,/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/thunderfield)
@@ -2868,7 +2603,6 @@
"juQ" = (/obj/effect/floor_decal/spline/fancy/wood{dir = 4},/turf/unsimulated/floor{icon_state = "asteroidplating"},/area/thunderfield)
"juT" = (/turf/unsimulated/wall{icon_state = "riveted_t"; dir = 8},/area/centcom/holding)
"jxM" = (/obj/structure/table/rack/dark,/obj/random/projectile,/obj/random/projectile,/obj/random/ammo,/obj/random/ammo,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
-"jAX" = (/turf/unsimulated/wall{icon_state = "riveted_t"},/area/space)
"jBj" = (/obj/effect/floor_decal/industrial/warning/wiz,/turf/unsimulated/floor{icon_state = "asteroid"},/area/wizard_station)
"jDs" = (/obj/structure/toilet{dir = 4},/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
"jEl" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_t"; dir = 1},/area/shuttle/administration/centcom)
@@ -2892,13 +2626,13 @@
"jZg" = (/obj/structure/spider/stickyweb,/turf/simulated/floor/tiled/dark,/area/thunderfield)
"kaA" = (/turf/unsimulated/wall{icon_state = "riveted_s"; dir = 4},/area/wizard_station)
"kaV" = (/obj/structure/table/standard,/obj/machinery/microwave,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
-"kaZ" = (/obj/effect/floor_decal/industrial/warning/dust{dir = 6},/obj/structure/barricade/material{layer = 6},/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/thunderfield)
+"kaZ" = (/obj/effect/floor_decal/industrial/warning/dust{dir = 6},/obj/structure/barricade/material,/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/thunderfield)
"kdl" = (/obj/machinery/autolathe,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
"kfM" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_t"; dir = 1},/area/rescue_base/start)
"kgP" = (/obj/effect/floor_decal/spline/fancy/wood{dir = 8},/obj/structure/flora/tree/dead/deadtree_2,/turf/unsimulated/floor{icon_state = "asteroidplating"},/area/thunderfield)
"khi" = (/obj/machinery/door/blast/regular{name = "Shuttle Blast Shutters"; icon_state = "pdoor0"; opacity = 0; density = 0; dir = 4; id = "syndieshutters"},/obj/structure/window/syndi{icon_state = "ws6"},/turf/simulated/floor/plating,/area/syndicate_station/start)
"khq" = (/turf/unsimulated/wall{icon_state = "riveted_straight"},/area/rescue_base/base)
-"khQ" = (/obj/machinery/computer/crew,/obj/machinery/light{dir = 4},/obj/machinery/light{dir = 4},/turf/simulated/floor/shuttle/blue,/area/shuttle/escape/centcom)
+"khQ" = (/obj/machinery/computer/crew,/obj/machinery/light{dir = 4},/turf/simulated/floor/shuttle/blue,/area/shuttle/escape/centcom)
"kia" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 1},/area/centcom/control)
"kiK" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 8},/area/tdome)
"kiM" = (/turf/unsimulated/wall{icon_state = "riveted_s"; dir = 4},/area/tdome)
@@ -2914,7 +2648,7 @@
"kpE" = (/turf/unsimulated/floor{icon_state = "wood"; dir = 8; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"ksb" = (/obj/machinery/door/blast/regular{name = "Thunderdome Blast Door"; id = "thunderdome"},/obj/machinery/door/blast/regular{name = "Thunderdome Blast Door"; dir = 8; id = "thunderdome"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome)
"kti" = (/obj/structure/table/woodentable,/obj/random/cash,/turf/unsimulated/floor{icon_state = "lino"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
-"kvR" = (/obj/machinery/door/airlock/hatch,/obj/structure/barricade/material{layer = 6},/turf/unsimulated/floor{icon_state = "asteroid"},/area/thunderfield)
+"kvR" = (/obj/machinery/door/airlock/hatch,/obj/structure/barricade/material,/turf/unsimulated/floor{icon_state = "asteroid"},/area/thunderfield)
"kwe" = (/obj/machinery/door/airlock/centcom,/turf/simulated/floor/tiled/dark,/area/thunderfield)
"kzN" = (/obj/effect/floor_decal/industrial/warning/wiz{dir = 6},/turf/unsimulated/floor{name = "grass"; icon_state = "grass0"},/area/wizard_station)
"kAz" = (/obj/structure/table/woodentable,/obj/random/handgun,/turf/unsimulated/floor{icon_state = "lino"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
@@ -2939,7 +2673,7 @@
"kYZ" = (/turf/unsimulated/wall{icon_state = "riveted_straight"; dir = 8},/area/centcom/control)
"laf" = (/obj/structure/table/standard,/obj/item/storage/box/donkpockets,/obj/item/storage/box/donkpockets,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
"lap" = (/obj/machinery/light/small{dir = 8},/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
-"lat" = (/obj/structure/flora/ausbushes/palebush,/obj/structure/barricade/material{layer = 6},/turf/unsimulated/floor{icon_state = "asteroid"},/area/thunderfield)
+"lat" = (/obj/structure/flora/ausbushes/palebush,/obj/structure/barricade/material,/turf/unsimulated/floor{icon_state = "asteroid"},/area/thunderfield)
"lbs" = (/turf/unsimulated/wall{icon_state = "riveted_d"; dir = 8},/area/tdome)
"lei" = (/turf/unsimulated/floor{name = "plating"},/turf/simulated/shuttle/wall/corner/smoothwhite/se{icon_state = "corner_whiteship_s"},/area/supply/dock)
"ley" = (/obj/structure/bed/chair/wood,/turf/simulated/floor/trim/carpet/orange,/area/thunderfield)
@@ -2969,7 +2703,7 @@
"lNM" = (/obj/structure/table/standard,/obj/item/storage/box/masks,/obj/item/storage/box/gloves{pixel_x = 3; pixel_y = 4},/turf/simulated/floor/shuttle/white,/area/shuttle/escape/centcom)
"lNO" = (/obj/structure/window/reinforced/crescent{dir = 4},/obj/structure/lattice,/turf/space,/area/skipjack_station/base)
"lRi" = (/turf/simulated/shuttle/wall{icon_state = "syndiwall_b"; dir = 1},/area/centcom/evac)
-"lSn" = (/obj/structure/barricade/material{layer = 6},/turf/unsimulated/floor{icon_state = "asteroidplating"},/area/thunderfield)
+"lSn" = (/obj/structure/barricade/material,/turf/unsimulated/floor{icon_state = "asteroidplating"},/area/thunderfield)
"lSv" = (/obj/machinery/door/airlock/hatch{name = "Ship External Access"; icon_state = "door_locked"; frequency = 1380; locked = 1; req_one_access = 150; id_tag = "vox_northwest_lock"},/obj/machinery/shield_diffuser,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
"lTV" = (/obj/structure/window/syndi{icon_state = "ws2"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/ninja)
"lWu" = (/obj/structure/table/steel,/obj/item/device/flashlight/lamp/brown,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
@@ -3004,7 +2738,7 @@
"mMc" = (/obj/machinery/light/small{dir = 8},/obj/machinery/suit_cycler/syndicate{locked = 0},/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
"mMw" = (/turf/unsimulated/wall{icon_state = "riveted_l"},/area/centcom/control)
"mOI" = (/obj/structure/flora/ausbushes/sparsegrass,/turf/unsimulated/floor{icon_state = "asteroidplating"},/area/thunderfield)
-"mRw" = (/obj/effect/floor_decal/industrial/warning/dust{dir = 4},/obj/structure/barricade/material{layer = 6},/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/thunderfield)
+"mRw" = (/obj/effect/floor_decal/industrial/warning/dust{dir = 4},/obj/structure/barricade/material,/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/thunderfield)
"mRH" = (/obj/effect/floor_decal/spline/fancy/wood,/obj/effect/floor_decal/spline/fancy/wood{dir = 8},/turf/unsimulated/floor{icon_state = "asteroid"},/area/thunderfield)
"mUY" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 4},/area/alien)
"mVd" = (/obj/effect/decal/cleanable/dirt,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
@@ -3031,7 +2765,6 @@
"nGx" = (/obj/structure/window/reinforced/crescent{dir = 8},/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"nJi" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 8},/area/prison/solitary)
"nJG" = (/obj/machinery/atmospherics/binary/passive_gate/on,/turf/simulated/floor/shuttle/white,/area/rescue_base/start)
-"nKa" = (/turf/simulated/floor/holofloor/desert,/area/holodeck/source_desert)
"nMG" = (/obj/machinery/door/blast/regular{name = "Shuttle Blast Shutters"; icon_state = "pdoor0"; opacity = 0; density = 0; id = "syndieshutters_infirmary"},/obj/structure/window/syndi{icon_state = "ws2"},/turf/simulated/floor/plating,/area/syndicate_station/start)
"nNa" = (/turf/unsimulated/wall{icon_state = "riveted_straight"},/area/centcom/holding)
"nNs" = (/obj/effect/floor_decal/spline/fancy/wood{dir = 1},/obj/structure/flora/tree/dead/deadtree_3,/turf/unsimulated/floor{icon_state = "asteroid"},/area/thunderfield)
@@ -3040,7 +2773,7 @@
"nSC" = (/obj/structure/table/gamblingtable,/obj/item/reagent_containers/vessel/bottle/cognac,/turf/simulated/floor/trim/wood,/area/thunderfield)
"nVu" = (/obj/machinery/computer/teleporter,/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/centcom/control)
"nWi" = (/obj/structure/flora/ausbushes/ywflowers,/turf/unsimulated/floor{icon_state = "asteroidplating"},/area/thunderfield)
-"nWE" = (/obj/machinery/door/airlock/hatch,/obj/structure/barricade/material{layer = 6},/turf/simulated/floor/tiled/dark,/area/thunderfield)
+"nWE" = (/obj/machinery/door/airlock/hatch,/obj/structure/barricade/material,/turf/simulated/floor/tiled/dark,/area/thunderfield)
"nWQ" = (/obj/machinery/washing_machine,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"nZC" = (/turf/unsimulated/wall{icon_state = "riveted_t"; dir = 4},/area/syndicate_mothership)
"oft" = (/turf/unsimulated/wall{icon_state = "riveted_s"; dir = 1},/area/centcom/holding)
@@ -3080,7 +2813,7 @@
"pcJ" = (/obj/machinery/door/blast/regular{name = "Shuttle Blast Shutters"; icon_state = "pdoor0"; opacity = 0; density = 0; id = "syndieshutters_infirmary"},/obj/structure/window/syndi{icon_state = "ws1"},/turf/simulated/floor/plating,/area/syndicate_station/start)
"pdB" = (/turf/unsimulated/wall{icon_state = "riveted_c"; dir = 4},/area/centcom/specops)
"pea" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 4},/area/shuttle/administration/centcom)
-"pfT" = (/obj/structure/table/rack/holorack,/obj/item/gun/launcher/grenade,/obj/machinery/light/small{dir = 4; pixel_y = 8},/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"pfT" = (/obj/item/gun/launcher/grenade,/obj/machinery/light/small{dir = 4; pixel_y = 8},/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
"pfY" = (/obj/structure/table/woodentable,/obj/item/reagent_containers/food/amanitajelly,/turf/simulated/floor/trim/wood,/area/thunderfield)
"pgX" = (/turf/space,/turf/simulated/shuttle/wall/corner/syndi/ne{icon_state = "corner_syndiwall_s"},/area/syndicate_station/start)
"phO" = (/turf/unsimulated/wall{icon_state = "riveted_t"},/area/centcom/holding)
@@ -3121,7 +2854,7 @@
"quU" = (/turf/unsimulated/wall{icon_state = "riveted_t"},/area/centcom/creed)
"qyG" = (/obj/machinery/door/airlock/hatch{req_access = list(150)},/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
"qzN" = (/turf/unsimulated/wall{icon_state = "riveted_l"},/area/space)
-"qBz" = (/obj/machinery/door/unpowered/simple/wood,/obj/structure/barricade/material{layer = 6},/turf/simulated/floor/trim/wood,/area/thunderfield)
+"qBz" = (/obj/machinery/door/unpowered/simple/wood,/obj/structure/barricade/material,/turf/simulated/floor/trim/wood,/area/thunderfield)
"qCi" = (/obj/structure/table/woodentable,/obj/item/reagent_containers/vessel/bottle/small/beer,/turf/unsimulated/floor{icon_state = "lino"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"qCR" = (/turf/space,/turf/simulated/shuttle/wall/corner/smoothwhite/se,/area/centcom/evac)
"qFj" = (/obj/structure/window/syndi{icon_state = "ws2"},/turf/simulated/floor/plating,/area/shuttle/administration/centcom)
@@ -3134,28 +2867,26 @@
"qOH" = (/obj/structure/table/rack,/obj/item/clothing/suit/space/vox/medic,/obj/item/clothing/head/helmet/space/vox/medic,/obj/item/clothing/shoes/magboots/vox,/obj/item/clothing/gloves/vox,/obj/item/clothing/under/vox/vox_robes,/obj/item/clothing/accessory/holochip/vox,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"qOX" = (/turf/unsimulated/wall{icon_state = "riveted_t"; dir = 8},/area/rescue_base/base)
"qQb" = (/turf/unsimulated/wall{icon_state = "riveted_straight"; dir = 8},/area/syndicate_mothership/elite_squad)
-"qQY" = (/obj/structure/table/rack/holorack,/obj/item/shovel,/obj/item/storage/toolbox/mechanical,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"qQY" = (/obj/item/shovel,/obj/item/storage/toolbox/mechanical,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
"qRb" = (/obj/machinery/door/unpowered/simple/wood,/turf/simulated/floor/trim/wood,/area/thunderfield)
"qSu" = (/obj/effect/floor_decal/industrial/warning/dust,/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/thunderfield)
"qTG" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 1},/area/acting/backstage)
"qTU" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
-"qXV" = (/turf/unsimulated/wall{icon_state = "riveted_t"; dir = 8},/area/space)
"rci" = (/obj/item/stool/padded,/obj/effect/landmark/start/antags/vox,/turf/unsimulated/floor{icon_state = "wood"; dir = 8; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"rdB" = (/turf/unsimulated/wall{icon_state = "riveted"; dir = 8},/area/syndicate_mothership)
"reZ" = (/obj/structure/iv_drip,/obj/item/reagent_containers/ivbag/blood/AMinus,/obj/item/reagent_containers/ivbag/blood/APlus,/obj/item/reagent_containers/ivbag/blood/BMinus,/obj/item/reagent_containers/ivbag/blood/BPlus,/obj/item/reagent_containers/ivbag/blood/OMinus,/obj/item/reagent_containers/ivbag/blood/OPlus,/obj/structure/closet/secure_closet/medical_wall{name = "Blood Locker"; pixel_x = -28},/turf/simulated/floor/shuttle/white,/area/shuttle/escape/centcom)
"rgy" = (/turf/simulated/floor/trim/carpet/red,/area/thunderfield)
-"rgC" = (/obj/structure/barricade/material{layer = 6},/turf/simulated/floor/trim/wood,/area/thunderfield)
+"rgC" = (/obj/structure/barricade/material,/turf/simulated/floor/trim/wood,/area/thunderfield)
"rgP" = (/obj/structure/table/woodentable,/obj/structure/bedsheetbin,/turf/simulated/floor/trim/wood,/area/thunderfield)
"rkm" = (/turf/space,/turf/simulated/shuttle/wall/corner/smoothwhite/sw,/area/centcom/evac)
"rkU" = (/obj/structure/janitorialcart,/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/thunderfield)
"rmd" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 1},/area/skipjack_station/base)
"rmy" = (/obj/machinery/vending/tool,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
-"rnH" = (/obj/structure/barricade/material{layer = 6},/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/thunderfield)
+"rnH" = (/obj/structure/barricade/material,/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/thunderfield)
"rxn" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_t"; dir = 1},/area/shuttle/deathsquad/centcom)
"rzD" = (/turf/unsimulated/wall{icon_state = "riveted_c"; dir = 1},/area/centcom/specops)
"rzU" = (/turf/simulated/floor/shuttle/blue,/turf/simulated/shuttle/wall/corner/smoothwhite/nw{icon_state = "corner_whiteship_s"},/area/supply/dock)
"rAs" = (/obj/structure/closet/crate,/obj/item/reagent_containers/syringe/drugs,/obj/item/reagent_containers/syringe/drugs,/obj/item/reagent_containers/syringe/drugs,/obj/item/crowbar,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
-"rAx" = (/obj/structure/window/reinforced/crescent{dir = 4},/turf/unsimulated/wall{icon_state = "riveted_t"; dir = 4},/area/space)
"rBo" = (/obj/effect/decal/cleanable/vomit,/turf/unsimulated/floor{icon_state = "asteroidplating"},/area/thunderfield)
"rBJ" = (/turf/simulated/floor/shuttle/white{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
"rCT" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_straight"; dir = 4},/area/syndicate_station/start)
@@ -3186,7 +2917,6 @@
"spq" = (/obj/effect/floor_decal/industrial/warning/wiz,/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/wizard_station)
"ssT" = (/obj/random/junk,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
"stc" = (/turf/unsimulated/floor{name = "plating"},/turf/simulated/shuttle/wall/corner/syndi/sw{icon_state = "corner_syndiwall_s"},/area/shuttle/administration/centcom)
-"stu" = (/turf/unsimulated/wall{icon_state = "riveted_15"},/area/space)
"svn" = (/obj/effect/floor_decal/industrial/warning/dust/corner{dir = 4},/obj/effect/decal/remains,/obj/item/wrench,/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/thunderfield)
"szw" = (/turf/simulated/mineral,/area/thunderfield)
"sAd" = (/obj/effect/decal/cleanable/dirt,/turf/unsimulated/floor{icon_state = "wood"; dir = 8; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
@@ -3285,7 +3015,6 @@
"vev" = (/obj/structure/table/rack,/obj/item/clothing/suit/space/vox/carapace,/obj/item/clothing/head/helmet/space/vox/carapace,/obj/item/clothing/shoes/magboots/vox,/obj/item/clothing/gloves/vox,/obj/item/clothing/under/vox/vox_robes,/obj/item/clothing/accessory/holochip/vox,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"vfl" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_d"; dir = 1},/area/syndicate_mothership/ninja)
"vks" = (/obj/effect/floor_decal/spline/fancy/wood{dir = 1},/turf/unsimulated/floor{icon_state = "asteroidplating"},/area/thunderfield)
-"vkN" = (/obj/structure/flora/ausbushes/sparsegrass,/turf/simulated/floor/holofloor/desert,/area/holodeck/source_desert)
"vlf" = (/obj/structure/window/syndi{icon_state = "ws4"},/turf/simulated/floor/plating,/area/rescue_base/start)
"vnm" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8},/obj/machinery/meter,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
"vok" = (/obj/structure/flora/ausbushes/ywflowers,/obj/effect/floor_decal/spline/fancy/wood{dir = 8},/turf/unsimulated/floor{icon_state = "asteroidplating"},/area/thunderfield)
@@ -3319,7 +3048,6 @@
"wqb" = (/turf/unsimulated/wall{icon_state = "riveted_straight"; dir = 8},/area/centcom/holding)
"wqW" = (/obj/effect/floor_decal/spline/fancy/wood,/turf/unsimulated/floor{icon_state = "asteroid"},/area/thunderfield)
"wry" = (/obj/structure/table/rack/dark,/obj/item/gun/energy/sniperrifle,/obj/item/gun/energy/ionrifle,/obj/item/gun/energy/kinetic_accelerator,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
-"wsI" = (/obj/structure/window/reinforced/crescent{dir = 8},/turf/unsimulated/wall{icon_state = "riveted_t"; dir = 8},/area/space)
"wsT" = (/obj/structure/bed/chair/shuttle/red{dir = 1},/turf/simulated/floor/shuttle/red,/area/shuttle/escape/centcom)
"wtv" = (/turf/simulated/floor/shuttle/red,/turf/simulated/shuttle/wall/corner/syndi/nw{icon_state = "corner_syndiwall_s"},/area/shuttle/administration/centcom)
"wvS" = (/turf/unsimulated/wall{icon_state = "riveted"; dir = 1},/area/wizard_station)
@@ -3331,7 +3059,6 @@
"wEs" = (/obj/structure/window_frame/grille,/obj/structure/window/shuttle{icon_state = "6"; dir = 8},/turf/simulated/floor/plating,/area/shuttle/escape/centcom)
"wFU" = (/obj/structure/table/standard,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
"wGr" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{frequency = 1380; id_tag = "skipjack_shuttle_pump"},/obj/machinery/airlock_sensor{pixel_x = 8; pixel_y = 25; frequency = 1380; id_tag = "skipjack_shuttle_sensor"},/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
-"wGt" = (/obj/structure/window/reinforced/crescent{dir = 1},/turf/unsimulated/wall{icon_state = "riveted_straight"; dir = 8},/area/space)
"wGG" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 4},/area/skipjack_station/base)
"wHQ" = (/turf/unsimulated/wall{icon_state = "riveted_t"; dir = 1},/area/skipjack_station/base)
"wIm" = (/obj/structure/closet/crate/bin,/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/thunderfield)
@@ -3389,43 +3116,43 @@
"yjV" = (/turf/space,/turf/simulated/shuttle/wall/corner/smoothwhite/se,/area/shuttle/escape/centcom)
(1,1,1) = {"
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaacaacaacaacaacaacaacaacaacaacaadaadaadaadaadaadaadaadaadaadaadaadaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuqzNmjJmjJmjJmjJmjJmjJmjJmjJmjJmjJmjJmjJmjJmjJmjJmjJmjJmjJmjJmjJmjJmjJmjJmKaaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuqzNaagaagaagaagaagaagaagaagaagaagtVdaagaagaagaagaagaagaagaagaagaagtVdaagaagaagaagaagaagaagaagaagaagtVdaagaagaagaagaagaagaagaagaagaagtVdaagaagaagaagaagaagaagaagaagaagtVdaagaagaagaagaagaagaagaagaagaagtVdaagaagaagaagaagaagaagaagaagaagmKa
-aaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaafaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKudDCdcWdcWdcWjmqdcWdcWgmKaKuaalnKanKanKavkNnKanKanKanKanKanKaaaoaapaaJaaKaaJaaKaaJaaKaaJaaKaapaaoaaraasaasaasaasaasaasaasaasaasaaoaavaaNaauaaAaaDaaDaaDaaDaaMaavaaoaawaawaawaawaawaawaawaawaawaawaaoaaxaaxaaxaaxaaxaaxaaxaaxaaxaaxaaoaaBaaCaaCaaCaaCaaRaaRaaRaaRabaaaE
-aaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaaFaaFaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaFaaFaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaakaafaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuabyabOabOabOjsXabOabOabyaKuaalnKanKanKanKanKanKanKanKafSTnKaaaoaapaaKaaJaaKaaJaaKaaJaaKaaJaaqaaoaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaoaavaaNabbabcabdabdabdabdabeaavaaoaawaaOaawaawaawaawaawaawaaOaawaaoaaxaaxaaxaaxaaxaaxaaxaaxaaxaaxaaoaaPaaQaaQaaQaaQaaQaaQaaQaaQabfaaE
-aaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSaaSaaSaaSaaTaahaahaaTaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakaaHaaUaaUaaUaaUaaUaaUaaVaaVaaVaaUaaUaaVaaVaaVaaUaaUaaUaaUaaUaaHaakaafaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuabyabOacaabOacbabOabOabyaKuaalnKafSTnKanKanKanKanKanKanKanKaaaoaapaaJaaWaaXaaYaaXaaYaaZaaKaaqaaoaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaoaavaaNabpabrabrabrabrabrabrabraaoaawaawaawaawaawaawaawaawaawaawaaoaaxaaxaaxaaxaaxaaxaaxaaxaaxaaxaaoaaPaaQaaQaaQaaQaaQaaQaaQaaQabfaaE
-aaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSaaSaaSaaSaaTaahaahaaTaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakaaHabgaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUabhaaHaakaafaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuabyaclaclaclrFCabOabOabyaKuaalnKanKanKanKanKavkNnKanKanKanKaaaoaaqaaKabiablablablablabmaaJaapaaoabnabnabnabnabnabnabnabnabnaboaaoaavaaNaaNabqabsabtabHabHabtabuaaoaawaawaawaaOaawaawaaOaawaawaawaaoaaxaaxaaxaaxaaxaaxaaxaaxaaxaaxaaoaaPaaQaaQaaQaaQaaQaaQaaQaaQabfaaE
-aaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSaaSaaSaaSaaTaahaahaaTaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakaaHaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUabxaaUaaUaaUaaUaaUaaHaakaafaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuacdacdacdacdbtecwcdcWdcWdcWmUYabOabOabyaKuaalnKanKavkNnKanKanKavkNnKanKanKaaaoaaqaaJabjabkabzabzabkabAaaKaapaaoabBabBabCabDabDabDabDabEabBabFaaoaavaaNaavabvabSabwabUabUabwabGaaoaawaawaawaawaawaawaawaawaawaawaaoaaxaaxaaxaaxaaxaaxaaxaaxaaxaaxaaoaaPaaQaaQaaQaaQaaQaaQaaQaaQabfaaE
-aaaaahaahaahaahaahaahaahaahabLaaGaaGaaGaaGaaGabMabMabMabMabLaahaahaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSabNaaSaaSaaTaahaahaaTaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakaaHaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUabgaaUaaUaaUaaUaaUaaHaakaafaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuacdacdacdacdacbabOacbabOabOabOabOabOabyaKuaalnKanKanKanKanKanKanKanKanKanKaaaoaapaaJabjabkabzabzabkabAaaKaaqaaoabBabBabPabQabQabQabQabRabBabFaaoaavaaNabIabJacpabUabUabUabwabGaaoaawaawaawaawaawaawaawaawaawaawaaoaaxaaxaaxaaxaaxaaxaaxaaxaaxaaxaaoaaPaaQaaQaaQaaQaaQaaQaaQaaQabfaaE
-aaaaahaahaahaahaahaahaahabLaaGabYabYabYabYabYabYabYabYabYabMabLaahaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSaaSaaSaaSaaTaahaahaaTaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakaaHaaUaaUaaUaaUabZabxaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaHaakaafaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuacdacdacdacdbtedcWdcWgmKabOabOabOacxabyaKuaalnKanKanKanKanKafSTnKanKanKavkNaaoaapaaKabiablablablablabmaaJaapaaoabBabBabPabQabQabQabQabRabBabFaaoaavaaNaavabKabTabwabUabUabwabGaaoaawaawaawaaOaawaawaaOaawaawaawaaoaaxaaxaaxaaxaaxaaxaaxaaxaaxaaxaaoabVabWabWabWabWacQacQacQacQacRaaE
-aaaaahaahaahaahaahaahabLaaGabYabYabYabYabYabYabYabYabYabYabYabMabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaciaciaciacjacjacjaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSaaSaaSaaSaaTaahaahaaTaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakaaHaaUaaUaaUaaUaaUackackaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaHaakaafaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuabyaclabOabOacxabyaKuaalnKanKafSTnKanKanKanKanKanKanKaaaoaaqaaJacmaceablablaccacnaaKaaqaaoabBabBabPabQabQabQabQabRabBabFaaoaavaaNaaNabXacfacgachachacgacoaaoaawaawaawaawaawaawaawaawaawaawaaoaaxaaxaaxaaxaaxaaxaaxaaxaaxaaxaaoacqacqacracqacqacqacqacCacqacqaaE
-aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaciacsacsactactacuaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSaaSaaSaaSaaTaahaahaaTaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakaaHaaUaaUaaUaaUackacvacwackaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaHaakaafaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuabyaclabOabOacxabyaKuaalnKanKanKanKanKanKanKanKanKanKaaaoaapaaKaaJabjablablabAaaKaaKaapaaoabBabBacyaczaczaczaczacAabBacBaaoacNacMacNacNacNacNacNacOacNacNaaoaawaaOaawaawaawaawaawaawaaOaawaaoaaxaaxaaxaaxaaxaaxaaxaaxaaxaaxaaoaazaazaayaazaazaazaazaayaazaazaaE
-aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaciacsacEactactacFaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSaaSaaSaaSaaTaaTaaTaaTaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakaaHaaUaaUaaUaaUackacGacHackaaUaaUabZaaUacIaaUaaUaaUaaUaaUaaUaaHaakaafaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKunecdcWdcWdcWdcWmUYaKuaalvkNnKanKanKafSTnKanKanKanKafSTaaoaapaaJaaKabiablablabAaaKaaJaapaaoabBabBabBabBabBabBabBabBabBacLaaoaataataataataataataataataataataaoaawaawaawaawaawaawaawaawaawaawaaoaaxaaxaaxaaxaaxaaxaaxaaxaaxaaxaaoaayaayaayaayaayaayaayaayaayaayaaE
-aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaciacsacsactactacFaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakaaHaaUaaUaaUaaUaaUackackaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaHaakaafaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuqXVacTacTacTacTacTacTacTacTacTacTstuacTacTacTacTacTacTacTacTacTacTstuacTacTacTacTacTacTacTacTacTacTstuacUacUacUacUacUacUacUacUacUacUstuacUacUacUacUacUacUacUacUacUacUstuacUacUacUacUacUacUacUacUacUacUstuacUacUacUacUacUacUacUacUacUacUowb
-aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaciaciaciacjacjacjaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakaaHaaUaaUabxaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUabgaaUaaUaaHaakaafaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuoEbaeqaeqpYZaeqaeqpYZaeqaeqpYZaeqaeqnJiaKuaalacVacVacVacVacVacVacVacVacVacVaaoacWacWacWacWacWacWacWacWacWacWaaoacXacXacXacXacXacXacXacXacXacXaaoadcaddaddaddadfafaafbafbafbafcaaoadgadgadgadgadgadgadgadbafSafSaaoacPadjadjadjadkadladmadmadmadAaaoadnadnadoadoadoadoadoadoadoadoaaE
-aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakaaHaaUaaUabZabxaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUabxaaUaaUaaHaakaafaKuaKuaKuaKuaKuaKuhKrxvQadpadpafNadpadpvHmuGoadqqQbadqblnaKuaKuaKuaKuafOacSaeUafOacSaeVafOacSaeWafOacSaeUafOaKuaalacVacVacVadracVacVacVacVadracVaaoacWadsacWacWacWacWadsacWacWacWaaoacXacXadtaduaduaduadvacXacXacXaaoadwadxadxadxadyafqadxadxadxafraaoadgadgadgadgadgadgadgadbafSafSaaoadCadBadBadBadTaeBadBadBadBaeCaaoadoadoadoadoadDadDadDadoadoadoaaE
-aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaciaciaciacjacjacjaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahadEadEaaGaaGaaFaaGadEaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSabMabMaaFabMabMadEadEaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakaaHaaUaaUaaUaaUaaUaaUaaUadFaaUadFaaUadFaaUadGaaUaaUaaUaaUaaUaaHaakaafaKuaKuaKuaKuaKuaKuvQUadHadIadJadJadKadJadLoUCadMadNadMvQUaKuaKuaKuaKuafOaeTaeWafOaeTaeUafOaeTaeUafOaeTaeUafOaKuaalacVacVacVacVacVacVacVacVacVacVaaoacWacWacWacWacWacWacWacWadOacWaaoacXacXadPadPadPadPadPacXacXacXaaoadcaddadwadxadyafqadxafrafbafcaaoadgadgadgadgadzadgadgadbafSafSaaoadCadBadBadBadTaeBadBadBadBaeCaaoadoadoadoadUadVadVadVadoadoadoaaE
-aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaciadWadWadXadXacuaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahadEaaSaaSaaSaaSaaSaaTaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaTaaSaaSaaSaaSaaSadEaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakaaHaaUaaUaaUadYaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaHaakaafaKuaKuaKuaKuaKuaKuvQUadZaeaaeaaeaaeaaeaaeaaebadNadNadNvQUaKuaKuaKuaKuchoaeqaeqpNwaeqaeqpNwaeqaeqpNwaeqaeqjVTaKuaalacVadracVacVacVacVadracVacVacVaaoacWacWfuAacWadOacWacWacWacWacWaaoaedaedaedaedaedaedaedaedaedaeeaaoadQadxadwadxaeyafqadxafradxafBaaoadgadgadRadgaefadgadgadbafSafSaaoadCadBadBadBadTaeBadBadBadBaeCaaoadoadDaegaehaeiaeiaejaekadDadoaaE
-aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaciadWadWaeladXacFaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahadEaaSaaSaaSaaSaaSaaTaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaTaaSaaSaaSaaSaaSadEaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaakaafaKuaKuhKrqQbqQbqQbkoZaemaeaaenaenaenaeaaeoquBaepquBaepvQUaKuaKuaKuaKuafOacSaeUafOacSaeUafOafpaeUafOacSaeWafOaKuaalacVacVacVacVacVacVacVacVacVacVaaoacWacWacWaeracWacWacWacWaeracWaaoaedaetaeuaeuaeuaeuaeuaevaedaeeaaoaewaexadwadxadyafqadxafrafCagaaaoadgadgadgadgadgadgadgadbafSafSaaoadCadBadBadBadTaeBadBadBadBaeCaaoadoadDaegaeEaeFaeGaeHaekadDadoaaE
-aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaciadWadWadXadXacFaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahadEaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSadEaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakaeIaeJaeJaeJaeJaeJaeJaeJaeJaeJaeJaeJaeJaeJaeJaeJaeJaeJaeJaeJaeIaakaafaKuaKuvQUaeKaeLaeLaeLaeMaeaaeNaeOaeOaePaeQvQUaeRvQUaeSvQUaKuaKuaKuaKuafOaeTaeWafOaeTaeUafOaeTaeUafOaeTaeUafOaKuaalacVacVacVacVacVacVacVacVacVacVaaoacWacWacWacWacWacWacWacWacWacWaaoaedaeXaeYaeYaeYaeYaeYaeZaedaeeaaoadwadxadxadxadyafqadxadxadxafraaoadgadSadgadgadgadgadgadbafSafSaaoadCadBadBadBadTaeBadBadBadBaeCaaoadoadDaegaeEafgafhaeHaekadDadoaaE
-aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaciaciaciacjacjacjaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahadEaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSadEaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaafaKuaKuvQUafkaflaflaflafmaeaaeOafnafoaePaeQfNcqQbgmaqQbfwIaKuaKuaKuaKubzNaeqaeqkKSaeqaeqkKSaeqaeqkKSaeqaeqbMhaKuaalacVacVacVadracVacVacVacVadracVaaoacWacWacWacWadsacWfuAacWacWadsaaoaedaeXaeYaeYaeYaeYaeYaeZaedaeeaaoaewaexaexaexaezafYafCafCafCagaaaoadgadgadgaeAadgadgadgadbafSafSaaoaeDafdafdafdafeaffafsafsafsagdaaoadoadDaegaejafuafuafvaekadDadoaaE
-aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahadEaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSadEaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaafaKuaKubcVqQbqQbqQbblnafwaeaafxafxafxaeaaeooUCafyaeaafyfNcqQbqQbblnaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaalacVacVacVacVacVacVacVacVacVacVaaoafzacWacWacWacWafzacWacWacWacWaaoaedaeXaeYaeYaeYaeYaeYafAaedaeeaaoafDafDafZafDafDafDafDakpafDafDaaoadgadgadgadgadgadzadgadbafSafSaaoaftaftafEaftaftaftaftagbaftaftaaoadoadoadoafFafFafFafGadoadoadoaaE
-aaaaahaahaahaahaahaahabLabYabYabYabYabYabYafHabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahadEaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSadEaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaafaKuaKuaKuaKuafIaKuvQUadZaeaaeaaeaaeaaeaaeQafJaeaaeaafKvQUafLafMvQUaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaalacVadracVacVacVacVadracVacVacVaaoacWaeracWfuAacWacWaeracWadOacWaaoaedafPafQafQafQafQafQafRaedaeeaaoadaadaacZadaadaadaadaacZadaadaaaoadgadgadgadgadgadgadgadbafSafSaaoadiadiadhadiadiadiadiadhadiadiaaoadoadoadoadDadDadDadoadoadoadoaaE
-aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahadEaaSaaSaaSaaSaaSadEadEadEadEaaSaaSaaSaaSaaSaaSadEadEadEadEaaSaaSaaSaaSaaSadEaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaafaKuaKuaKuaKuafIaKuvQUafTafUafVaeaaeaaeaafWquBafyaeaafyfNcqQbqQbkoZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaalacVacVacVacVacVacVacVacVacVacVaaoacWacWacWacWafzacWacWacWacWafzaaoaedaedaedaedaesaesaedaedaedaeeaaoacZacZacZacZacZacZacZacZacZacZaaoadgadgadgadgadgadgadgadbafSafSaaoadhadhadhadhadhadhadhadhadhadhaaoadoadoadoadoadoadoadoadoageageaaE
-aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahadEaaSaaSaaSaaSaaSadEaahaahadEaaSaaSaaSaaSaaSaaSadEaahaahadEaaSaaSaaSaaSaaSadEaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaafaKuaKuaKuaKuafIaKuoUCaJAadpquBagfquBadpaJAbcVqQbqQbqQbkoZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKulYOwGtwGtwGtwGtwGtwGtwGtwGtwGtwGtjAXwGtwGtwGtwGtwGtwGtwGtwGtwGtwGtjAXwGtwGtwGtwGtwGtwGtwGtwGtwGtwGtjAXwGtwGtwGtwGtwGtwGtwGtwGtwGtwGtjAXwGtwGtwGtwGtwGtwGtwGtwGtwGtwGtjAXwGtwGtwGtwGtwGtwGtwGtwGtwGtwGtstuacUacUacUacUacUacUacUacUacUacUowb
-aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahadEaaSaaSaaSaaSaaSadEaahaahadEadEadEadEadEadEadEadEaahaahadEaaSaaSaaSaaSaaSadEaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaafaKuaKuaKuaKuafIaKuaKuaKuaKuvQUaghvQUaKuaKuaKuaKuafIaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaalacKacKacKacKacKacKacKacKacKacKaaE
-aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahadEaaSaaSaaSaaSaaSadEaahaahaahaahaahaahaahaahaahaahaahaahadEaaSaaSaaSaaSaaSadEaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaafaKuaKuaKuaKuafIaKuaKuaKuaKuvQUagivQUaKuaKuaKuaKuafIaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaFGacUacUacUacUacUaggacUacUacUacUacUaggacUacUacUacUacUaggacUacUacUacUacUaGhaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaKuaKuaalacKacYagcanPapmauuaybaycayDacKaaE
-aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaacaacaacaacaacaacaacaacaacaacaadaadaadaadaadaadaadaadaadaadaadaadaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahadEadEadEadEadEadEadEaahaahaahaahaahaahaahaahaahaahaahaahadEadEadEadEadEadEadEaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaafaKuaKuaKuaKuafIaKuaKuaKuaKuoUCagjoUCaKuaKuaKuaKuafIaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaGiaFBaFCaFDaFEaFQaGiaFgaFgaFgaFgaFgaGiaFnaFyaFzaFzaFnaGiaGsaGjaGjaGjaGtaGiaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagkaabaKuaKuaalacKayEayFayEayFayEayFayEayFacKaaE
-aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaafaKuaKuaKuaKuafIaKuafXagmvcdaIKagnaIKvcdagmagHaKuafIaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaGiaFFaFWaFPaFDaGfaGiaFgaFgaFgaFgaFgaGiaFzaFzaFyaFyaFzaGiaGjaGuaGvaGyaGjaGiaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaalacKayGayHayGayHayGayHayGayHacKaaE
-aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaabaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaafaKuaKuaKuaKuafIaKuaIBagoaIBagpagqagraIBagoaIBaKuafIaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaGiaFRaFSaFTaFBaFCaGiaFgaFgaFgaFgaFgaGiaFyaFyaFAaFzaFyaGiaGjaGzaGOaGPaGjaGiaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaalacKayHayGayHayGayHayGayHayGacKaaE
-aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaahaahaabaKuaKuaKuaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaafaKuaKuaKuaKuafIaKuagsdLuaKjagtaguagvaglgtBagwaKuafIaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaGiaGgaFDaFUaFVaFEaGiaFgaFgaFgaFgaFgaGiaFzaFzaFyaFyaFyaGiaGjaGQaKsaKtaGjaGiaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaalacKayGayHayGayHayGayHayGayHacKaaE
-aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaahaahaabaKuaKuaKuaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaafaKuaKuaKuaKuafIaKuaKufjtycpaIKagxaIKfsHrDkaKuaKuafIaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaGiaGfaFEaFCaFWaFRaGiaFgaFgaFgaFgaFgaGiaFnaFyaFzaFzaFnaGiaGwaGjaGjaGjaGxaGiaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaalacKayHayGayHayGayHayGayHayGacKaaE
-aaaaahaahaahaahaahaahabLabLabLabLabLabYabYabYabYabYabLabLabLabLabLaahaahaahaahaahaahaahaahaaaaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaahaahaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaafaKuaKuaKuaKuafIaKuaKuagyagzagAagBagCagDagyaKuaKuafIaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuwsIacUacUacUacUacUstuacUacUacUacUacUstuacUacUacUacUacUstuacUacUacUacUacUrAxaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaalacKayIayJayIayJayIayJayIayJacKaaE
-aaaaahaahaahaahaahaahaahaahaahaahabLabLabLabLabLabLabLaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaahaahaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaafaKuaKuaKuaKuafIaKuaKunOIagzagEagCagCagDnOIaKuaKuafIaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaGiaKuaKuaKuaKuaKuaGiaKuaKuaKuaKuaKuaGiaKuaKuaKuaKuaKuaGiaKuaKuaKuaKuaKuaGiaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaalacKayKayLayMayNayOazbazcazdacKaaE
-aaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaahaahaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakafiafiafiafiafiafiafiafiafiafiafiafiafiafiafiafiafiafiafiafiafiaakaafaKuaKuaKuaKuafIaKuaKuagsaCoagFagCagGxpVagwaKuaKuafIaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaGiaKuaKuaKuaKuaKuaGiaKuaKuaKuaKuaKuaGiaKuaKuaKuaKuaKuaGiaKuaKuaKuaKuaKuaGiaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaalacKacKacKacKacKacKacKacKacKacKaaE
-aaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaahaahaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaafaKuaKuaKuaKuafIafIaKuaKuaIBagIagCagJaIBaKuaKuafIafIaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaGiaKuaKuaKuaKuaKuaGiaKuaKuaKuaKuaKuaGiaKuaKuaKuaKuaKuaGiaKuaKuaKuaKuaKuaGiaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahagKvflagMagLagNaahaahaahaahaahaahaahaaaaabaKuaKulYOwGtwGtwGtwGtwGtwGtwGtwGtwGtwGtdkk
-aaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaaaaahaahaahaahaahaahaahaahadEadEadEadEadEadEadEadEadEaahaahaahaahaahaahaahaahaaaaahaahaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKulYOmjJmjJmjJmjJmjJmjJmjJmjJmjJmjJmjJmjJmjJmjJmjJmjJmjJmjJmjJmjJmjJmjJmjJdkkaKuaKuaKuaKuaKuafIaKuaKuaIBagFagCagGaIBaKuaKuafIaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaGiaKuaKuaKuaKuaKuaGiaKuaKuaKuaKuaKuaGiaKuaKuaKuaKuaKuaGiaKuaKuaKuaKuaKuaGiaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahwTmagOagPagQaEDaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
-aaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaaaaahaahaahaahaahaahaahadEadEagRagRagRagRagRagRagRadEaaFaahaahaahaahaahaahaahaaaaahaahaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuafIaKuaKuaIBagSagTagUaIBaKuaKuafIaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaGiaKuaKuaKuaKuaKuaGiaKuaKuaKuaKuaKuaGiaKuaKuaKuaKuaKuaGiaKuaKuaKuaKuaKuaGiaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahlTVagPagVagPlTVaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaaaaabaaaaahaahaahaahaahaahaahagWagRagRagRagRagRagRagRagRagRaaFaahaahaahaahaahaahaahaaaaahaahaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuafIaKuaKuagsaCoagYxpVagwaKuaKuafIaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaGkacUacUacUacUacUbpGacUacUacUacUacUbpGacUacUacUacUacUbpGacUacUacUacUacUaGlaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahbzQagZagPagZbzQaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaacaacaacaacaacaacaacaacaacaacaadaadaadaadaadaadaadaadaadaadaadaadaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuqzNmjJmjJmjJmjJmjJmjJmjJmjJmjJmjJmjJmjJmjJmjJmjJmjJmjJmjJmjJmjJmjJmjJmjJmKaaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+aaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaafaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKudDCdcWdcWdcWjmqdcWdcWgmKaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+aaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaaFaaFaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaFaaFaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaakaafaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuabyabOabOabOjsXabOabOabyaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+aaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSaaSaaSaaSaaTaahaahaaTaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakaaHaaUaaUaaUaaUaaUaaUaaVaaVaaVaaUaaUaaVaaVaaVaaUaaUaaUaaUaaUaaHaakaafaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuabyabOacaabOacbabOabOabyaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+aaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSaaSaaSaaSaaTaahaahaaTaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakaaHabgaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUabhaaHaakaafaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuabyaclaclaclrFCabOabOabyaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+aaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSaaSaaSaaSaaTaahaahaaTaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakaaHaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUabxaaUaaUaaUaaUaaUaaHaakaafaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuacdacdacdacdbtecwcdcWdcWdcWmUYabOabOabyaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+aaaaahaahaahaahaahaahaahaahabLaaGaaGaaGaaGaaGabMabMabMabMabLaahaahaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSabNaaSaaSaaTaahaahaaTaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakaaHaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUabgaaUaaUaaUaaUaaUaaHaakaafaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuacdacdacdacdacbabOacbabOabOabOabOabOabyaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+aaaaahaahaahaahaahaahaahabLaaGabYabYabYabYabYabYabYabYabYabMabLaahaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSaaSaaSaaSaaTaahaahaaTaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakaaHaaUaaUaaUaaUabZabxaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaHaakaafaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuacdacdacdacdbtedcWdcWgmKabOabOabOacxabyaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+aaaaahaahaahaahaahaahabLaaGabYabYabYabYabYabYabYabYabYabYabYabMabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaciaciaciacjacjacjaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSaaSaaSaaSaaTaahaahaaTaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakaaHaaUaaUaaUaaUaaUackackaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaHaakaafaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuabyaclabOabOacxabyaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaciacsacsactactacuaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSaaSaaSaaSaaTaahaahaaTaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakaaHaaUaaUaaUaaUackacvacwackaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaHaakaafaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuabyaclabOabOacxabyaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaciacsacEactactacFaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSaaSaaSaaSaaTaaTaaTaaTaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakaaHaaUaaUaaUaaUackacGacHackaaUaaUabZaaUacIaaUaaUaaUaaUaaUaaUaaHaakaafaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKunecdcWdcWdcWdcWmUYaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaciacsacsactactacFaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakaaHaaUaaUaaUaaUaaUackackaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaHaakaafaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaciaciaciacjacjacjaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakaaHaaUaaUabxaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUabgaaUaaUaaHaakaafaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuoEbaeqaeqpYZaeqaeqpYZaeqaeqpYZaeqaeqnJiaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakaaHaaUaaUabZabxaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUabxaaUaaUaaHaakaafaKuaKuaKuaKuaKuaKuhKrxvQadpadpafNadpadpvHmuGoadqqQbadqblnaKuaKuaKuaKuafOacSaeUafOacSaeVafOacSaeWafOacSaeUafOaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaciaciaciacjacjacjaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahadEadEaaGaaGaaFaaGadEaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSabMabMaaFabMabMadEadEaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakaaHaaUaaUaaUaaUaaUaaUaaUadFaaUadFaaUadFaaUadGaaUaaUaaUaaUaaUaaHaakaafaKuaKuaKuaKuaKuaKuvQUadHadIadJadJadKadJadLoUCadMadNadMvQUaKuaKuaKuaKuafOaeTaeWafOaeTaeUafOaeTaeUafOaeTaeUafOaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaciadWadWadXadXacuaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahadEaaSaaSaaSaaSaaSaaTaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaTaaSaaSaaSaaSaaSadEaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakaaHaaUaaUaaUadYaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaHaakaafaKuaKuaKuaKuaKuaKuvQUadZaeaaeaaeaaeaaeaaeaaebadNadNadNvQUaKuaKuaKuaKuchoaeqaeqpNwaeqaeqpNwaeqaeqpNwaeqaeqjVTaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaciadWadWaeladXacFaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahadEaaSaaSaaSaaSaaSaaTaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaTaaSaaSaaSaaSaaSadEaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaakaafaKuaKuhKrqQbqQbqQbkoZaemaeaaenaenaenaeaaeoquBaepquBaepvQUaKuaKuaKuaKuafOacSaeUafOacSaeUafOafpaeUafOacSaeWafOaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaciadWadWadXadXacFaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahadEaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSadEaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakaeIaeJaeJaeJaeJaeJaeJaeJaeJaeJaeJaeJaeJaeJaeJaeJaeJaeJaeJaeJaeIaakaafaKuaKuvQUaeKaeLaeLaeLaeMaeaaeNaeOaeOaePaeQvQUaeRvQUaeSvQUaKuaKuaKuaKuafOaeTaeWafOaeTaeUafOaeTaeUafOaeTaeUafOaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaciaciaciacjacjacjaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahadEaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSadEaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaafaKuaKuvQUafkaflaflaflafmaeaaeOafnafoaePaeQfNcqQbgmaqQbfwIaKuaKuaKuaKubzNaeqaeqkKSaeqaeqkKSaeqaeqkKSaeqaeqbMhaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahadEaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSadEaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaafaKuaKubcVqQbqQbqQbblnafwaeaafxafxafxaeaaeooUCafyaeaafyfNcqQbqQbblnaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+aaaaahaahaahaahaahaahabLabYabYabYabYabYabYafHabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahadEaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSadEaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaafaKuaKuaKuaKuafIaKuvQUadZaeaaeaaeaaeaaeaaeQafJaeaaeaafKvQUafLafMvQUaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahadEaaSaaSaaSaaSaaSadEadEadEadEaaSaaSaaSaaSaaSaaSadEadEadEadEaaSaaSaaSaaSaaSadEaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaafaKuaKuaKuaKuafIaKuvQUafTafUafVaeaaeaaeaafWquBafyaeaafyfNcqQbqQbkoZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahadEaaSaaSaaSaaSaaSadEaahaahadEaaSaaSaaSaaSaaSaaSadEaahaahadEaaSaaSaaSaaSaaSadEaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaafaKuaKuaKuaKuafIaKuoUCaJAadpquBagfquBadpaJAbcVqQbqQbqQbkoZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahadEaaSaaSaaSaaSaaSadEaahaahadEadEadEadEadEadEadEadEaahaahadEaaSaaSaaSaaSaaSadEaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaafaKuaKuaKuaKuafIaKuaKuaKuaKuvQUaghvQUaKuaKuaKuaKuafIaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahadEaaSaaSaaSaaSaaSadEaahaahaahaahaahaahaahaahaahaahaahaahadEaaSaaSaaSaaSaaSadEaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaafaKuaKuaKuaKuafIaKuaKuaKuaKuvQUagivQUaKuaKuaKuaKuafIaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaacaacaacaacaacaacaacaacaacaacaadaadaadaadaadaadaadaadaadaadaadaadaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahadEadEadEadEadEadEadEaahaahaahaahaahaahaahaahaahaahaahaahadEadEadEadEadEadEadEaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaafaKuaKuaKuaKuafIaKuaKuaKuaKuoUCagjoUCaKuaKuaKuaKuafIaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagkaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaafaKuaKuaKuaKuafIaKuafXagmvcdaIKagnaIKvcdagmagHaKuafIaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaabaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaafaKuaKuaKuaKuafIaKuaIBagoaIBagpagqagraIBagoaIBaKuafIaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaahaahaabaKuaKuaKuaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaafaKuaKuaKuaKuafIaKuagsdLuaKjagtaguagvaglgtBagwaKuafIaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaahaahaabaKuaKuaKuaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaafaKuaKuaKuaKuafIaKuaKufjtycpaIKagxaIKfsHrDkaKuaKuafIaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+aaaaahaahaahaahaahaahabLabLabLabLabLabYabYabYabYabYabLabLabLabLabLaahaahaahaahaahaahaahaahaaaaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaahaahaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaafaKuaKuaKuaKuafIaKuaKuagyagzagAagBagCagDagyaKuaKuafIaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+aaaaahaahaahaahaahaahaahaahaahaahabLabLabLabLabLabLabLaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaahaahaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaafaKuaKuaKuaKuafIaKuaKunOIagzagEagCagCagDnOIaKuaKuafIaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+aaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaahaahaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakafiafiafiafiafiafiafiafiafiafiafiafiafiafiafiafiafiafiafiafiafiaakaafaKuaKuaKuaKuafIaKuaKuagsaCoagFagCagGxpVagwaKuaKuafIaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+aaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaahaahaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaafaKuaKuaKuaKuafIafIaKuaKuaIBagIagCagJaIBaKuaKuafIafIaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahagKvflagMagLagNaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+aaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaaaaahaahaahaahaahaahaahaahadEadEadEadEadEadEadEadEadEaahaahaahaahaahaahaahaahaaaaahaahaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKulYOmjJmjJmjJmjJmjJmjJmjJmjJmjJmjJmjJmjJmjJmjJmjJmjJmjJmjJmjJmjJmjJmjJmjJdkkaKuaKuaKuaKuaKuafIaKuaKuaIBagFagCagGaIBaKuaKuafIaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahwTmagOagPagQaEDaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+aaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaaaaahaahaahaahaahaahaahadEadEagRagRagRagRagRagRagRadEaaFaahaahaahaahaahaahaahaaaaahaahaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuafIaKuaKuaIBagSagTagUaIBaKuaKuafIaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahlTVagPagVagPlTVaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaaaaabaaaaahaahaahaahaahaahaahagWagRagRagRagRagRagRagRagRagRaaFaahaahaahaahaahaahaahaaaaahaahaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuafIaKuaKuagsaCoagYxpVagwaKuaKuafIaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahbzQagZagPagZbzQaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
aabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaaaaaaagkaabaaaaahaahaahaahaahaahaahagWagRagRagRagRahaagRagRagRagRaaFaahaahaahaahaahaahaahaaaaahaahaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabagXahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbagXaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuafIafIaKuaKuagsahcagwaKuaKuafIafIaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahbzQagPagPagPbzQaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaaaaahaahaahaahaahaahaahagWagRagRagRagRagRagRagRagRagRaaFaahaahaahaahaahaahaahaaaaahaahaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabagXahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbagXaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuafIaKuaKuaKuaKuaKuaKuaKuafIaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahpUhagPagPagPpUhaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
aaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaabaaaaahaahaahaahaahaahaahagWagRagRagRagRagRagRagRagRagRaaFaahaahaahaahaahaahaahaaaaahaahaabaaaaahaahaahaahaahaahaaFaaFaaFaaGaaGaaGaaGaaGaaGaaGaaGaaGabMabMabMabMabMabMabMabMaaFaaFaaFaahaahaahaahaahaahaahaaaaabagXahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbagXaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuafIafIaKuaKuaKuaKuaKuafIafIaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahcAMahdahfahecAMaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
@@ -3536,7 +3263,7 @@ aKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaK
aKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuirCaCWaCWaCXawZaCYaCZaDaazvirCaDbaDcaywmcwayWaDdmcwaywaDcaDbaveaDeayWayWaCyaCzirCaDfaDgaDhaDfaxfaDjaJfaDljuTaDnayYaDoaATkYZiqtaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaDpahGahGahGahGahGahGahGahGahGahGahGahGahGahGahGahGahGahGahGahGahGaAiahGahGahGahGahGahGahGahGahGahGahGahGahGahGahGahGahGahGahGahGahGahGahGahGahGahGahGahGahGahGahGahGahGahGahGahGahG
aKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKunshhBVhBVhBVhBVhBVhBVhBVhBVsdNhBVhBVhBVyfgaDqaDqnshhBVhBVhBVecGaDrayWayWaCyaCzirCaDfaDsaDsaDfaxfaDjaJfaDlnNaaDtaDuaDvaDwaDxnNaaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
aKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaDzrxnaDAaDAaDAaDBaDBaDAaDAaDCaKuirCaDDayWayWaCyaCzirCaDfaDhaDhaDfaxfaDjaJfaDlnNaaDEaDkaDkaDkaDFnNaaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKutgXgevazOazOazOazOazOmmBhjLaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
-aKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaDNaDOaDPaDQaDRaDSaDSaDTaDTijuaDCnshqlxaDVaDVhTHhBVtDHaDWaDfaDfaDfaDXaDjaJfaDlcIiaCkaDZaCkaDiaCknNaaKuaKuaKuaKuaKuaKuaKuaKuaKuaKutgXeeAaIhaJqaBUaCPaIhhnghfrewQhjLaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+aKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaDNaDOaDPaDQaDRaDSaDSaDTaDTijuaDCnshqlxaDVaDVhTHhBVtDHaDWaDfaDfaDfaDXaDjaJfaDlcIiaCkaDZaCkaDiaCknNaaKuaKuaKuaKuaKuaKuaKuaKuaKuaKutgXeeAaIhaJqaBUaCPaIhhngaIhewQhjLaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
aKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaDNaDOaEhaDSaDSaDSaDSaDSaDSaDUsFUaBqayWayWayWayWayWaAKaDfaEiaDfaEiaxfaDjaJfaEjaDXaDkaDkaEaaFJaEkjuTwqbwqbwqbwqbwqbwqbwhzaKuaKutgXeeAaFOaDIazYmLGaFslhlazYaDIaIWewQhjLaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
aKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaDNaDOaEqaEraEtaEPaEtaEtaEtmAYaEuaBqayWayWayWayWayWaSFaDfaEiaDfaEiaxfaDjaJfaEjaDXaDkaDkaElaEvaEwnNaaEyaECaEyaEyaECaEynNaaKuaKuaENaKzaBpazYazYfulaILmyEazYazYaBokhQaENaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
aKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaEGaIMaDAaDAaDAaDAaDAaDAaDAaEuaKuaBqayWayWayWayWayWmcwaDfaEiaDfaEiaxfaEHaEIaEJxXxaCkaEKaELaEMaHhcIiaECaEAaEBaECaEAaEBnNaaKuaKuaENjXvaJUaBoaIXaEbaAgaEbaIYazYazYrGkaENaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
@@ -3610,7 +3337,7 @@ aKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaK
aKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKubgbbgbbhbaRKaRLaRMbhbbgbbgbajGaRNaROaRPaRQaRRaRSaRRaRTaRUaQbaQzaQzaQzaQzaQzaQzaQzaQzaQzaQzaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKudBqszwszwszwszwszwszwszwxAnxAntvXxAnrHErnHjtyjtyjtyjtyjtyjtyjtyjtyjtytLijtyjtyjtyjtyjtyjtyjtyjtyjtynwdjtywImxgxiWqpLTiyiiWqxgxoxkdDZxAnxAntvXxAnxAnxgxxgxxAnlulxgxtvXszwszwdBqaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
aKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKubibbjbbkbblbaRZblbbkbbjbbmbajGaQCaQFaQbbnbaSdaSeaSfaSgaShaQbaQzaQzaQzaQzaQzaQzaQzaQzaQzaQzaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKudBqszwszwszwszwszwszwszwxAntvXtvXidPrHEjtyjtyjtyjtyjtyjtyxgxxgxqBzxgxqRbxgxxgxwImjtyjtyjtyxgxxgxxgxqRbxgxxgxxgxgrqekBetzgrqcraoxkxAnxAnxAntvXtvXtvXxAntvXxAntvXdfJtvXszwszwdBqaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
aKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKubhbbobaSjaSkaSlbsbbhbaKuaQbaQCaQHaQbaQbaQbaQbaQbaQbaQbaQbaQzaQzaQzaQzaQzaQzaQzaQzaQzaQzaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKudBqszwszwszwszwszwszwszwszwtvXtlHxAnrHExgxxgxaBSaBHaBHxgxxgxetzetzetzetzetzxgxxgxrnHjtyrnHxgxfTwoQtetzconkpyxgxetzetzetzetzaBSoxkxAnqjGxAntvXtHHdROwzbwzbnlPnlPvBEtvXszwszwdBqaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuukcbixbixbixbixbixbixlkhbixbixbixlkhbixaSobixkENdYPaKuaKuaKuaKuaKuaKuaKuaKuaKu
-aKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKubhbbpbaSqaSraSsbsbbhbaKuaQbaStaQEaQbaSuaSvbqbbrbaSyaSzaQbaQzaQzaQzaQzaQzaQzaQzaQzaQzaQzaQzaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKudBqszwszwszwszwszwszwszwszwtvXtvXoncrHExgxetzqsGetzqsGetzxgxetzbJLubeiBOetzxgxjtyjtyjtyjtyxgxoVdrgyrgyphQiSpxgxrJketzetzxspaBSoxkxAnxAnxAntvXxAnrHExgxxgxkwekwexgxxgxxgxxgxdBqaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKueWLaSAaSBaEzaSDaSDaNbwvSaSGaSGaSGwvSaSHaSIaSJaSnkaAaKuaKuaKuaKuaKuaKuaKuaKuaKu
+aKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKubhbbpbaSqaSraSsbsbbhbaKuaQbaStaQEaQbaSuaSvbqbbrbaSyaSzaQbaQzaQzaQzaQzaQzaQzaQzaQzaQzaQzaQzaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKudBqszwszwszwszwszwszwszwszwtvXtvXoncrHExgxetzqsGetzqsGetzxgxetzbJLubeiBOetzxgxjtyjtyjtyjtyxgxoVdrgyrgyphQiSpxgxrJketzetzxspaBSoxkxAnxAnxAntvXxAnrHExgxxgxkwekwexgxxgxxgxxgxdBqaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKueWLaSAaSBaEzaJWaSDaNbwvSaSGaSGaSGwvSaSHaSIaSJaSnkaAaKuaKuaKuaKuaKuaKuaKuaKuaKu
aKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKubhbbUbaSLaSraSMbpbbtbaKuaQbaSOaRkaQbaSuaSQbubbvbaSSaSTaQbaQzaQzaQzaQzaQzaQzaQzaQzaQzaQzaQzaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKudBqszwszwszwszwszwszwszwxAnxAntvXxAnrHExgxetzdtotCUqKIetzxgxetziBOugknaaetzqRbnwdjtyjtyjtyaBSconphQoDmfhmetzqRbetzetzetzetzxgxoxktvXxAnxAntvXxAnrHExgxlullullullullullvQxgxdBqaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKueWLaSCaSCaSCaSCaSCaSCaSUaSVaSWaSVaSXaSIaSIaSYaSnkaAaKuaKuaKuaKuaKuaKuaKuaKuaKu
aKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKubhbbUbaSLaSZaSsbVbbhbaKuaQbaQCaQEaQbaSuaTbaTcaRFaTeaSTaQbaQzaQzaQzaQzaQzaQzaQzaQzaQzaQzaQzaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKudBqszwszwszwszwszwszwxgxxgxtvXtvXxAnrHExgxetztCUtCUtCUetzqRbetznwccxktdletzqRbnwdjtyjtyjtyaBSetzphQxxYrgygPmxgxejYetzetzpPuxgxoxktvXxAndDZtvXtvXrHExgxjZglultmtkFYxuXkFYxgxdBqaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKueWLaTfaTfaSCaSCaSCaTgfIWaSVaSVaThukcbixbixbixvrzdBfaKuaKuaKuaKuaKuaKuaKuaKuaKu
aKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKubwbbpbaSqaSZaSsbVbbhbaKuajGaQCaQEaQbaQbaTjaTkaTlaTmaQbaQbaQzaQzaQzaQzaQzaQzaQzaQzaQzaQzaQzaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKudBqszwszwxgxxgxszwszwlulxgxtvXdTWxAnrHExgxvSWetzetzetznCpxgxetzetzfBFetzetzxgxjtyjtyjtyjtyaBSconlofdHzrgyconxgxxgxxgxqRbxgxxgxoxktvXvbpxAntvXtlHrHExgxjZgjZgtmtlvQlultmtxgxdBqaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKueWLaSCaSCaSCaSCaSCaTneWLaToaToaTpwvSaTqaTraTsaAbeWLaKuaKuaKuaKuaKuaKuaKuaKuaKu
diff --git a/maps/exodus/exodus.dm b/maps/exodus/exodus.dm
index 10e381f491a..b59aa0c4364 100644
--- a/maps/exodus/exodus.dm
+++ b/maps/exodus/exodus.dm
@@ -2,7 +2,6 @@
#include "exodus_areas.dm"
#include "exodus_effects.dm"
- #include "exodus_holodecks.dm"
#include "exodus_shuttles.dm"
#include "exodus_jobs.dm"
diff --git a/maps/exodus/exodus_areas.dm b/maps/exodus/exodus_areas.dm
index 18894509cfd..07620693cf2 100644
--- a/maps/exodus/exodus_areas.dm
+++ b/maps/exodus/exodus_areas.dm
@@ -2204,70 +2204,10 @@
/area/holodeck
name = "\improper Holodeck"
icon_state = "Holodeck"
- dynamic_lighting = 0
+ requires_power = FALSE
+ dynamic_lighting = FALSE
sound_env = LARGE_ENCLOSED
-/area/holodeck/source_boxingcourt
- name = "\improper Holodeck - Boxing Court"
- sound_env = ARENA
-
-/area/holodeck/source_desert
- name = "\improper Holodeck - Desert"
- sound_env = PLAIN
-
-/area/holodeck/source_picnicarea
- name = "\improper Holodeck - Picnic Area"
- sound_env = PLAIN
-
-/area/holodeck/source_wildlife
- name = "\improper Holodeck - Wildlife Simulation"
-
-/area/holodeck/source_courtroom
- name = "\improper Holodeck - Courtroom"
- sound_env = AUDITORIUM
-
-/area/holodeck/source_basketball
- name = "\improper Holodeck - Basketball Court"
- sound_env = ARENA
-
-/area/holodeck/source_plating
- name = "\improper Holodeck - Off"
-
-/area/holodeck/source_emptycourt
- name = "\improper Holodeck - Empty Court"
- sound_env = ARENA
-
-/area/holodeck/source_theatre
- name = "\improper Holodeck - Theatre"
- sound_env = CONCERT_HALL
-
-/area/holodeck/source_thunderdomecourt
- name = "\improper Holodeck - Thunderdome Court"
- sound_env = ARENA
-
-/area/holodeck/source_beach
- name = "\improper Holodeck - Beach"
- sound_env = PLAIN
-
-/area/holodeck/source_snowfield
- name = "\improper Holodeck - Snow Field"
- sound_env = FOREST
-
-/area/holodeck/source_meetinghall
- name = "\improper Holodeck - Meeting Hall"
- sound_env = AUDITORIUM
-
-/area/holodeck/source_space
- name = "\improper Holodeck - Space"
- has_gravity = 0
- sound_env = SPACE
-
-/area/holodeck/source_chess
- name = "\improper Holodeck - Chess Field"
-
-/area/holodeck/alphadeck
- name = "\improper Holodeck Alpha"
-
/area/prison/solitary
name = "Solitary Confinement"
icon_state = "brig"
@@ -2282,6 +2222,7 @@
ambience_off = list(SFX_AMBIENT_MINE)
ambience_powered = list(SFX_AMBIENT_MINE)
ambient_music_tags = list(MUSIC_TAG_MYSTIC, MUSIC_TAG_SPACE)
+
/area/mine/explored
name = "Mine"
icon_state = "explored"
diff --git a/maps/exodus/exodus_holodecks.dm b/maps/exodus/exodus_holodecks.dm
deleted file mode 100644
index 4b12ed441d8..00000000000
--- a/maps/exodus/exodus_holodecks.dm
+++ /dev/null
@@ -1,68 +0,0 @@
-
-/datum/map/exodus
-
- holodeck_programs = list(
- "emptycourt" = new /datum/holodeck_program(/area/holodeck/source_emptycourt, list('sound/music/THUNDERDOME.ogg')),
- "boxingcourt" = new /datum/holodeck_program(/area/holodeck/source_boxingcourt, list('sound/music/THUNDERDOME.ogg')),
- "basketball" = new /datum/holodeck_program(/area/holodeck/source_basketball, list('sound/music/THUNDERDOME.ogg')),
- "thunderdomecourt" = new /datum/holodeck_program(/area/holodeck/source_thunderdomecourt, list('sound/music/THUNDERDOME.ogg')),
- "beach" = new /datum/holodeck_program(/area/holodeck/source_beach),
- "desert" = new /datum/holodeck_program(/area/holodeck/source_desert,
- list(
- 'sound/effects/wind/wind_2_1.ogg',
- 'sound/effects/wind/wind_2_2.ogg',
- 'sound/effects/wind/wind_3_1.ogg',
- 'sound/effects/wind/wind_4_1.ogg',
- 'sound/effects/wind/wind_4_2.ogg',
- 'sound/effects/wind/wind_5_1.ogg'
- )
- ),
- "snowfield" = new /datum/holodeck_program(/area/holodeck/source_snowfield,
- list(
- 'sound/effects/wind/wind_2_1.ogg',
- 'sound/effects/wind/wind_2_2.ogg',
- 'sound/effects/wind/wind_3_1.ogg',
- 'sound/effects/wind/wind_4_1.ogg',
- 'sound/effects/wind/wind_4_2.ogg',
- 'sound/effects/wind/wind_5_1.ogg'
- )
- ),
- "space" = new /datum/holodeck_program(/area/holodeck/source_space,
- list(SFX_AMBIENT_SPACE)
- ),
- "picnicarea" = new /datum/holodeck_program(/area/holodeck/source_picnicarea, list('sound/music/classic/title2.ogg')),
- "theatre" = new /datum/holodeck_program(/area/holodeck/source_theatre),
- "meetinghall" = new /datum/holodeck_program(/area/holodeck/source_meetinghall),
- "courtroom" = new /datum/holodeck_program(/area/holodeck/source_courtroom, list('sound/music/classic/traitor.ogg')),
- "wildlifecarp" = new /datum/holodeck_program(/area/holodeck/source_wildlife, list()),
- "chess" = new /datum/holodeck_program(/area/holodeck/source_chess, list()),
- "turnoff" = new /datum/holodeck_program(/area/holodeck/source_plating, list())
- )
-
- holodeck_supported_programs = list(
-
- "ExodusMainPrograms" = list(
- "Empty Court" = "emptycourt",
- "Basketball Court" = "basketball",
- "Thunderdome Court" = "thunderdomecourt",
- "Boxing Ring" = "boxingcourt",
- "Beach" = "beach",
- "Desert" = "desert",
- "Space" = "space",
- "Picnic Area" = "picnicarea",
- "Snow Field" = "snowfield",
- "Theatre" = "theatre",
- "Meeting Hall" = "meetinghall",
- "Courtroom" = "courtroom",
- "Chess Field" = "chess"
- )
-
- )
-
- holodeck_restricted_programs = list(
-
- "ExodusMainPrograms" = list(
- "Wildlife Simulation" = "wildlifecarp"
- )
-
- )
diff --git a/maps/frontier/bar/classic.dmm b/maps/frontier/bar/classic.dmm
index 38c42006249..e97a1885a94 100644
--- a/maps/frontier/bar/classic.dmm
+++ b/maps/frontier/bar/classic.dmm
@@ -36,7 +36,7 @@
"hM" = (/obj/structure/sink{dir = 4; pixel_x = 11},/obj/structure/mirror{pixel_x = 28},/obj/machinery/alarm{dir = 1; pixel_y = -25},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/toilet/bar)
"hN" = (/obj/machinery/vending/boozeomat,/obj/effect/floor_decal/corner/red{dir = 6},/turf/simulated/floor/tiled/dark/rough,/area/crew_quarters/bar)
"hW" = (/obj/structure/cable/white{icon_state = "1-2"},/obj/structure/cable/white{icon_state = "2-4"},/obj/effect/floor_decal/corner/green{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/rough,/area/crew_quarters/sleep)
-"ih" = (/obj/structure/closet/secure_closet/bar,/obj/item/gun/projectile/shotgun/doublebarrel,/obj/item/storage/box/shotgun/beanbags,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/alarm{dir = 4; pixel_x = -24},/turf/simulated/floor/trim/darkwood,/area/crew_quarters/barbackroom)
+"ih" = (/obj/structure/closet/secure_closet/bar,/obj/item/gun/projectile/shotgun/doublebarrel,/obj/item/storage/box/shotgun/beanbags,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/alarm{dir = 4; pixel_x = -24},/obj/item/storage/box/coffeemaking_kit,/turf/simulated/floor/trim/darkwood,/area/crew_quarters/barbackroom)
"in" = (/obj/effect/floor_decal/corner/red/diagonal{dir = 8},/obj/effect/floor_decal/corner/black/diagonal,/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{id_tag = "barprivate"; name = "Bar Private Room"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/crew_quarters/bar)
"iy" = (/obj/effect/floor_decal/corner/grey/diagonal,/obj/machinery/button/remote/blast_door{id = "kitchen_shutters"; name = "Kitchen Shutters Control"; pixel_x = -24; req_access = list(28)},/turf/simulated/floor/tiled/white/rough,/area/crew_quarters/kitchen)
"iA" = (/obj/structure/bed/couch/right/sofa{dir = 1},/obj/effect/floor_decal/corner/red/diagonal{dir = 8},/obj/effect/floor_decal/corner/black/diagonal,/turf/simulated/floor/tiled/dark/rough,/area/crew_quarters/bar)
@@ -122,7 +122,7 @@
"wL" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled/rough,/area/hallway/primary/frontier/central_east)
"wU" = (/obj/effect/floor_decal/corner/black/diagonal,/obj/effect/floor_decal/corner/red/diagonal{dir = 8},/obj/machinery/camera/network/civilian_east{c_tag = "Bar Cafe"; dir = 8},/turf/simulated/floor/tiled/dark/rough,/area/crew_quarters/bar)
"xc" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/kitchen)
-"xe" = (/obj/structure/table/darkwood_reinforced,/obj/item/reagent_containers/rag,/obj/effect/floor_decal/corner/red{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/blast/shutters{density = 0; icon_state = "shutter0"; id = "bar_shutters"; name = "Bar Shutters"; opacity = 0},/turf/simulated/floor/tiled/dark/rough,/area/crew_quarters/bar)
+"xe" = (/obj/structure/table/darkwood_reinforced,/obj/item/reagent_containers/rag,/obj/effect/floor_decal/corner/red{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/blast/shutters{density = 0; icon_state = "shutter0"; id = "bar_shutters"; name = "Bar Shutters"; opacity = 0},/obj/random/drinkbottle,/turf/simulated/floor/tiled/dark/rough,/area/crew_quarters/bar)
"xm" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/crew_quarters/bar)
"xo" = (/obj/effect/floor_decal/corner/green{dir = 4},/turf/simulated/floor/tiled/rough,/area/hallway/primary/frontier/central_east)
"xH" = (/obj/structure/window_frame/rglass,/obj/machinery/door/firedoor/border_only,/obj/machinery/door/blast/shutters{density = 0; icon_state = "shutter0"; id = "kitchen_shutters"; name = "Kitchen Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/crew_quarters/kitchen)
@@ -134,7 +134,7 @@
"zB" = (/obj/effect/floor_decal/corner/red/diagonal{dir = 8},/obj/effect/floor_decal/corner/black/diagonal,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/dark/rough,/area/crew_quarters/bar)
"zT" = (/turf/simulated/floor/trim/carpet/oldred,/area/crew_quarters/bar)
"zX" = (/obj/structure/table/steel,/obj/machinery/chemical_dispenser/bar_alc/full{pixel_y = 2},/obj/effect/floor_decal/corner/red{dir = 6},/obj/machinery/alarm{dir = 8; pixel_x = 25},/turf/simulated/floor/tiled/dark/rough,/area/crew_quarters/bar)
-"Af" = (/obj/structure/table/darkwood_reinforced,/obj/effect/floor_decal/corner/red{dir = 9},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4; layer = 2.4; level = 2},/obj/random/drinkbottle,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "bar_shutters"; name = "Bar Shutters"; opacity = 0},/turf/simulated/floor/tiled/dark/rough,/area/crew_quarters/bar)
+"Af" = (/obj/structure/table/darkwood_reinforced,/obj/effect/floor_decal/corner/red{dir = 9},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4; layer = 2.4; level = 2},/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "bar_shutters"; name = "Bar Shutters"; opacity = 0},/obj/structure/coffee_condi_display,/turf/simulated/floor/tiled/dark/rough,/area/crew_quarters/bar)
"Ax" = (/obj/effect/floor_decal/corner/black/diagonal,/obj/effect/floor_decal/corner/red/diagonal{dir = 8},/turf/simulated/floor/tiled/dark/rough,/area/crew_quarters/bar)
"Az" = (/obj/structure/cable/white{icon_state = "0-4"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/sink{dir = 8; pixel_x = -11},/turf/simulated/floor/trim/darkwood,/area/crew_quarters/barbackroom)
"AB" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/rough,/area/crew_quarters/sleep)
@@ -148,7 +148,7 @@
"BN" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/rough,/area/hallway/primary/frontier/central_east)
"BQ" = (/turf/simulated/floor/tiled/dark/rough,/area/crew_quarters/bar)
"BR" = (/obj/structure/cable/white{icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/navbeacon/frontier/BAR,/turf/simulated/floor/tiled/rough,/area/hallway/primary/frontier/central_east)
-"Cf" = (/obj/structure/table/steel,/obj/item/clothing/head/that{pixel_x = 4; pixel_y = 6},/obj/item/screwdriver,/obj/item/book/wiki/barman_recipes,/obj/item/reagent_containers/rag,/obj/effect/floor_decal/corner/red{dir = 6},/obj/machinery/camera/network/civilian_east{c_tag = "Bar East"},/obj/item/music_tape_box/frontier,/obj/effect/landmark/roundstart/monkeyportrait{pixel_x = 4; pixel_y = 28},/turf/simulated/floor/tiled/dark/rough,/area/crew_quarters/bar)
+"Cf" = (/obj/structure/table/steel,/obj/effect/floor_decal/corner/red{dir = 6},/obj/machinery/camera/network/civilian_east{c_tag = "Bar East"},/obj/effect/landmark/roundstart/monkeyportrait{pixel_x = 4; pixel_y = 28},/obj/machinery/coffeemaker,/turf/simulated/floor/tiled/dark/rough,/area/crew_quarters/bar)
"Cg" = (/obj/structure/window_frame/rglass,/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/obj/machinery/door/blast/shutters{density = 0; icon_state = "shutter0"; id = "kitchen_shutters"; name = "Kitchen Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/crew_quarters/kitchen)
"Ck" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/trim/darkwood,/area/crew_quarters/barbackroom)
"Cr" = (/obj/machinery/lapvend,/turf/simulated/floor/tiled/dark/rough,/area/crew_quarters/sleep)
@@ -240,6 +240,7 @@
"Qd" = (/obj/structure/cable/white{icon_state = "0-2"},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_y = 24},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/rough,/area/hallway/primary/frontier/central_east)
"Qk" = (/obj/structure/cable/white{icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/trim/wood,/area/crew_quarters/sleep/lobby)
"Ql" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/newscaster{dir = 1; pixel_y = 32},/obj/effect/floor_decal/spline/fancy/wood/corner{dir = 4},/turf/simulated/floor/trim/darkwood,/area/crew_quarters/bar)
+"QC" = (/obj/structure/table/woodentable,/obj/machinery/camera/network/civilian_east{c_tag = "Bar Backroom"},/obj/item/reagent_containers/rag,/obj/item/paper/exodus_bartender,/obj/item/hand_labeler,/obj/machinery/button/window_frame_tint{pixel_x = 10; pixel_y = -24},/obj/random/music_tape,/obj/effect/landmark/roundstart/puncube,/turf/simulated/floor/trim/darkwood,/area/crew_quarters/barbackroom)
"QZ" = (/obj/structure/cable/white{icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/effect/landmark/start/crew/barmonkey,/turf/simulated/floor/tiled/dark/rough,/area/crew_quarters/bar)
"Rc" = (/obj/effect/floor_decal/corner/green{dir = 4},/obj/structure/disposalpipe/segment,/obj/item/device/radio/intercom{dir = 8; pixel_x = 22},/turf/simulated/floor/tiled/rough,/area/crew_quarters/sleep)
"Rh" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/rough,/area/hallway/primary/frontier/central_east)
@@ -262,7 +263,7 @@
"VI" = (/obj/structure/disposalpipe/segment,/obj/machinery/navbeacon/frontier/CRYO,/turf/simulated/floor/tiled/rough,/area/crew_quarters/sleep)
"VJ" = (/obj/machinery/door/firedoor/border_only,/obj/structure/window_frame/electric/glass,/turf/simulated/floor/plating,/area/crew_quarters/bar)
"VL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/landmark/start/crew/bartender,/turf/simulated/floor/trim/darkwood,/area/crew_quarters/barbackroom)
-"VN" = (/obj/structure/table/woodentable,/obj/machinery/camera/network/civilian_east{c_tag = "Bar Backroom"},/obj/item/reagent_containers/rag,/obj/item/paper/exodus_bartender,/obj/item/hand_labeler,/obj/machinery/button/window_frame_tint{pixel_x = 10; pixel_y = 24},/obj/random/music_tape,/obj/effect/landmark/roundstart/puncube,/turf/simulated/floor/trim/darkwood,/area/crew_quarters/barbackroom)
+"VN" = (/obj/item/music_tape_box/frontier,/obj/item/reagent_containers/rag,/obj/item/book/wiki/barman_recipes,/obj/item/screwdriver,/obj/item/clothing/head/that{pixel_x = 4; pixel_y = 6},/obj/structure/table/woodentable,/obj/item/reagent_containers/vessel/bottle/syrup_bottle/caramel,/obj/item/reagent_containers/vessel/bottle/syrup_bottle/liqueur,/turf/simulated/floor/trim/darkwood,/area/crew_quarters/barbackroom)
"Wu" = (/obj/structure/disposaloutlet{dir = 4},/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/kitchen)
"WN" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/kitchen)
"Xf" = (/obj/machinery/cooker/oven,/obj/effect/floor_decal/corner/grey/diagonal,/turf/simulated/floor/tiled/white/rough,/area/crew_quarters/kitchen)
@@ -291,9 +292,9 @@ CrOJABeXJHyyqqTfDFPuljyKHxFUhlPJPJPJPJPJPJPJ
CUnuoFtBtBtBtBtBtBtBCgxHxHtBtBtBPJPJPJPJPJPJ
CUqJGAnahdDiGvXnMpZnuNNmqvXfPNtBPJPJPJPJPJPJ
CUhWTdlZOWOWbXFtBrGQXolrdwHoXDtBxKGsxKvkxKxK
-hHGJVIUCdReZKJDVbGuxGyLNuqPwrotBihCkiUbUVNJP
+hHGJVIUCdReZKJDVbGuxGyLNuqPwrotBihCkiUbUnAJP
npaFRctBtBtBYltBtBiyuxuxuxuxvxtBAzFRVLkxDZJP
-CUHdvmXWEODwxcZqtBAUtVPktVVdxPtBvVGFZNbUnAJP
+CUHdvmXWEODwxcZqtBAUtVPktVVdxPtBvVGFZNQCVNJP
CUCYFwfwNSWNkXFZtBIXkmkmkmkmwUrxrxEvrxrxrxrx
fPrtDHtBIvWuwpAGtBjZugTTTTTTNUQlJLOOCfrxPJPJ
PJCPxotBtBtBtBtBtBOhYXNPzTjwjwBBAfDtzXrxPJPJ
diff --git a/maps/frontier/bar/modern.dmm b/maps/frontier/bar/modern.dmm
index f0267ff865a..e4db80d4f18 100644
--- a/maps/frontier/bar/modern.dmm
+++ b/maps/frontier/bar/modern.dmm
@@ -1,7 +1,7 @@
"aa" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/trim/darkwood,/area/crew_quarters/barbackroom)
"ab" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = -2},/obj/machinery/slot_machine,/turf/simulated/floor/tiled/dark/mono,/area/crew_quarters/bar)
"ac" = (/obj/machinery/vending/cigars,/obj/effect/floor_decal/corner/black/diagonal,/obj/effect/floor_decal/corner/red/diagonal{dir = 8},/turf/simulated/floor/tiled/dark/rough,/area/crew_quarters/bar)
-"ad" = (/obj/structure/table/darkwood_reinforced,/obj/structure/extinguisher_cabinet{pixel_x = -27; pixel_y = 1},/obj/effect/floor_decal/corner/black/diagonal,/obj/machinery/newscaster{pixel_y = -28},/obj/effect/floor_decal/corner/red/diagonal{dir = 8},/turf/simulated/floor/tiled/dark/rough,/area/crew_quarters/bar)
+"ad" = (/obj/structure/table/darkwood_reinforced,/obj/structure/extinguisher_cabinet{pixel_x = -27; pixel_y = 1},/obj/effect/floor_decal/corner/black/diagonal,/obj/machinery/newscaster{pixel_y = -28},/obj/effect/floor_decal/corner/red/diagonal{dir = 8},/obj/structure/coffee_condi_display,/turf/simulated/floor/tiled/dark/rough,/area/crew_quarters/bar)
"ah" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/trim/wood,/area/crew_quarters/sleep/lobby)
"ak" = (/obj/structure/cable/white{icon_state = "1-8"},/obj/structure/cable/white{icon_state = "4-8"},/obj/effect/floor_decal/corner/green{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/floor_decal/spline/fancy/wood{dir = 1},/turf/simulated/floor/tiled/rough,/area/crew_quarters/sleep/lobby)
"ao" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable/white{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/freezer,/area/crew_quarters/kitchen)
@@ -23,9 +23,9 @@
"da" = (/obj/item/device/radio/intercom{pixel_y = 22},/obj/machinery/chem_master/condimaster{name = "CondiMaster Neo"; pixel_x = -5},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/kitchen)
"db" = (/obj/structure/table/marble,/obj/machinery/cooker/candy,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/trim/lino,/area/crew_quarters/kitchen)
"dn" = (/obj/effect/floor_decal/spline/plain/black,/obj/machinery/door/window/southleft,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/kitchen)
-"ds" = (/obj/structure/table/steel,/obj/item/clothing/head/that{pixel_x = 4; pixel_y = 6},/obj/item/screwdriver,/obj/item/book/wiki/barman_recipes,/obj/item/reagent_containers/rag,/obj/machinery/camera/network/civilian_east{c_tag = "Bar East"},/obj/item/music_tape_box/frontier,/obj/effect/landmark/roundstart/monkeyportrait{pixel_x = 4; pixel_y = 28},/obj/effect/floor_decal/corner/red{dir = 6},/turf/simulated/floor/tiled/dark/rough,/area/crew_quarters/bar)
+"ds" = (/obj/structure/table/steel,/obj/machinery/camera/network/civilian_east{c_tag = "Bar East"},/obj/effect/landmark/roundstart/monkeyportrait{pixel_x = 4; pixel_y = 28},/obj/effect/floor_decal/corner/red{dir = 6},/obj/machinery/coffeemaker,/turf/simulated/floor/tiled/dark/rough,/area/crew_quarters/bar)
"dL" = (/obj/structure/plasticflaps{opacity = 1},/obj/machinery/navbeacon/delivery/Bar,/obj/machinery/door/window/southleft{name = "Bar Delivery"; req_access = list(25)},/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled/dark/rough,/area/crew_quarters/barbackroom)
-"dM" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/alarm{dir = 4; pixel_x = -24},/obj/structure/closet/secure_closet/bar,/obj/item/gun/projectile/shotgun/doublebarrel,/obj/item/storage/box/shotgun/beanbags,/turf/simulated/floor/trim/darkwood,/area/crew_quarters/barbackroom)
+"dM" = (/obj/structure/closet/secure_closet/bar,/obj/item/gun/projectile/shotgun/doublebarrel,/obj/item/storage/box/shotgun/beanbags,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/alarm{dir = 4; pixel_x = -24},/obj/item/storage/box/coffeemaking_kit,/turf/simulated/floor/trim/darkwood,/area/crew_quarters/barbackroom)
"dT" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/trim/lino,/area/crew_quarters/kitchen)
"en" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/effect/floor_decal/corner/red{dir = 6},/turf/simulated/floor/tiled/dark/rough,/area/crew_quarters/bar)
"eK" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/firedoor/multi_tile{dir = 2},/obj/machinery/door/airlock/multi_tile/glass{id_tag = "MedbayFoyerStar"; dir = 2; name = "Bar"},/turf/simulated/floor/tiled/dark/mono,/area/crew_quarters/bar)
@@ -167,7 +167,7 @@
"FW" = (/obj/effect/floor_decal/corner/red/diagonal{dir = 8},/obj/effect/floor_decal/corner/black/diagonal,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/bed/couch/left/sofa{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/crew_quarters/bar)
"Gj" = (/obj/machinery/navbeacon/frontier/CRYO,/obj/item/device/radio/intercom{dir = 8; pixel_x = 22},/turf/simulated/floor/tiled/rough,/area/crew_quarters/sleep)
"Gn" = (/obj/machinery/door/airlock/maintenance,/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/obj/structure/cable/white{icon_state = "1-2"},/turf/simulated/floor/plating,/area/crew_quarters/sleep)
-"Gs" = (/obj/structure/table/woodentable,/obj/machinery/camera/network/civilian_east{c_tag = "Bar Backroom"},/obj/item/reagent_containers/rag,/obj/item/hand_labeler,/obj/machinery/button/window_frame_tint{pixel_x = 10; pixel_y = 24},/obj/random/music_tape,/obj/effect/landmark/roundstart/puncube,/obj/item/paper/exodus_bartender,/turf/simulated/floor/trim/darkwood,/area/crew_quarters/barbackroom)
+"Gs" = (/obj/structure/table/woodentable,/obj/machinery/camera/network/civilian_east{c_tag = "Bar Backroom"},/obj/item/reagent_containers/rag,/obj/item/paper/exodus_bartender,/obj/item/hand_labeler,/obj/machinery/button/window_frame_tint{pixel_x = 10; pixel_y = -24},/obj/random/music_tape,/obj/effect/landmark/roundstart/puncube,/turf/simulated/floor/trim/darkwood,/area/crew_quarters/barbackroom)
"GN" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/spline/fancy{dir = 4},/turf/simulated/floor/tiled/dark/mono,/area/crew_quarters/bar)
"GT" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/effect/floor_decal/spline/fancy{dir = 1},/turf/simulated/floor/tiled/dark/mono,/area/crew_quarters/bar)
"GY" = (/obj/effect/floor_decal/corner/black/diagonal,/obj/structure/synthesized_instrument/synthesizer/piano,/obj/effect/floor_decal/corner/red/diagonal{dir = 8},/turf/simulated/floor/tiled/dark/rough,/area/crew_quarters/bar)
@@ -228,6 +228,7 @@
"QN" = (/obj/machinery/door/airlock{name = "Unit 2"},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/bar)
"QW" = (/obj/machinery/camera/network/civilian_east{c_tag = "Kitchen"},/obj/machinery/atmospherics/unary/vent_pump/on{layer = 2.4; level = 2},/obj/machinery/light{dir = 1},/obj/machinery/gibber,/obj/effect/floor_decal/spline/plain/black{dir = 4},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/kitchen)
"Ra" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/rough,/area/hallway/primary/frontier/central_east)
+"Ri" = (/obj/item/music_tape_box/frontier,/obj/item/reagent_containers/rag,/obj/item/book/wiki/barman_recipes,/obj/item/screwdriver,/obj/item/clothing/head/that{pixel_x = 4; pixel_y = 6},/obj/structure/table/woodentable,/obj/item/reagent_containers/vessel/bottle/syrup_bottle/liqueur,/obj/item/reagent_containers/vessel/bottle/syrup_bottle/caramel,/turf/simulated/floor/trim/darkwood,/area/crew_quarters/barbackroom)
"Rl" = (/turf/space,/area/space)
"Rr" = (/obj/structure/table/marble,/obj/item/reagent_containers/vessel/condiment/small/peppermill{pixel_x = -3; pixel_y = 2},/obj/item/reagent_containers/vessel/condiment/small/saltshaker,/obj/item/storage/pill_bottle/sugar_cubes,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "kitchen_shutters"; name = "Kitchen Shutters"; opacity = 0},/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/corner/black/diagonal,/obj/effect/floor_decal/corner/red/diagonal{dir = 8},/turf/simulated/floor/tiled/dark/rough,/area/crew_quarters/kitchen)
"RC" = (/obj/structure/toilet{dir = 4},/obj/machinery/newscaster{layer = 3.3; pixel_y = -27},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/bar)
@@ -280,9 +281,9 @@ KPkJQzjZVPHGYFTUJVmvXwLVLDHoKzRlRlRlRlRlRlRl
WrktWdZQZQZQZQZQZQZQwmmfmfZQZQZQRlRlRlRlRlRl
WrtWbMTjlkpWdaNjQWJsTCCHqmHhMHZQRlRlRlRlRlRl
WrVbpmAFaoIiQpIiwgobEUnTfUyogmZQzOvXzOdLzOzO
-tgawGjZQbRdnonKOpBRYIRWvweUGwOZQdMCUPfxRGsxS
+tgawGjZQbRdnonKOpBRYIRWvweUGwOZQdMCUPfxRiBxS
HOwDHJELbPFSUFdbZQRYRYRYRYRYaFZQPLlFDZaaVlxS
-WraYZhELDrFSrPvpZQroRrfJRrjnFJZQckTdBwxRiBxS
+WraYZhELDrFSrPvpZQroRrfJRrjnFJZQckTdBwGsRixS
WrlGHJZQdTFSFSFSZQQcpNpNpNpNpgMDzOLkzOzOzOzO
ZmndmZZQCfOiOikIZQeQAntOtOtOtOXfmPbFdsMDRlRl
RlMZuFQiASRSRSRQOEUtAXBRBRBRBRfoFKLlqSMDRlRl
diff --git a/maps/frontier/bar/saloon.dmm b/maps/frontier/bar/saloon.dmm
index 20546506ef0..0fdb52887ce 100644
--- a/maps/frontier/bar/saloon.dmm
+++ b/maps/frontier/bar/saloon.dmm
@@ -38,7 +38,7 @@
"fY" = (/obj/structure/mirror{pixel_x = 28},/obj/structure/sink{dir = 4; pixel_x = 11},/obj/machinery/alarm{dir = 1; pixel_y = -25},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/toilet/bar)
"gg" = (/obj/effect/floor_decal/corner/red/diagonal{dir = 8},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8; layer = 2.4; level = 2},/obj/structure/cable/white{icon_state = "1-8"},/turf/simulated/floor/tiled/dark/rough,/area/crew_quarters/bar)
"gJ" = (/obj/structure/toilet{dir = 4},/obj/machinery/light/small{dir = 8},/obj/machinery/newscaster{layer = 3.3; pixel_y = -27},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/toilet/bar)
-"gT" = (/obj/structure/bed/couch/left/sofa{dir = 8},/turf/simulated/floor/trim/wood,/area/crew_quarters/bar)
+"gT" = (/obj/structure/table/darkwood_reinforced,/obj/machinery/coffeemaker,/turf/simulated/floor/trim/wood,/area/crew_quarters/bar)
"hb" = (/obj/effect/landmark/start/crew/bartender,/turf/simulated/floor/tiled/dark/rough,/area/crew_quarters/bar)
"hc" = (/obj/structure/table/woodentable,/obj/item/reagent_containers/vessel/shaker,/obj/item/packageWrap,/obj/item/wrapping_paper,/obj/item/device/destTagger{pixel_x = 4; pixel_y = 3},/obj/item/deck/cards,/obj/item/deck/cards,/obj/item/deck/cards,/obj/random/music_tape,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8; layer = 2.4; level = 2},/obj/item/device/flashlight/lantern/active,/turf/simulated/floor/trim/carpet/oldred,/area/crew_quarters/barbackroom)
"hj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/disposalpipe/segment,/obj/structure/cable/white{icon_state = "1-2"},/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = -2},/turf/simulated/floor/tiled/dark/rough,/area/crew_quarters/bar)
@@ -160,7 +160,7 @@
"CP" = (/obj/structure/cable/white{icon_state = "1-2"},/obj/effect/floor_decal/corner/green{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/rough,/area/hallway/primary/frontier/central_east)
"CU" = (/turf/simulated/wall,/area/crew_quarters/sleep/cryo)
"CY" = (/obj/structure/cable/white{icon_state = "1-2"},/obj/effect/floor_decal/corner/green{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/rough,/area/crew_quarters/sleep)
-"Da" = (/obj/structure/bed/couch/right/sofa{dir = 8},/turf/simulated/floor/trim/wood,/area/crew_quarters/bar)
+"Da" = (/obj/structure/table/darkwood_reinforced,/obj/item/reagent_containers/vessel/bottle/syrup_bottle/caramel{pixel_y = 2; pixel_x = 7},/obj/item/reagent_containers/vessel/bottle/syrup_bottle/liqueur{pixel_y = 17; pixel_x = 8},/obj/structure/coffee_condi_display,/turf/simulated/floor/trim/wood,/area/crew_quarters/bar)
"Dd" = (/obj/machinery/door/airlock{name = "Unit 2"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/toilet/bar)
"Dg" = (/obj/structure/bed/couch/right/brown{dir = 4},/obj/item/device/radio/intercom{pixel_y = 22},/turf/simulated/floor/trim/carpet/oldred,/area/crew_quarters/sleep/lobby)
"DA" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/kitchen)
diff --git a/maps/frontier/biodome/beach.dmm b/maps/frontier/biodome/beach.dmm
index 1f10433450b..e2219675c70 100644
--- a/maps/frontier/biodome/beach.dmm
+++ b/maps/frontier/biodome/beach.dmm
@@ -6,7 +6,7 @@
"bX" = (/obj/item/clothing/under/swimsuit/purple,/turf/simulated/floor/natural/jungle/sand,/area/hydroponics/biodome)
"cL" = (/obj/item/beach_ball,/turf/simulated/floor/natural/jungle/water,/area/hydroponics/biodome)
"eJ" = (/turf/simulated/floor/natural/jungle/water/edge{dir = 4},/area/hydroponics/biodome)
-"fM" = (/obj/structure/railing/steel,/obj/structure/railing/steel{dir = 1},/turf/simulated/floor/holofloor/beach/water,/area/hydroponics/biodome)
+"fM" = (/obj/structure/railing/steel,/obj/structure/railing/steel{dir = 1},/turf/simulated/floor/natural/jungle/water,/area/hydroponics/biodome)
"fY" = (/obj/item/clothing/under/swimsuit/blue,/turf/simulated/floor/natural/jungle/water/corner{dir = 8},/area/hydroponics/biodome)
"gi" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/spline/plain/yellow{dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/sand_floor,/area/hydroponics/biodome)
"hk" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/spline/plain/yellow{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/sand_floor,/area/hydroponics/biodome)
@@ -26,7 +26,7 @@
"sb" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/effect/floor_decal/spline/plain/corner/yellow,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/sand_floor,/area/hydroponics/biodome)
"sd" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 8},/obj/effect/floor_decal/plaque,/obj/effect/floor_decal/spline/plain/yellow{dir = 1},/turf/simulated/floor/sand_floor,/area/hydroponics/biodome)
"sX" = (/obj/machinery/light,/turf/simulated/floor/natural/jungle/sand,/area/hydroponics/biodome)
-"uR" = (/obj/structure/railing/steel,/obj/structure/railing/steel{dir = 1},/obj/structure/railing/steel{dir = 8; icon_state = "newrailing0"},/turf/simulated/floor/holofloor/beach/water,/area/hydroponics/biodome)
+"uR" = (/obj/structure/railing/steel,/obj/structure/railing/steel{dir = 1},/obj/structure/railing/steel{dir = 8},/turf/simulated/floor/natural/jungle/water,/area/hydroponics/biodome)
"uX" = (/turf/simulated/floor/natural/jungle/water/edge,/area/hydroponics/biodome)
"vC" = (/obj/machinery/light,/obj/machinery/camera/network/civilian_east{c_tag = "Central Garden - North"; dir = 1},/turf/simulated/floor/natural/jungle/water,/area/hydroponics/biodome)
"vP" = (/obj/item/inflatable_duck,/turf/simulated/floor/natural/jungle/water/edge{dir = 1},/area/hydroponics/biodome)
@@ -71,7 +71,7 @@
"VT" = (/turf/simulated/floor/natural/jungle/water/edge{dir = 8},/area/hydroponics/biodome)
"Ws" = (/obj/machinery/atmospherics/unary/vent_pump/on{layer = 2.4; level = 2},/turf/simulated/floor/sand_floor,/area/hydroponics/biodome)
"WJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/junction{dir = 8; icon_state = "pipe-j2"},/obj/effect/floor_decal/spline/plain/corner/yellow{dir = 8},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/sand_floor,/area/hydroponics/biodome)
-"WS" = (/obj/structure/railing/steel,/obj/structure/railing/steel{dir = 1},/obj/structure/railing/steel{dir = 4},/turf/simulated/floor/holofloor/beach/water,/area/hydroponics/biodome)
+"WS" = (/obj/structure/railing/steel,/obj/structure/railing/steel{dir = 1},/obj/structure/railing/steel{dir = 4},/turf/simulated/floor/natural/jungle/water,/area/hydroponics/biodome)
"Xg" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "conpipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/effect/floor_decal/spline/plain/yellow{dir = 5},/obj/machinery/hologram/holopad,/turf/simulated/floor/sand_floor,/area/hydroponics/biodome)
"XH" = (/obj/structure/disposalpipe/segment{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/spline/plain/yellow,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/sand_floor,/area/hydroponics/biodome)
"XJ" = (/turf/simulated/wall,/area/hydroponics/biodome)
diff --git a/maps/frontier/frontier-1.dmm b/maps/frontier/frontier-1.dmm
index 2443550d806..e3cc19fefba 100644
--- a/maps/frontier/frontier-1.dmm
+++ b/maps/frontier/frontier-1.dmm
@@ -312,7 +312,7 @@
"afZ" = (/obj/machinery/door/firedoor/border_only,/obj/structure/window_frame/grille/rglass,/obj/machinery/door/blast/shutters{name = "Warden's Office Shutters"; icon_state = "shutter0"; opacity = 0; density = 0; dir = 8; id = "warden2"},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating,/area/security/warden)
"aga" = (/obj/structure/table/steel,/obj/item/storage/box/donut,/obj/random/smokes,/turf/simulated/floor/tiled/dark/rough,/area/security/warden)
"agb" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 9},/obj/machinery/door/blast/regular/open{dir = 8; id = "isolationC"},/obj/structure/window_frame/reinforced/thermal,/turf/simulated/floor/plating,/area/outpost/research/isolation_c)
-"agc" = (/turf/simulated/floor/reinforced{name = "Holodeck Projector Floor"},/area/holodeck/alphadeck)
+"agc" = (/turf/simulated/floor/reinforced,/area/holodeck)
"agd" = (/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/floor/natural/grass,/area/hydroponics)
"age" = (/obj/effect/floor_decal/corner/grey{dir = 9},/obj/effect/floor_decal/corner/grey{dir = 6},/turf/simulated/floor/tiled/dark/rough,/area/security/sec_locker)
"agf" = (/obj/machinery/light{dir = 1},/obj/machinery/camera/network/civilian_east{c_tag = "Hydroponics"},/obj/item/device/radio/intercom{pixel_y = 22},/obj/structure/table/standard,/obj/item/device/analyzer/plant_analyzer,/obj/item/material/minihoe,/turf/simulated/floor/natural/grass,/area/hydroponics)
@@ -661,7 +661,7 @@
"amK" = (/obj/structure/closet/crate/secure/weapon{name = "shotgun shells"},/obj/item/storage/box/shotgun/shells,/obj/item/storage/box/shotgun/shells,/obj/item/storage/box/shotgun/stunshells,/obj/item/storage/box/shotgun/stunshells,/obj/effect/floor_decal/industrial/hatch/red,/obj/item/storage/box/shotgun/beanbags,/obj/item/storage/box/shotgun/beanbags,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/tiled/dark/rough,/area/security/armory)
"amL" = (/obj/effect/floor_decal/industrial/warning/red,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/security/armory)
"amM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/blue{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/door/airlock/research{name = "Spectrometry Lab"; icon = 'icons/obj/doors/doorsci.dmi'; req_access = list(65)},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled/white/rough,/area/outpost/research/lab)
-"amN" = (/obj/machinery/computer/HolodeckControl{linkedholodeck_area = /area/holodeck/alphadeck; programs_list_id = "FrontierMainPrograms"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/dark/rough,/area/crew_quarters/sleep/cave)
+"amN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/computer/holodeck,/turf/simulated/floor/tiled/dark/rough,/area/crew_quarters/sleep/cave)
"amO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/effect/floor_decal/spline/fancy/wood{dir = 1},/turf/simulated/floor/trim/darkwood,/area/bridge/meeting_room/cafe)
"amP" = (/obj/machinery/door/firedoor/border_only,/obj/structure/window_frame/grille/rglass,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/security/sec_locker)
"amQ" = (/obj/machinery/door/firedoor/border_only,/obj/structure/window_frame/grille/rglass,/obj/structure/cable{icon_state = "0-8"; d2 = 8},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/security/sec_locker)
@@ -727,7 +727,7 @@
"anY" = (/obj/machinery/portable_atmospherics/canister/empty/air,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/reinforced/airmix,/area/engineering/atmos)
"anZ" = (/obj/effect/floor_decal/corner/red{dir = 10},/obj/effect/floor_decal/corner/grey{dir = 5},/obj/machinery/alarm{dir = 1; pixel_y = -24},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/security/brig)
"aoa" = (/obj/effect/floor_decal/corner/red{dir = 10},/obj/effect/floor_decal/corner/grey{dir = 5},/obj/machinery/computer/guestpass{pixel_y = -28},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/security/brig)
-"aob" = (/obj/structure/window_frame/reinforced/hull,/obj/structure/barricade/material{layer = 6},/turf/simulated/floor/plating,/area/maintenance/abandoned_casino)
+"aob" = (/obj/structure/window_frame/reinforced/hull,/obj/structure/barricade/material,/turf/simulated/floor/plating,/area/maintenance/abandoned_casino)
"aoc" = (/obj/structure/cable/green{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/structure/bed/chair/comfy/brown{dir = 4},/turf/simulated/floor/trim/darkwood,/area/bridge/meeting_room/cafe)
"aod" = (/obj/structure/cable/green{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/structure/cable/green{icon_state = "2-4"; d2 = 4; d1 = 2},/obj/structure/table/woodentable,/obj/item/reagent_containers/vessel/condiment/small/peppermill{pixel_x = -3; pixel_y = 2},/obj/item/reagent_containers/vessel/condiment/small/saltshaker,/turf/simulated/floor/trim/darkwood,/area/bridge/meeting_room/cafe)
"aoe" = (/obj/effect/floor_decal/corner/red{dir = 10},/obj/effect/floor_decal/corner/grey{dir = 5},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light,/turf/simulated/floor/tiled/dark/rough,/area/security/brig)
@@ -2030,7 +2030,7 @@
"aQw" = (/obj/effect/floor_decal/corner/red{dir = 1},/turf/simulated/floor/tiled/rough,/area/hallway/primary/frontier/brighall)
"aQx" = (/obj/effect/floor_decal/corner/red{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/obj/item/device/radio/intercom{dir = 8; pixel_x = 22},/turf/simulated/floor/tiled/rough,/area/hallway/primary/frontier/brighall)
"aQD" = (/obj/effect/floor_decal/sandfloordec,/obj/structure/cable/white{icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/structure/cable/white{icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/tiled/rough,/area/crew_quarters/sleep/cave)
-"aQE" = (/obj/structure/cable/white{icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/siding/wood{dir = 8},/obj/structure/door_assembly,/obj/structure/barricade/material{layer = 6},/turf/simulated/floor/trim/wood/broken0,/area/maintenance/law)
+"aQE" = (/obj/structure/cable/white{icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/effect/floor_decal/siding/wood{dir = 8},/obj/structure/door_assembly,/obj/structure/barricade/material,/turf/simulated/floor/trim/wood/broken0,/area/maintenance/law)
"aQF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled/rough,/area/engineering/atmos)
"aQG" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled/rough,/area/engineering/atmos)
"aQH" = (/turf/simulated/mineral,/area/maintenance/cargo)
@@ -4299,7 +4299,7 @@
"bSr" = (/obj/structure/table/woodentable,/obj/machinery/light/small{dir = 1},/obj/item/toy/plushie/spider,/turf/simulated/floor/trim/carpet/purple,/area/crew_quarters/sleep/cabin2)
"bSs" = (/turf/simulated/wall,/area/maintenance/chapel/south)
"bSt" = (/obj/structure/flora/ausbushes/fullgrass{pixel_y = -18},/turf/simulated/floor/natural/sand/darksand,/area/crew_quarters/sleep/cave)
-"bSu" = (/obj/structure/table/woodentable,/obj/machinery/chemical_dispenser/bar_coffee/full,/obj/item/device/radio/intercom{pixel_y = 22},/obj/machinery/alarm{dir = 4; pixel_x = -24},/obj/effect/decal/cleanable/cobweb2{icon_state = "cobweb1"},/turf/simulated/floor/trim/wood{icon_state = "wood_broken5"},/area/crew_quarters/underdorm/theater/actor)
+"bSu" = (/obj/structure/table/woodentable,/obj/item/device/radio/intercom{pixel_y = 22},/obj/machinery/alarm{dir = 4; pixel_x = -24},/obj/effect/decal/cleanable/cobweb2{icon_state = "cobweb1"},/turf/simulated/floor/trim/wood{icon_state = "wood_broken5"},/area/crew_quarters/underdorm/theater/actor)
"bSv" = (/obj/machinery/camera/network/civilian_east{c_tag = "Underground Theater"},/obj/structure/table/woodentable,/obj/item/storage/box/glasses/square,/obj/machinery/light/small{dir = 1},/obj/structure/sign/poster{pixel_y = 32},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/trim/wood,/area/crew_quarters/underdorm/theater/actor)
"bSw" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/door/unpowered/simple/wood,/turf/simulated/floor/trim/wood,/area/crew_quarters/underdorm/theater/actor)
"bSx" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/natural/sand/darksand,/area/crew_quarters/underdorm/theater/actor)
@@ -4889,7 +4889,7 @@
"cer" = (/obj/effect/decal/cleanable/dirt,/obj/item/weldingtool/largetank,/turf/simulated/floor/plating,/area/maintenance/research_port)
"ces" = (/obj/effect/decal/cleanable/dirt,/obj/structure/bed/chair,/turf/simulated/floor/plating,/area/maintenance/research_port)
"cet" = (/obj/structure/cable{icon_state = "1-4"; d2 = 4; d1 = 1},/obj/random/obstruction,/turf/simulated/floor/plating,/area/maintenance/research_port)
-"ceu" = (/obj/machinery/door/airlock/maintenance{req_access = list(12)},/obj/machinery/door/firedoor/border_only,/obj/structure/barricade/material{layer = 6},/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/turf/simulated/floor/plating,/area/maintenance/research_port)
+"ceu" = (/obj/machinery/door/airlock/maintenance{req_access = list(12)},/obj/machinery/door/firedoor/border_only,/obj/structure/barricade/material,/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/turf/simulated/floor/plating,/area/maintenance/research_port)
"cev" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/obj/structure/cable{icon_state = "1-8"; d2 = 8; d1 = 1},/obj/effect/floor_decal/rust,/obj/machinery/light/small/red{dir = 4},/turf/simulated/floor/tiled/rough,/area/maintenance/research_port)
"cew" = (/obj/machinery/optable{name = "Xenobiology Operating Table"},/obj/effect/floor_decal/corner/black{dir = 5},/obj/structure/window/reinforced{dir = 1},/obj/effect/floor_decal/corner/black,/obj/effect/floor_decal/corner/purple{dir = 8},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/freezer,/area/rnd/xenobiology)
"cex" = (/obj/random/tech_supply,/obj/random/tech_supply,/obj/structure/table/steel,/obj/random/tech_supply,/obj/random/tech_supply,/obj/structure/sign/poster{pixel_x = 32},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/rough,/area/maintenance/research_port)
@@ -4905,7 +4905,7 @@
"ceH" = (/mob/living/simple_animal/mouse,/turf/simulated/floor/plating,/area/maintenance/chapel/south)
"ceI" = (/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{dir = 8; pixel_x = 25; pixel_y = -30; frequency = 1380; id_tag = "escape_pod_2_berth"; tag_door = "escape_pod_2_berth_hatch"},/turf/simulated/floor/plating,/area/maintenance/chapel/south)
"ceJ" = (/obj/machinery/door/airlock/external{name = "Escape Pod"; icon_state = "door_locked"; frequency = 1380; locked = 1; req_access = list(13); id_tag = "escape_pod_2_berth_hatch"},/obj/machinery/shield_diffuser,/turf/simulated/floor/plating,/area/maintenance/chapel/south)
-"ceK" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_one_access = list(7,12)},/obj/structure/barricade/material{layer = 6},/turf/simulated/floor/plating,/area/maintenance/chapel/south)
+"ceK" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance{req_one_access = list(7,12)},/obj/structure/barricade/material,/turf/simulated/floor/plating,/area/maintenance/chapel/south)
"ceL" = (/obj/machinery/door/firedoor,/obj/structure/window_frame/reinforced/hull,/turf/simulated/floor/plating,/area/maintenance/medbay)
"ceM" = (/obj/effect/floor_decal/corner/purple{dir = 8},/obj/machinery/portable_atmospherics/canister/empty,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled/dark/rough,/area/rnd/mixing)
"ceP" = (/obj/random/trash,/turf/simulated/floor/plating,/area/maintenance/chapel/south)
@@ -5024,7 +5024,7 @@
"chf" = (/obj/structure/cable{icon_state = "2-8"; d2 = 8; d1 = 2},/turf/simulated/floor/plating,/area/maintenance/cargo)
"chg" = (/obj/structure/window_frame/reinforced/hull,/turf/simulated/floor/plating,/area/medical/virology)
"chh" = (/obj/structure/cable{icon_state = "1-4"; d2 = 4; d1 = 1},/turf/simulated/floor/plating,/area/maintenance/cargo)
-"chi" = (/obj/structure/barricade/material{layer = 6},/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/turf/simulated/floor/plating,/area/maintenance/cargo)
+"chi" = (/obj/structure/barricade/material,/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/turf/simulated/floor/plating,/area/maintenance/cargo)
"chj" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/turf/simulated/floor/plating,/area/maintenance/cargo)
"chk" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{icon_state = "2-8"; d2 = 8; d1 = 2},/turf/simulated/floor/plating,/area/maintenance/cargo)
"chl" = (/obj/effect/decal/cleanable/dirt,/obj/item/reagent_containers/vessel/bottle/winesparkling,/turf/simulated/floor/plating,/area/maintenance/abandoned_casino)
@@ -5277,7 +5277,7 @@
"cmj" = (/obj/machinery/floodlight,/turf/simulated/floor/plating,/area/maintenance/medbay)
"cmk" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 9},/obj/effect/floor_decal/corner/purple{dir = 5},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/dark/rough,/area/rnd/mixing)
"cml" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8},/obj/machinery/meter,/obj/effect/floor_decal/corner/purple{dir = 5},/turf/simulated/floor/tiled/dark/rough,/area/rnd/mixing)
-"cmm" = (/obj/structure/window_frame/rglass,/obj/structure/barricade/material{layer = 6},/turf/simulated/floor/plating,/area/maintenance/chapel/south)
+"cmm" = (/obj/structure/window_frame/rglass,/obj/structure/barricade/material,/turf/simulated/floor/plating,/area/maintenance/chapel/south)
"cmn" = (/obj/machinery/light_switch{dir = 8; pixel_x = 26; pixel_y = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/light{dir = 4},/obj/machinery/button/window_frame_tint{dir = 8; pixel_x = 26; pixel_y = -8},/turf/simulated/floor/trim/wood,/area/crew_quarters/sleep/cabin2)
"cmo" = (/obj/structure/table/woodentable,/obj/item/paper_bin,/obj/item/pen,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/item/wirecutters,/turf/simulated/floor/trim/wood,/area/maintenance/law)
"cmp" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/effect/floor_decal/corner/purple{dir = 1},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled/dark/rough,/area/rnd/mixing)
@@ -5410,7 +5410,7 @@
"dwK" = (/obj/structure/girder,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/dormitory)
"dFj" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable/white{icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock{name = "Law Office"; req_access = list(67); id_tag = "LawyerDoor"},/turf/simulated/floor/trim/wood,/area/lawoffice)
"dVh" = (/obj/effect/floor_decal/corner/green{dir = 6},/turf/simulated/floor/tiled/rough,/area/hallway/primary/frontier/ring_north)
-"dVI" = (/obj/machinery/door/firedoor/border_only,/obj/structure/window_frame/broken,/obj/structure/window_frame,/obj/structure/barricade/material{layer = 6},/turf/simulated/floor/plating,/area/maintenance/law)
+"dVI" = (/obj/machinery/door/firedoor/border_only,/obj/structure/window_frame/broken,/obj/structure/window_frame,/obj/structure/barricade/material,/turf/simulated/floor/plating,/area/maintenance/law)
"ecn" = (/obj/machinery/disposal,/obj/structure/window/reinforced{dir = 4},/obj/structure/disposalpipe/trunk,/obj/effect/floor_decal/industrial/warning/full,/turf/simulated/floor/tiled/white/rough,/area/rnd/xenobiology)
"ehb" = (/obj/machinery/atmospherics/binary/dp_vent_pump/high_volume{frequency = 1379; id = "tox_airlock_pump"},/obj/machinery/air_sensor{pixel_x = -16; pixel_y = 6; frequency = 1430; output = 63; id_tag = "toxins_mixing_interior"},/turf/simulated/floor/reinforced,/area/rnd/mixing)
"emC" = (/turf/simulated/floor/trim/wood/broken0,/area/maintenance/law)
@@ -5530,7 +5530,7 @@
"qHn" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/grid/bluegrid,/area/turret_protected/ai)
"qNy" = (/obj/structure/closet/secure_closet/lawyer,/turf/simulated/floor/trim/carpet,/area/lawoffice)
"qOT" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/trim/wood,/area/maintenance/engineering)
-"qPx" = (/obj/structure/barricade/material{layer = 6},/obj/machinery/door/airlock/maintenance{req_one_access = list(7,12)},/turf/simulated/floor/plating,/area/maintenance/research_port)
+"qPx" = (/obj/structure/barricade/material,/obj/machinery/door/airlock/maintenance{req_one_access = list(7,12)},/turf/simulated/floor/plating,/area/maintenance/research_port)
"qTt" = (/obj/structure/closet/crate/secure/weapon{name = ".45 ammo crate"; req_access = list(3)},/obj/item/ammo_magazine/c45m,/obj/item/ammo_magazine/c45m,/obj/item/ammo_magazine/c45m,/obj/item/ammo_magazine/c45m,/obj/item/ammo_magazine/c45m,/obj/item/ammo_magazine/c45m,/obj/item/ammo_magazine/c45m,/obj/item/ammo_magazine/c45m,/obj/effect/floor_decal/industrial/box/red,/obj/item/ammo_magazine/c45m,/turf/simulated/floor/tiled/dark/rough,/area/security/tactical)
"rae" = (/obj/machinery/field_generator,/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/light{dir = 4},/turf/simulated/floor/plating,/area/engineering/storage)
"reu" = (/obj/effect/floor_decal/rust,/obj/effect/decal/cleanable/dirt,/obj/structure/bed/chair{dir = 1},/turf/simulated/floor/tiled/rough,/area/maintenance/research_port)
@@ -5551,7 +5551,7 @@
"rWk" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/trim/wood{icon_state = "wood_broken4"},/area/maintenance/engineering)
"rWr" = (/obj/machinery/photocopier,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/structure/cable/white{icon_state = "0-4"},/obj/machinery/power/apc{name = "west bump"; dir = 8; pixel_x = -24},/turf/simulated/floor/trim/wood,/area/lawoffice)
"sfF" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/research_port)
-"sgx" = (/obj/machinery/door/unpowered/simple/wood,/obj/structure/barricade/material{layer = 6},/turf/simulated/floor/plating,/area/maintenance/abandoned_casino)
+"sgx" = (/obj/machinery/door/unpowered/simple/wood,/obj/structure/barricade/material,/turf/simulated/floor/plating,/area/maintenance/abandoned_casino)
"skJ" = (/obj/machinery/power/apc{name = "west bump"; dir = 8; pixel_x = -24},/obj/structure/cable/white,/turf/simulated/floor/plating,/area/maintenance/dormitory)
"snT" = (/obj/structure/window/reinforced{health = 1e+07},/turf/simulated/floor/asteroid,/area/mine/explored)
"soX" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 5},/turf/simulated/floor/tiled/rough,/area/maintenance/incinerator)
diff --git a/maps/frontier/frontier-2.dmm b/maps/frontier/frontier-2.dmm
index 96744c7c5e0..df56dab6110 100644
--- a/maps/frontier/frontier-2.dmm
+++ b/maps/frontier/frontier-2.dmm
@@ -2,187 +2,57 @@
"aab" = (/turf/space{icon_state = "black"},/area/space)
"aac" = (/obj/effect/step_trigger/teleporter/random/admin,/turf/space/transit/west,/area/space)
"aad" = (/obj/effect/step_trigger/teleporter/random/admin,/turf/space/transit/east,/area/space)
-"aae" = (/obj/effect/floor_decal/corner/red/three_quarters{dir = 1},/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/centcom/holding)
+"aae" = (/obj/effect/floor_decal/corner/red/three_quarters{dir = 1},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/holding)
"aaf" = (/turf/unsimulated/wall{icon_state = "riveted_l"},/area/space)
-"aag" = (/obj/structure/window/reinforced/crescent,/turf/unsimulated/wall{icon_state = "riveted_straight"; dir = 8},/area/space)
"aah" = (/turf/space/transit/north,/area/space)
"aai" = (/turf/space/transit/west,/area/space)
"aaj" = (/turf/space/transit/east,/area/space)
"aak" = (/turf/simulated/mineral,/area/space)
-"aal" = (/obj/structure/window/reinforced/crescent{dir = 4},/turf/unsimulated/wall{icon_state = "riveted_straight"},/area/space)
-"aam" = (/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "syndieshutters"; name = "Shuttle Blast Shutters"; opacity = 0},/obj/structure/window/syndi{icon_state = "ws4"},/turf/simulated/floor/plating,/area/syndicate_station/start)
+"aam" = (/obj/machinery/door/blast/regular{name = "Shuttle Blast Shutters"; icon_state = "pdoor0"; opacity = 0; density = 0; dir = 4; id = "syndieshutters"},/obj/structure/window/syndi{icon_state = "ws4"},/turf/simulated/floor/plating,/area/syndicate_station/start)
"aan" = (/obj/structure/window/syndi{icon_state = "ws3"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/ninja)
-"aao" = (/obj/structure/window/reinforced/crescent{dir = 4},/obj/structure/window/reinforced/crescent{dir = 8},/turf/unsimulated/wall{icon_state = "riveted_straight"},/area/space)
-"aap" = (/obj/structure/flora/ausbushes/fullgrass,/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea)
-"aaq" = (/obj/structure/flora/ausbushes/sparsegrass,/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea)
-"aar" = (/obj/structure/table/rack/holorack,/obj/item/clothing/under/dress/dress_saloon,/obj/item/clothing/head/hairflower,/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_theatre)
-"aas" = (/obj/effect/landmark/costume,/obj/structure/table/rack/holorack,/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_theatre)
-"aat" = (/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_courtroom)
-"aau" = (/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet{dir = 9},/obj/effect/floor_decal/carpet{dir = 10},/obj/machinery/door/window/holowindoor{dir = 8; name = "Jury Box"},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
-"aav" = (/obj/structure/table/holo_woodentable,/turf/simulated/floor/holofloor/wood,/area/holodeck/source_courtroom)
-"aaw" = (/turf/simulated/floor/holofloor/reinforced,/area/holodeck/source_wildlife)
-"aax" = (/turf/simulated/floor/holofloor/reinforced,/area/holodeck/source_plating)
-"aay" = (/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_emptycourt)
-"aaz" = (/obj/structure/holostool,/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_emptycourt)
-"aaA" = (/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet/corners{dir = 10},/obj/structure/bed/chair/holochair,/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
-"aaB" = (/obj/effect/floor_decal/corner/red/three_quarters{dir = 8},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_emptycourt)
-"aaC" = (/obj/effect/floor_decal/corner/red{dir = 5},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_emptycourt)
-"aaD" = (/obj/effect/floor_decal/carpet{dir = 1},/obj/structure/bed/chair/holochair,/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
-"aaE" = (/obj/structure/window/reinforced/crescent{dir = 8},/turf/unsimulated/wall{icon_state = "riveted_straight"},/area/space)
-"aaF" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_throwdown"; stopper = 0; tiles = 0},/turf/space/transit/north,/area/space)
-"aaG" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north,/area/space)
-"aaH" = (/turf/unsimulated/beach/sand{density = 1; opacity = 1},/area/beach)
-"aaJ" = (/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea)
-"aaK" = (/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea)
-"aaL" = (/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_theatre)
-"aaM" = (/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 5},/obj/structure/bed/chair/holochair,/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
-"aaN" = (/turf/simulated/floor/holofloor/wood,/area/holodeck/source_courtroom)
-"aaO" = (/obj/effect/landmark/event/other/holodeck/carps,/turf/simulated/floor/holofloor/reinforced,/area/holodeck/source_wildlife)
-"aaP" = (/obj/effect/floor_decal/corner/red{dir = 9},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_emptycourt)
-"aaQ" = (/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_emptycourt)
-"aaR" = (/obj/effect/floor_decal/corner/green{dir = 5},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_emptycourt)
+"aaF" = (/obj/effect/step_trigger/thrower{name = "thrower_throwdown"; tiles = 0; affect_ghosts = 1; stopper = 0},/turf/space/transit/north,/area/space)
+"aaG" = (/obj/effect/step_trigger/thrower{name = "thrower_escapeshuttletop(left)"; direction = 8; tiles = 0; affect_ghosts = 1},/turf/space/transit/north,/area/space)
+"aaH" = (/turf/unsimulated/beach/sand{opacity = 1; density = 1},/area/beach)
+"aaI" = (/mob/living/silicon/decoy{name = "A.L.I.C.E."},/obj/item/device/radio/intercom/specops{pixel_y = 22},/turf/unsimulated/floor{icon_state = "bcircuit"},/area/centcom/control)
"aaS" = (/turf/space/transit/north,/area/rescue_base/transit)
-"aaT" = (/obj/effect/step_trigger/thrower{direction = 1; name = "thrower_throwup"; tiles = 0},/turf/space/transit/north,/area/space)
+"aaT" = (/obj/effect/step_trigger/thrower{name = "thrower_throwup"; direction = 1; tiles = 0},/turf/space/transit/north,/area/space)
"aaU" = (/turf/unsimulated/beach/sand,/area/beach)
"aaV" = (/obj/structure/closet,/turf/unsimulated/beach/sand,/area/beach)
-"aaW" = (/obj/structure/flora/ausbushes/brflowers,/obj/effect/floor_decal/spline/fancy/wood/corner,/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea)
-"aaX" = (/obj/structure/flora/ausbushes/ywflowers,/obj/effect/floor_decal/spline/fancy/wood,/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea)
-"aaY" = (/obj/structure/flora/ausbushes/brflowers,/obj/effect/floor_decal/spline/fancy/wood,/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea)
-"aaZ" = (/obj/structure/flora/ausbushes/ywflowers,/obj/effect/floor_decal/spline/fancy/wood/corner{dir = 8},/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea)
-"aba" = (/obj/effect/floor_decal/corner/green/three_quarters{dir = 1},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_emptycourt)
-"abb" = (/obj/structure/table/holo_woodentable,/obj/structure/window/reinforced/holowindow{dir = 8},/turf/simulated/floor/holofloor/wood,/area/holodeck/source_courtroom)
-"abc" = (/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 10},/obj/structure/bed/chair/holochair,/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
-"abd" = (/obj/effect/floor_decal/carpet,/obj/structure/bed/chair/holochair,/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
-"abe" = (/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 6},/obj/structure/bed/chair/holochair,/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
-"abf" = (/obj/effect/floor_decal/corner/green{dir = 6},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_emptycourt)
"abg" = (/obj/effect/overlay/palmtree_l,/turf/unsimulated/beach/sand,/area/beach)
"abh" = (/obj/effect/overlay/palmtree_r,/obj/effect/overlay/coconut,/turf/unsimulated/beach/sand,/area/beach)
-"abi" = (/obj/structure/flora/ausbushes/ywflowers,/obj/effect/floor_decal/spline/fancy/wood{dir = 4},/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea)
-"abj" = (/obj/structure/flora/ausbushes/brflowers,/obj/effect/floor_decal/spline/fancy/wood{dir = 4},/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea)
-"abk" = (/obj/effect/decal/cleanable/dirt,/obj/structure/holostool,/turf/simulated/floor/holofloor/desert,/area/holodeck/source_picnicarea)
-"abl" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor/desert,/area/holodeck/source_picnicarea)
-"abm" = (/obj/structure/flora/ausbushes/brflowers,/obj/effect/floor_decal/spline/fancy/wood{dir = 8},/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea)
-"abn" = (/obj/effect/floor_decal/spline/plain{dir = 1},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_theatre)
-"abo" = (/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 5},/obj/effect/floor_decal/carpet{dir = 9},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_theatre)
-"abp" = (/obj/structure/table/holo_woodentable,/obj/structure/window/reinforced/holowindow{dir = 8},/obj/structure/window/reinforced/holowindow,/turf/simulated/floor/holofloor/wood,/area/holodeck/source_courtroom)
-"abq" = (/obj/machinery/door/window/holowindoor{base_state = "right"; dir = 8; icon_state = "right"; name = "Witness Box"},/obj/structure/bed/chair/holochair{dir = 4},/obj/structure/window/reinforced/holowindow{dir = 4},/turf/simulated/floor/holofloor/wood,/area/holodeck/source_courtroom)
-"abr" = (/obj/structure/table/holo_woodentable,/obj/structure/window/reinforced/holowindow,/turf/simulated/floor/holofloor/wood,/area/holodeck/source_courtroom)
-"abs" = (/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 9},/obj/structure/table/holo_woodentable,/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
-"abt" = (/obj/effect/floor_decal/carpet{dir = 1},/obj/structure/bed/chair/holochair{dir = 8},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
-"abu" = (/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 5},/obj/structure/bed/chair/holochair{dir = 8},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
-"abv" = (/obj/structure/table/holo_woodentable,/obj/structure/window/reinforced/holowindow{dir = 4},/obj/structure/window/reinforced/holowindow{dir = 1},/turf/simulated/floor/holofloor/wood,/area/holodeck/source_courtroom)
-"abw" = (/obj/structure/bed/chair/holochair{dir = 8},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
"abx" = (/obj/effect/overlay/coconut,/turf/unsimulated/beach/sand,/area/beach)
"aby" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 8},/area/alien)
-"abz" = (/obj/structure/table/holo_woodentable,/turf/simulated/floor/holofloor/desert,/area/holodeck/source_picnicarea)
-"abA" = (/obj/structure/flora/ausbushes/ywflowers,/obj/effect/floor_decal/spline/fancy/wood{dir = 8},/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea)
-"abB" = (/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_theatre)
-"abC" = (/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 9},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_theatre)
-"abD" = (/obj/effect/floor_decal/carpet{dir = 1},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_theatre)
-"abE" = (/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 5},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_theatre)
-"abF" = (/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet{dir = 4},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_theatre)
-"abG" = (/obj/effect/floor_decal/carpet{dir = 4},/obj/structure/bed/chair/holochair{dir = 8},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
-"abH" = (/obj/effect/floor_decal/carpet{dir = 1},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
-"abI" = (/obj/structure/bed/chair/holochair{dir = 4},/turf/simulated/floor/holofloor/wood,/area/holodeck/source_courtroom)
-"abJ" = (/obj/structure/table/holo_woodentable,/obj/structure/window/reinforced/holowindow{dir = 4},/turf/simulated/floor/holofloor/wood,/area/holodeck/source_courtroom)
-"abK" = (/obj/structure/table/holo_woodentable,/obj/structure/window/reinforced/holowindow{dir = 4},/obj/structure/window/reinforced/holowindow,/turf/simulated/floor/holofloor/wood,/area/holodeck/source_courtroom)
-"abL" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north,/area/space)
-"abM" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north,/area/space)
+"abL" = (/obj/effect/step_trigger/thrower{name = "thrower_throwdownside"; tiles = 0; affect_ghosts = 1; nostop = 1},/turf/space/transit/north,/area/space)
+"abM" = (/obj/effect/step_trigger/thrower{name = "thrower_escapeshuttletop(right)"; direction = 4; tiles = 0; affect_ghosts = 1},/turf/space/transit/north,/area/space)
"abN" = (/obj/effect/shuttle_landmark/rescue/internim,/turf/space/transit/north,/area/rescue_base/transit)
"abO" = (/turf/unsimulated/floor{icon_state = "dark"},/area/alien)
-"abP" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet{dir = 8},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_theatre)
-"abQ" = (/obj/structure/holostool,/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_theatre)
-"abR" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet{dir = 4},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_theatre)
-"abS" = (/obj/structure/table/holo_woodentable,/obj/effect/floor_decal/carpet{dir = 8},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
-"abT" = (/obj/effect/floor_decal/carpet{dir = 8},/obj/structure/table/holo_woodentable,/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
-"abU" = (/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
-"abV" = (/obj/effect/floor_decal/corner/red/three_quarters,/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_emptycourt)
-"abW" = (/obj/effect/floor_decal/corner/red{dir = 10},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_emptycourt)
-"abX" = (/obj/machinery/door/window/holowindoor{dir = 8; name = "Court Reporter's Box"},/obj/structure/bed/chair/holochair{dir = 4},/obj/structure/window/reinforced/holowindow{dir = 4},/turf/simulated/floor/holofloor/wood,/area/holodeck/source_courtroom)
-"abY" = (/obj/effect/step_trigger/thrower{direction = 1; name = "thrower_throwup"; tiles = 0},/turf/space/transit/south,/area/space)
+"abY" = (/obj/effect/step_trigger/thrower{name = "thrower_throwup"; direction = 1; tiles = 0},/turf/space/transit/south,/area/space)
"abZ" = (/obj/effect/overlay/palmtree_r,/turf/unsimulated/beach/sand,/area/beach)
-"aca" = (/obj/item/paper{info = "Some stuff is missing..."; name = "Insert alien artifacts here."},/turf/unsimulated/floor{icon_state = "dark"},/area/alien)
+"aca" = (/obj/item/paper{name = "Insert alien artifacts here."; info = "Some stuff is missing..."},/turf/unsimulated/floor{icon_state = "dark"},/area/alien)
"acb" = (/obj/machinery/door/airlock/hatch,/turf/unsimulated/floor{icon_state = "dark"},/area/alien)
-"acc" = (/obj/structure/flora/ausbushes/brflowers,/obj/effect/floor_decal/spline/fancy/wood{dir = 9},/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea)
"acd" = (/turf/space,/area/shuttle/alien/base)
-"ace" = (/obj/structure/flora/ausbushes/ywflowers,/obj/effect/floor_decal/spline/fancy/wood{dir = 5},/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea)
-"acf" = (/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 10},/obj/structure/table/holo_woodentable,/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
-"acg" = (/obj/effect/floor_decal/carpet,/obj/structure/bed/chair/holochair{dir = 8},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
-"ach" = (/obj/effect/floor_decal/carpet,/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
-"aci" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/west,/area/space)
-"acj" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east,/area/space)
+"aci" = (/obj/effect/step_trigger/thrower{name = "thrower_leftnostop"; affect_ghosts = 1},/turf/space/transit/west,/area/space)
+"acj" = (/obj/effect/step_trigger/thrower{name = "thrower_leftnostop"; affect_ghosts = 1},/turf/space/transit/east,/area/space)
"ack" = (/obj/effect/landmark/event/rift/exit,/turf/unsimulated/beach/sand,/area/beach)
"acl" = (/obj/structure/closet/acloset,/turf/unsimulated/floor{icon_state = "dark"},/area/alien)
-"acm" = (/obj/structure/flora/ausbushes/brflowers,/obj/effect/floor_decal/spline/fancy/wood/corner{dir = 1},/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea)
-"acn" = (/obj/structure/flora/ausbushes/ywflowers,/obj/effect/floor_decal/spline/fancy/wood/corner{dir = 4},/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea)
-"aco" = (/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 6},/obj/structure/bed/chair/holochair{dir = 8},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
-"acp" = (/obj/effect/floor_decal/carpet{dir = 8},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
-"acq" = (/obj/structure/holostool,/obj/structure/window/reinforced/holowindow{dir = 1},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_emptycourt)
-"acr" = (/obj/machinery/door/window/holowindoor{base_state = "right"; dir = 1; icon_state = "right"; name = "Green Team"},/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_emptycourt)
"acs" = (/turf/space/transit/west,/area/shuttle/escape_pod1/transit)
"act" = (/turf/space/transit/east,/area/shuttle/escape_pod1/transit)
-"acu" = (/obj/effect/step_trigger/thrower{direction = 1; name = "thrower_throwup"; tiles = 0},/turf/space/transit/east,/area/space)
+"acu" = (/obj/effect/step_trigger/thrower{name = "thrower_throwup"; direction = 1; tiles = 0},/turf/space/transit/east,/area/space)
"acv" = (/obj/structure/table/standard,/obj/item/reagent_containers/vessel/bottle/small/beer,/obj/item/reagent_containers/vessel/bottle/small/beer,/obj/item/reagent_containers/vessel/bottle/small/beer,/obj/item/reagent_containers/vessel/bottle/small/beer,/obj/item/reagent_containers/vessel/bottle/small/beer,/obj/item/reagent_containers/vessel/bottle/small/beer,/obj/item/reagent_containers/vessel/bottle/small/beer,/turf/unsimulated/beach/sand,/area/beach)
"acw" = (/obj/structure/table/standard,/obj/item/clothing/under/color/rainbow,/obj/item/clothing/glasses/sunglasses,/obj/item/clothing/head/collectable/petehat{pixel_y = 5},/turf/unsimulated/beach/sand,/area/beach)
"acx" = (/obj/structure/bed/alien,/turf/unsimulated/floor{icon_state = "dark"},/area/alien)
-"acy" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 10},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_theatre)
-"acz" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet,/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_theatre)
-"acA" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 6},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_theatre)
-"acB" = (/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 6},/obj/effect/floor_decal/carpet{dir = 10},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_theatre)
-"acC" = (/obj/machinery/door/window/holowindoor{dir = 1; name = "Red Team"},/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_emptycourt)
"acD" = (/obj/machinery/door/airlock/external,/turf/unsimulated/floor{name = "plating"},/area/centcom/suppy)
"acE" = (/obj/effect/shuttle_landmark/escape_pod/transit/pod1,/turf/space/transit/west,/area/shuttle/escape_pod1/transit)
-"acF" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_throwdown"; stopper = 0; tiles = 0},/turf/space/transit/east,/area/space)
+"acF" = (/obj/effect/step_trigger/thrower{name = "thrower_throwdown"; tiles = 0; affect_ghosts = 1; stopper = 0},/turf/space/transit/east,/area/space)
"acG" = (/obj/structure/table/standard,/obj/item/reagent_containers/food/packaged/chips,/turf/unsimulated/beach/sand,/area/beach)
"acH" = (/obj/structure/table/standard,/obj/item/reagent_containers/vessel/can/cola,/obj/item/reagent_containers/vessel/can/cola,/obj/item/reagent_containers/vessel/can/cola,/obj/item/reagent_containers/vessel/can/cola,/obj/item/reagent_containers/vessel/can/cola,/obj/item/reagent_containers/vessel/can/cola,/turf/unsimulated/beach/sand,/area/beach)
"acI" = (/obj/item/beach_ball,/turf/unsimulated/beach/sand,/area/beach)
-"acK" = (/turf/simulated/floor/holofloor/lino,/area/holodeck/source_chess)
-"acL" = (/obj/effect/floor_decal/carpet{dir = 5},/obj/effect/floor_decal/carpet{dir = 6},/obj/effect/floor_decal/carpet{dir = 10},/obj/effect/floor_decal/carpet{dir = 9},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_theatre)
-"acM" = (/obj/machinery/door/window/holowindoor{dir = 1},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_courtroom)
-"acN" = (/obj/structure/window/reinforced/holowindow{dir = 1},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_courtroom)
-"acO" = (/obj/machinery/door/window/holowindoor{base_state = "right"; dir = 1; icon_state = "right"},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_courtroom)
-"acP" = (/obj/structure/table/holotable,/obj/effect/floor_decal/corner/red/three_quarters{dir = 8},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt)
-"acQ" = (/obj/effect/floor_decal/corner/green{dir = 10},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_emptycourt)
-"acR" = (/obj/effect/floor_decal/corner/green/three_quarters{dir = 4},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_emptycourt)
+"acJ" = (/mob/living/simple_animal/tindalos{name = "Eddy"},/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/natural/jungle,/area/merchant_station)
"acS" = (/obj/structure/bed,/turf/unsimulated/floor{name = "plating"},/area/prison/solitary)
-"acT" = (/obj/structure/window/reinforced/crescent,/obj/structure/window/reinforced/crescent{dir = 1},/turf/unsimulated/wall{icon_state = "riveted_straight"; dir = 8},/area/space)
-"acU" = (/obj/structure/window/reinforced/crescent{dir = 1},/obj/structure/window/reinforced/crescent,/turf/unsimulated/wall{icon_state = "riveted_straight"; dir = 8},/area/space)
-"acV" = (/turf/simulated/floor/holofloor/space,/area/holodeck/source_space)
-"acW" = (/turf/simulated/floor/holofloor/snow,/area/holodeck/source_snowfield)
-"acX" = (/turf/simulated/floor/holofloor/wood,/area/holodeck/source_meetinghall)
-"acY" = (/obj/item/reagent_containers/food/checker/rook{randpixel = 0},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_chess)
-"acZ" = (/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_basketball)
-"ada" = (/obj/structure/holostool,/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"adb" = (/turf/unsimulated/beach/sand{dir = 4; icon_state = "beach"},/area/holodeck/source_beach)
-"adc" = (/obj/effect/floor_decal/corner/red/three_quarters{dir = 8},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"add" = (/obj/effect/floor_decal/corner/red{dir = 5},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
"ade" = (/obj/structure/shuttle/engine/heater{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/shuttle/escape/centcom)
-"adf" = (/obj/effect/floor_decal/corner/red/three_quarters{dir = 1},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"adg" = (/turf/simulated/floor/holofloor/beach/sand,/area/holodeck/source_beach)
-"adh" = (/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_thunderdomecourt)
-"adi" = (/obj/structure/holostool,/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt)
-"adj" = (/obj/effect/floor_decal/corner/red{dir = 5},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt)
-"adk" = (/obj/effect/floor_decal/corner/red/three_quarters{dir = 1},/obj/structure/window/reinforced/holowindow/disappearing{dir = 4},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt)
-"adl" = (/obj/effect/floor_decal/corner/green/three_quarters{dir = 8},/obj/structure/window/reinforced/holowindow/disappearing{dir = 8},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt)
-"adm" = (/obj/effect/floor_decal/corner/green{dir = 5},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt)
-"adn" = (/obj/structure/table/holotable,/obj/item/clothing/gloves/boxing/hologlove,/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_boxingcourt)
-"ado" = (/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_boxingcourt)
"adp" = (/obj/structure/window_frame/indestructible/hull,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
"adq" = (/obj/structure/mirror,/turf/unsimulated/wall{icon_state = "riveted_straight"; dir = 8},/area/syndicate_mothership/elite_squad)
-"adr" = (/obj/effect/landmark/event/other/holodeck/randcarps,/turf/simulated/floor/holofloor/space,/area/holodeck/source_space)
-"ads" = (/obj/structure/flora/grass/both,/turf/simulated/floor/holofloor/snow,/area/holodeck/source_snowfield)
-"adt" = (/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 9},/obj/effect/floor_decal/carpet{dir = 10},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_meetinghall)
-"adu" = (/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 1},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_meetinghall)
-"adv" = (/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 5},/obj/effect/floor_decal/carpet{dir = 6},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_meetinghall)
-"adw" = (/obj/effect/floor_decal/corner/red{dir = 9},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"adx" = (/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"ady" = (/obj/effect/floor_decal/corner/red{dir = 6},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"adz" = (/obj/effect/overlay/palmtree_r,/turf/simulated/floor/holofloor/beach/sand,/area/holodeck/source_beach)
-"adA" = (/obj/structure/table/holotable,/obj/effect/floor_decal/corner/green/three_quarters{dir = 1},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt)
-"adB" = (/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt)
-"adC" = (/obj/structure/table/holotable,/obj/item/clothing/head/helmet/thunderdome,/obj/item/clothing/suit/armor/tdome/red,/obj/item/clothing/under/color/red,/obj/item/holo/esword/red,/obj/effect/floor_decal/corner/red{dir = 9},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt)
-"adD" = (/obj/structure/holostool,/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_boxingcourt)
-"adE" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_throwdownsidenostop"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north,/area/space)
+"adE" = (/obj/effect/step_trigger/thrower{name = "thrower_throwdownsidenostop"; tiles = 0; affect_ghosts = 1; stopper = 0; nostop = 1},/turf/space/transit/north,/area/space)
"adF" = (/obj/structure/bed/chair,/obj/effect/landmark/event/rift/exit,/turf/unsimulated/beach/sand,/area/beach)
"adG" = (/mob/living/simple_animal/crab/Coffee,/turf/unsimulated/beach/sand,/area/beach)
"adH" = (/obj/effect/floor_decal/corner/red/three_quarters{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
@@ -192,52 +62,20 @@
"adL" = (/obj/effect/floor_decal/corner/red/three_quarters{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
"adM" = (/obj/structure/sink{dir = 1; pixel_y = 16},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/syndicate_mothership/elite_squad)
"adN" = (/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/syndicate_mothership/elite_squad)
-"adO" = (/obj/structure/flora/tree/pine,/turf/simulated/floor/holofloor/snow,/area/holodeck/source_snowfield)
-"adP" = (/obj/structure/table/holo_woodentable,/turf/simulated/floor/holofloor/wood,/area/holodeck/source_meetinghall)
-"adQ" = (/obj/structure/holohoop{dir = 4},/obj/effect/floor_decal/corner/red{dir = 9},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"adR" = (/obj/item/clothing/glasses/sunglasses,/turf/simulated/floor/holofloor/beach/sand,/area/holodeck/source_beach)
-"adS" = (/obj/effect/overlay/palmtree_l,/obj/effect/overlay/coconut,/turf/simulated/floor/holofloor/beach/sand,/area/holodeck/source_beach)
-"adT" = (/obj/structure/window/reinforced/holowindow/disappearing{dir = 4},/obj/effect/floor_decal/corner/red{dir = 6},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt)
-"adU" = (/obj/machinery/door/window/holowindoor{base_state = "right"; dir = 2; icon_state = "right"; name = "Red Corner"},/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_boxingcourt)
-"adV" = (/obj/structure/window/reinforced/holowindow,/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_boxingcourt)
"adW" = (/turf/space/transit/west,/area/shuttle/escape_pod2/transit)
"adX" = (/turf/space/transit/east,/area/shuttle/escape_pod2/transit)
"adY" = (/obj/item/clothing/head/collectable/paper,/turf/unsimulated/beach/sand,/area/beach)
"adZ" = (/obj/effect/floor_decal/corner/red{dir = 9},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
"aea" = (/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
"aeb" = (/obj/machinery/door/airlock/hatch{name = "Restroom"; req_access = list(150)},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/syndicate_mothership/elite_squad)
-"aed" = (/turf/simulated/floor/holofloor/lino,/area/holodeck/source_meetinghall)
-"aee" = (/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_meetinghall)
-"aef" = (/obj/item/beach_ball,/turf/simulated/floor/holofloor/beach/sand,/area/holodeck/source_beach)
-"aeg" = (/obj/structure/window/reinforced/holowindow{dir = 4},/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_boxingcourt)
-"aeh" = (/obj/effect/floor_decal/corner/red/three_quarters{dir = 8},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_boxingcourt)
-"aei" = (/obj/effect/floor_decal/corner/red{dir = 5},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_boxingcourt)
-"aej" = (/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_boxingcourt)
-"aek" = (/obj/structure/window/reinforced/holowindow{dir = 8},/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_boxingcourt)
+"aec" = (/obj/structure/table/woodentable,/obj/item/immovable_wand,/obj/item/paper/immovable_wand_note,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
"ael" = (/obj/effect/shuttle_landmark/escape_pod/transit/pod2,/turf/space/transit/east,/area/shuttle/escape_pod2/transit)
"aem" = (/obj/machinery/light{dir = 8},/obj/effect/floor_decal/corner/red{dir = 9},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
"aen" = (/obj/structure/bed/chair/comfy/black,/obj/effect/landmark/start/antags/commando,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
"aeo" = (/obj/machinery/light{dir = 4},/obj/effect/floor_decal/corner/red{dir = 6},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
"aep" = (/obj/machinery/door/airlock/hatch{name = "Cabin"; req_access = list(150)},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/syndicate_mothership/elite_squad)
"aeq" = (/turf/unsimulated/wall{icon_state = "riveted_straight"},/area/prison/solitary)
-"aer" = (/obj/structure/flora/grass/green,/turf/simulated/floor/holofloor/snow,/area/holodeck/source_snowfield)
-"aes" = (/obj/effect/floor_decal/carpet{dir = 5},/obj/effect/floor_decal/carpet{dir = 6},/obj/effect/floor_decal/carpet{dir = 9},/obj/effect/floor_decal/carpet{dir = 10},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_meetinghall)
-"aet" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 9},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_meetinghall)
-"aeu" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet{dir = 1},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_meetinghall)
-"aev" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 5},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_meetinghall)
-"aew" = (/obj/effect/floor_decal/corner/red/three_quarters,/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"aex" = (/obj/effect/floor_decal/corner/red{dir = 10},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"aey" = (/obj/effect/floor_decal/corner/red{dir = 6},/obj/item/beach_ball/holoball,/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"aez" = (/obj/effect/floor_decal/corner/red/three_quarters{dir = 4},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"aeA" = (/obj/item/inflatable_duck,/turf/simulated/floor/holofloor/beach/sand,/area/holodeck/source_beach)
-"aeB" = (/obj/structure/window/reinforced/holowindow/disappearing{dir = 8},/obj/effect/floor_decal/corner/green{dir = 9},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt)
-"aeC" = (/obj/structure/table/holotable,/obj/item/clothing/head/helmet/thunderdome,/obj/item/clothing/suit/armor/tdome/green,/obj/item/clothing/under/color/green,/obj/item/holo/esword/green,/obj/effect/floor_decal/corner/green{dir = 6},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt)
-"aeD" = (/obj/structure/table/holotable,/obj/machinery/readybutton,/obj/effect/floor_decal/corner/red/three_quarters,/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt)
-"aeE" = (/obj/effect/floor_decal/corner/red{dir = 9},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_boxingcourt)
-"aeF" = (/obj/effect/floor_decal/corner/blue/three_quarters{dir = 8},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_boxingcourt)
-"aeG" = (/obj/effect/floor_decal/corner/blue/three_quarters{dir = 1},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_boxingcourt)
-"aeH" = (/obj/effect/floor_decal/corner/green{dir = 6},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_boxingcourt)
-"aeI" = (/turf/unsimulated/beach/coastline{density = 1; opacity = 1},/area/beach)
+"aeI" = (/turf/unsimulated/beach/coastline{opacity = 1; density = 1},/area/beach)
"aeJ" = (/turf/unsimulated/beach/coastline,/area/beach)
"aeK" = (/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; locked = 1; req_access = list(150)},/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/syndicate_mothership/elite_squad)
"aeL" = (/obj/effect/floor_decal/corner/red{dir = 5},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
@@ -252,18 +90,7 @@
"aeU" = (/turf/unsimulated/floor{name = "plating"},/area/prison/solitary)
"aeV" = (/obj/effect/decal/cleanable/cobweb2,/turf/unsimulated/floor{name = "plating"},/area/prison/solitary)
"aeW" = (/obj/effect/decal/cleanable/blood,/turf/unsimulated/floor{name = "plating"},/area/prison/solitary)
-"aeX" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet{dir = 8},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_meetinghall)
-"aeY" = (/obj/structure/holostool,/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_meetinghall)
-"aeZ" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet{dir = 4},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_meetinghall)
-"afa" = (/obj/effect/floor_decal/corner/green/three_quarters{dir = 8},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"afb" = (/obj/effect/floor_decal/corner/green{dir = 5},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"afc" = (/obj/effect/floor_decal/corner/green/three_quarters{dir = 1},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"afd" = (/obj/effect/floor_decal/corner/red{dir = 10},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt)
-"afe" = (/obj/effect/floor_decal/corner/red/three_quarters{dir = 4},/obj/structure/window/reinforced/holowindow/disappearing{dir = 4},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt)
-"aff" = (/obj/effect/floor_decal/corner/green/three_quarters,/obj/structure/window/reinforced/holowindow/disappearing{dir = 8},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt)
-"afg" = (/obj/effect/floor_decal/corner/blue/three_quarters,/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_boxingcourt)
-"afh" = (/obj/effect/floor_decal/corner/blue/three_quarters{dir = 4},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_boxingcourt)
-"afi" = (/turf/unsimulated/beach/water{density = 1; opacity = 1},/area/beach)
+"afi" = (/turf/unsimulated/beach/water{opacity = 1; density = 1},/area/beach)
"afj" = (/turf/unsimulated/beach/water,/area/beach)
"afk" = (/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; locked = 1; req_access = list(150)},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
"afl" = (/obj/effect/floor_decal/corner/red{dir = 10},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
@@ -271,70 +98,44 @@
"afn" = (/obj/structure/table/steel_reinforced,/obj/item/deck/cards,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
"afo" = (/obj/structure/table/steel_reinforced,/obj/machinery/recharger,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
"afp" = (/obj/structure/bed,/obj/effect/decal/cleanable/cobweb,/turf/unsimulated/floor{name = "plating"},/area/prison/solitary)
-"afq" = (/obj/effect/floor_decal/corner/green{dir = 9},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"afr" = (/obj/effect/floor_decal/corner/green{dir = 6},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"afs" = (/obj/effect/floor_decal/corner/green{dir = 10},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt)
-"aft" = (/obj/structure/holostool,/obj/structure/window/reinforced/holowindow{dir = 1},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt)
-"afu" = (/obj/effect/floor_decal/corner/green{dir = 10},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_boxingcourt)
-"afv" = (/obj/effect/floor_decal/corner/green/three_quarters{dir = 4},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_boxingcourt)
"afw" = (/obj/machinery/light{dir = 8},/obj/item/device/radio/intercom/syndicate{dir = 4; pixel_x = -22},/obj/effect/floor_decal/corner/red{dir = 9},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
"afx" = (/obj/effect/landmark/start/antags/commando,/obj/structure/bed/chair/comfy/black{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
"afy" = (/obj/machinery/mech_recharger,/obj/mecha/combat/marauder/mauler,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
-"afz" = (/obj/structure/flora/grass/brown,/turf/simulated/floor/holofloor/snow,/area/holodeck/source_snowfield)
-"afA" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet{dir = 4},/turf/simulated/floor/holofloor/carpet{dir = 8},/area/holodeck/source_meetinghall)
-"afB" = (/obj/structure/holohoop{dir = 8},/obj/effect/floor_decal/corner/green{dir = 6},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"afC" = (/obj/effect/floor_decal/corner/green{dir = 10},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"afD" = (/obj/structure/holostool,/obj/structure/window/reinforced/holowindow{dir = 1},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"afE" = (/obj/machinery/door/window/holowindoor{base_state = "right"; dir = 1; icon_state = "right"; name = "Green Team"},/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_thunderdomecourt)
-"afF" = (/obj/structure/window/reinforced/holowindow{dir = 1},/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_boxingcourt)
-"afG" = (/obj/machinery/door/window/holowindoor{dir = 1; name = "Green Corner"},/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_boxingcourt)
-"afH" = (/obj/effect/step_trigger/thrower{direction = 1; name = "thrower_throwup"; tiles = 0},/turf/space,/area/space)
+"afH" = (/obj/effect/step_trigger/thrower{name = "thrower_throwup"; direction = 1; tiles = 0},/turf/space,/area/space)
"afI" = (/obj/effect/step_trigger/teleporter/random,/turf/space,/area/space)
-"afJ" = (/obj/machinery/door/airlock/glass_security{name = "Airlock"; req_access = list(150)},/obj/machinery/door/blast/regular{dir = 4; id = "syndicate_elite_mech_room"; name = "Mech Room Door"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
-"afK" = (/obj/machinery/button/remote/blast_door{id = "syndicate_elite_mech_room"; name = "Mech Access"; pixel_x = 32; req_access = list(150)},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
-"afL" = (/mob/living/silicon/decoy{icon_state = "ai-malf"; name = "GLaDOS"},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership/elite_squad)
+"afJ" = (/obj/machinery/door/airlock/glass_security{name = "Airlock"; req_access = list(150)},/obj/machinery/door/blast/regular{name = "Mech Room Door"; dir = 4; id = "syndicate_elite_mech_room"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
+"afK" = (/obj/machinery/button/remote/blast_door{name = "Mech Access"; pixel_x = 32; id = "syndicate_elite_mech_room"; req_access = list(150)},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
+"afL" = (/mob/living/silicon/decoy{name = "GLaDOS"; icon_state = "ai-malf"},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership/elite_squad)
"afM" = (/obj/item/device/radio/intercom/syndicate{dir = 8; pixel_x = 22},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership/elite_squad)
"afN" = (/turf/unsimulated/wall,/area/syndicate_mothership/elite_squad)
"afO" = (/turf/unsimulated/wall{icon_state = "riveted_straight"; dir = 8},/area/tdome)
-"afP" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 10},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_meetinghall)
-"afQ" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet,/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_meetinghall)
-"afR" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet{dir = 6},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_meetinghall)
-"afS" = (/turf/simulated/floor/holofloor/beach/water,/area/holodeck/source_beach)
"afT" = (/obj/effect/floor_decal/corner/red/three_quarters,/turf/simulated/floor/tiled/dark,/area/syndicate_mothership/elite_squad)
"afU" = (/obj/machinery/computer/shuttle_control/multi/elite_syndicate,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
-"afV" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1331; id_tag = "emerc_base"; name = "docking port controller"; pixel_y = -25; req_one_access = 150; tag_door = "emerc_airlock_dock_door"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
+"afV" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{name = "docking port controller"; pixel_y = -25; frequency = 1331; req_one_access = 150; id_tag = "emerc_base"; tag_door = "emerc_airlock_dock_door"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
"afW" = (/obj/effect/floor_decal/corner/red/three_quarters{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
"afX" = (/turf/space,/turf/simulated/shuttle/wall/corner/syndi/nw,/area/shuttle/syndicate_elite/mothership)
-"afY" = (/obj/effect/floor_decal/corner/green/three_quarters,/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"afZ" = (/obj/machinery/door/window/holowindoor{base_state = "right"; dir = 1; icon_state = "right"; name = "Green Team"},/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_basketball)
-"aga" = (/obj/effect/floor_decal/corner/green/three_quarters{dir = 4},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"agb" = (/obj/machinery/door/window/holowindoor{dir = 1; name = "Red Team"},/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_thunderdomecourt)
-"agc" = (/obj/item/reagent_containers/food/checker/knight{randpixel = 0},/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_chess)
-"agd" = (/obj/structure/table/holotable,/obj/machinery/readybutton,/obj/effect/floor_decal/corner/green/three_quarters{dir = 4},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt)
-"age" = (/obj/structure/table/holotable,/obj/item/clothing/gloves/boxing/hologlove{icon_state = "boxinggreen"; item_state = "boxinggreen"},/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_boxingcourt)
-"agf" = (/obj/machinery/door/airlock/external{frequency = 1331; icon_state = "door_locked"; id_tag = "emerc_airlock_dock_door"; locked = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
-"agg" = (/obj/structure/window/reinforced/crescent{dir = 1},/turf/unsimulated/wall{icon_state = "riveted_straight"; dir = 8},/area/space)
+"agf" = (/obj/machinery/door/airlock/external{icon_state = "door_locked"; frequency = 1331; locked = 1; id_tag = "emerc_airlock_dock_door"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
"agh" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor,/area/syndicate_mothership/elite_squad)
"agi" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor,/area/syndicate_mothership/elite_squad)
-"agj" = (/obj/machinery/door/airlock/external{frequency = 1331; icon_state = "door_locked"; id_tag = "emerc_airlock_dock_door"; locked = 1},/turf/simulated/floor,/area/syndicate_mothership/elite_squad)
+"agj" = (/obj/machinery/door/airlock/external{icon_state = "door_locked"; frequency = 1331; locked = 1; id_tag = "emerc_airlock_dock_door"},/turf/simulated/floor,/area/syndicate_mothership/elite_squad)
"agk" = (/obj/effect/step_trigger/teleporter/random/admin,/obj/effect/step_trigger/teleporter/random/admin,/turf/space/transit/north,/area/space)
-"agl" = (/turf/simulated/shuttle/wall/syndi{dir = 1; icon_state = "syndiwall_t"},/area/shuttle/syndicate_elite/mothership)
-"agm" = (/obj/structure/shuttle/engine/propulsion{dir = 1; icon_state = "propulsion_l"},/turf/simulated/floor/plating/airless,/area/shuttle/syndicate_elite/mothership)
-"agn" = (/obj/machinery/door/airlock/external{frequency = 1331; icon_state = "door_locked"; id_tag = "emerc_shuttle_outer"; locked = 1; name = "Ship External Access"; req_access = list(150)},/obj/machinery/shield_diffuser,/turf/simulated/floor/shuttle/red,/area/shuttle/syndicate_elite/mothership)
+"agl" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_t"; dir = 1},/area/shuttle/syndicate_elite/mothership)
+"agm" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"; dir = 1},/turf/simulated/floor/plating/airless,/area/shuttle/syndicate_elite/mothership)
+"agn" = (/obj/machinery/door/airlock/external{name = "Ship External Access"; icon_state = "door_locked"; frequency = 1331; locked = 1; req_access = list(150); id_tag = "emerc_shuttle_outer"},/obj/machinery/shield_diffuser,/turf/simulated/floor/shuttle/red,/area/shuttle/syndicate_elite/mothership)
"ago" = (/obj/structure/shuttle/engine/heater{dir = 1},/turf/simulated/floor/plating/airless,/area/shuttle/syndicate_elite/mothership)
"agp" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1331; id_tag = "emerc_shuttle_pump"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/shuttle/red,/area/shuttle/syndicate_elite/mothership)
"agq" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 1},/turf/simulated/floor/shuttle/red,/area/shuttle/syndicate_elite/mothership)
-"agr" = (/obj/machinery/airlock_sensor{frequency = 1331; id_tag = "emerc_shuttle_sensor"; pixel_y = 25},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1331; id_tag = "emerc_shuttle_pump"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/shuttle/red,/area/shuttle/syndicate_elite/mothership)
+"agr" = (/obj/machinery/airlock_sensor{pixel_y = 25; frequency = 1331; id_tag = "emerc_shuttle_sensor"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1331; id_tag = "emerc_shuttle_pump"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/shuttle/red,/area/shuttle/syndicate_elite/mothership)
"ags" = (/turf/space,/turf/simulated/shuttle/wall/corner/syndi/sw,/area/shuttle/syndicate_elite/mothership)
"agt" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1331; id_tag = "emerc_shuttle_pump"},/turf/simulated/floor/shuttle/red,/area/shuttle/syndicate_elite/mothership)
"agu" = (/obj/machinery/atmospherics/pipe/manifold4w/visible,/turf/simulated/floor/shuttle/red,/area/shuttle/syndicate_elite/mothership)
-"agv" = (/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1331; id_tag = "emerc_shuttle"; pixel_x = 25; req_access = list(150)},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1331; id_tag = "emerc_shuttle_pump"},/turf/simulated/floor/shuttle/red,/area/shuttle/syndicate_elite/mothership)
+"agv" = (/obj/machinery/embedded_controller/radio/airlock/docking_port{pixel_x = 25; frequency = 1331; req_access = list(150); id_tag = "emerc_shuttle"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1331; id_tag = "emerc_shuttle_pump"},/turf/simulated/floor/shuttle/red,/area/shuttle/syndicate_elite/mothership)
"agw" = (/turf/space,/turf/simulated/shuttle/wall/corner/syndi/se,/area/shuttle/syndicate_elite/mothership)
-"agx" = (/obj/machinery/door/airlock/external{frequency = 1331; icon_state = "door_locked"; id_tag = "emerc_shuttle_inner"; locked = 1; name = "Ship External Access"; req_access = list(150)},/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor/shuttle/red,/area/shuttle/syndicate_elite/mothership)
-"agy" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "elite_syndicate_ship"; name = "Shuttle Blast Shutters"; opacity = 0},/obj/structure/window/syndi{icon_state = "ws2"},/turf/simulated/floor/plating,/area/shuttle/syndicate_elite/mothership)
+"agx" = (/obj/machinery/door/airlock/external{name = "Ship External Access"; icon_state = "door_locked"; frequency = 1331; locked = 1; req_access = list(150); id_tag = "emerc_shuttle_inner"},/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor/shuttle/red,/area/shuttle/syndicate_elite/mothership)
+"agy" = (/obj/machinery/door/blast/regular{name = "Shuttle Blast Shutters"; icon_state = "pdoor0"; opacity = 0; density = 0; id = "elite_syndicate_ship"},/obj/structure/window/syndi{icon_state = "ws2"},/turf/simulated/floor/plating,/area/shuttle/syndicate_elite/mothership)
"agz" = (/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/machinery/atmospherics/portables_connector{dir = 4},/turf/simulated/floor/tiled/dark,/area/shuttle/syndicate_elite/mothership)
"agA" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/manifold/visible{dir = 1},/turf/simulated/floor/tiled/dark,/area/shuttle/syndicate_elite/mothership)
-"agB" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 9},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1331; master_tag = "emerc_shuttle"; name = "interior access button"; pixel_x = 25; pixel_y = 25; req_access = list(150)},/turf/simulated/floor/tiled/dark,/area/shuttle/syndicate_elite/mothership)
+"agB" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 9},/obj/machinery/access_button{name = "interior access button"; pixel_x = 25; pixel_y = 25; frequency = 1331; req_access = list(150); command = "cycle_interior"; master_tag = "emerc_shuttle"},/turf/simulated/floor/tiled/dark,/area/shuttle/syndicate_elite/mothership)
"agC" = (/turf/simulated/floor/tiled/dark,/area/shuttle/syndicate_elite/mothership)
"agD" = (/obj/effect/floor_decal/industrial/outline/grey,/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled/dark,/area/shuttle/syndicate_elite/mothership)
"agE" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 9},/turf/simulated/floor/tiled/dark,/area/shuttle/syndicate_elite/mothership)
@@ -344,60 +145,60 @@
"agI" = (/obj/structure/bed/chair{dir = 4},/obj/effect/floor_decal/corner/red{dir = 9},/obj/machinery/light/small{dir = 8},/obj/item/device/radio/intercom/syndicate{dir = 4; pixel_x = -22},/turf/simulated/floor/tiled/dark,/area/shuttle/syndicate_elite/mothership)
"agJ" = (/obj/structure/bed/chair{dir = 8},/obj/effect/floor_decal/corner/red{dir = 6},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/tiled/dark,/area/shuttle/syndicate_elite/mothership)
"agK" = (/turf/space,/turf/simulated/shuttle/wall/corner/syndi/nw{icon_state = "corner_syndiwall_s"},/area/syndicate_mothership/ninja)
-"agL" = (/turf/simulated/shuttle/wall/syndi{dir = 4; icon_state = "syndiwall_t"},/area/syndicate_mothership/ninja)
+"agL" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_t"; dir = 4},/area/syndicate_mothership/ninja)
"agM" = (/obj/structure/window_frame/indestructible,/turf/unsimulated/floor{name = "plating"},/area/rescue_base/base)
"agN" = (/turf/space,/turf/simulated/shuttle/wall/corner/syndi/ne{icon_state = "corner_syndiwall_s"},/area/syndicate_mothership/ninja)
"agO" = (/turf/simulated/floor/shuttle/red,/turf/simulated/shuttle/wall/corner/syndi/se{icon_state = "corner_syndiwall_s"},/area/syndicate_mothership/ninja)
"agP" = (/turf/simulated/floor/shuttle/red,/area/syndicate_mothership/ninja)
"agQ" = (/turf/simulated/floor/shuttle/red,/turf/simulated/shuttle/wall/corner/syndi/sw{icon_state = "corner_syndiwall_s"},/area/syndicate_mothership/ninja)
"agR" = (/turf/space/transit/north,/area/syndicate_station/transit)
-"agS" = (/obj/machinery/button/remote/blast_door{id = "elite_syndicate_ship"; name = "remote shutter control"; req_access = list(150)},/obj/structure/table/reinforced,/obj/effect/floor_decal/corner/red/three_quarters,/turf/simulated/floor/tiled/dark,/area/shuttle/syndicate_elite/mothership)
+"agS" = (/obj/machinery/button/remote/blast_door{name = "remote shutter control"; id = "elite_syndicate_ship"; req_access = list(150)},/obj/structure/table/reinforced,/obj/effect/floor_decal/corner/red/three_quarters,/turf/simulated/floor/tiled/dark,/area/shuttle/syndicate_elite/mothership)
"agT" = (/obj/structure/bed/chair,/obj/effect/shuttle_landmark/elite_syndicate/start,/obj/effect/floor_decal/corner/red{dir = 10},/turf/simulated/floor/tiled/dark,/area/shuttle/syndicate_elite/mothership)
"agU" = (/obj/structure/table/reinforced,/obj/machinery/recharger,/obj/effect/floor_decal/corner/red/three_quarters{dir = 4},/turf/simulated/floor/tiled/dark,/area/shuttle/syndicate_elite/mothership)
"agV" = (/obj/structure/bed/chair{dir = 1},/obj/effect/landmark/start/antags/ninja,/turf/simulated/floor/shuttle/red,/area/syndicate_mothership/ninja)
-"agW" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north,/area/space)
+"agW" = (/obj/effect/step_trigger/thrower{name = "thrower_throwdown"; tiles = 0; affect_ghosts = 1},/turf/space/transit/north,/area/space)
"agX" = (/obj/effect/step_trigger/teleporter/random/admin,/turf/space/transit/south,/area/space)
"agY" = (/obj/machinery/computer/shuttle_control/multi/elite_syndicate,/obj/effect/floor_decal/corner/red/full,/turf/simulated/floor/tiled/dark,/area/shuttle/syndicate_elite/mothership)
"agZ" = (/obj/effect/landmark/start/antags/ninja,/turf/simulated/floor/shuttle/red,/area/syndicate_mothership/ninja)
"aha" = (/obj/effect/shuttle_landmark/syndi/internim,/turf/space/transit/north,/area/syndicate_station/transit)
"ahb" = (/turf/space/transit/south,/area/space)
-"ahc" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "elite_syndicate_ship"; name = "Shuttle Blast Shutters"; opacity = 0},/obj/structure/window/syndi,/turf/simulated/floor/plating/airless,/area/shuttle/syndicate_elite/mothership)
+"ahc" = (/obj/machinery/door/blast/regular{name = "Shuttle Blast Shutters"; icon_state = "pdoor0"; opacity = 0; density = 0; id = "elite_syndicate_ship"},/obj/structure/window/syndi,/turf/simulated/floor/plating/airless,/area/shuttle/syndicate_elite/mothership)
"ahd" = (/obj/machinery/computer/teleporter,/turf/simulated/floor/plating,/area/syndicate_mothership/ninja)
+"ahe" = (/mob/living/simple_animal/tindalos{name = "Eddy"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/freezer,/area/merchant_station)
"ahf" = (/obj/machinery/teleporter_gate,/turf/simulated/floor/plating,/area/syndicate_mothership/ninja)
-"ahg" = (/obj/structure/window/reinforced/crescent{dir = 8},/obj/structure/window/reinforced/crescent{dir = 1},/turf/unsimulated/wall{icon_state = "riveted_l"},/area/space)
-"ahh" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 1; name = "thrower_throwupsidenostop"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north,/area/space)
+"ahh" = (/obj/effect/step_trigger/thrower{name = "thrower_throwupsidenostop"; direction = 1; tiles = 0; affect_ghosts = 1; stopper = 0; nostop = 1},/turf/space/transit/north,/area/space)
"ahi" = (/turf/space,/turf/simulated/shuttle/wall/corner/syndi/sw,/area/syndicate_mothership/ninja)
"ahj" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"},/turf/space,/area/syndicate_mothership/ninja)
"ahk" = (/obj/structure/shuttle/engine/propulsion,/turf/space,/area/syndicate_mothership/ninja)
"ahl" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"},/turf/space,/area/syndicate_mothership/ninja)
"ahm" = (/turf/space,/turf/simulated/shuttle/wall/corner/syndi/se,/area/syndicate_mothership/ninja)
"ahn" = (/obj/effect/shuttle_landmark/skipjack/internim,/turf/space/transit/north,/area/space)
-"ahs" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 1; name = "thrower_throwupsidenostop"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/south,/area/space)
-"aht" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/south,/area/space)
+"ahs" = (/obj/effect/step_trigger/thrower{name = "thrower_throwupsidenostop"; direction = 1; tiles = 0; affect_ghosts = 1; stopper = 0; nostop = 1},/turf/space/transit/south,/area/space)
+"aht" = (/obj/effect/step_trigger/thrower{name = "thrower_throwdown"; tiles = 0; affect_ghosts = 1},/turf/space/transit/south,/area/space)
"ahu" = (/turf/space/transit/south,/area/shuttle/syndicate_elite/transit)
-"ahv" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/east,/area/space)
+"ahv" = (/obj/effect/step_trigger/thrower{name = "thrower_escapeshuttletop(left)"; direction = 8; tiles = 0; affect_ghosts = 1},/turf/space/transit/east,/area/space)
"ahw" = (/turf/space/transit/east,/area/shuttle/administration/transit)
"ahx" = (/obj/effect/shuttle_landmark/elite_syndicate/internim,/turf/space/transit/south,/area/shuttle/syndicate_elite/transit)
-"ahy" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/east,/area/space)
+"ahy" = (/obj/effect/step_trigger/thrower{name = "thrower_escapeshuttletop(right)"; direction = 4; tiles = 0; affect_ghosts = 1},/turf/space/transit/east,/area/space)
"ahz" = (/obj/effect/shuttle_landmark/administration/internim,/turf/space/transit/east,/area/shuttle/administration/transit)
-"ahA" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/east,/area/space)
+"ahA" = (/obj/effect/step_trigger/thrower{name = "thrower_throwdown"; tiles = 0; affect_ghosts = 1},/turf/space/transit/east,/area/space)
"ahB" = (/turf/space/transit/east,/area/shuttle/deathsquad/transit)
"ahC" = (/obj/effect/shuttle_landmark/deathsquad/internim,/turf/space/transit/east,/area/shuttle/deathsquad/transit)
"ahD" = (/turf/space/transit/south,/area/shuttle/merchant/transit)
"ahE" = (/obj/effect/shuttle_landmark/merchant/internim,/turf/space/transit/south,/area/shuttle/merchant/transit)
-"ahF" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_throwdown"; tiles = 0},/obj/effect/step_trigger/teleporter/random/admin,/obj/effect/step_trigger/teleporter/random/admin,/turf/space,/area/space)
-"ahG" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_throwdown"; tiles = 0},/obj/effect/step_trigger/teleporter/random/admin,/turf/space,/area/space)
-"ahH" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/south,/area/space)
-"ahI" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/south,/area/space)
+"ahF" = (/obj/effect/step_trigger/thrower{name = "thrower_throwdown"; tiles = 0; affect_ghosts = 1},/obj/effect/step_trigger/teleporter/random/admin,/obj/effect/step_trigger/teleporter/random/admin,/turf/space,/area/space)
+"ahG" = (/obj/effect/step_trigger/thrower{name = "thrower_throwdown"; tiles = 0; affect_ghosts = 1},/obj/effect/step_trigger/teleporter/random/admin,/turf/space,/area/space)
+"ahH" = (/obj/effect/step_trigger/thrower{name = "thrower_escapeshuttletop(left)"; direction = 8; tiles = 0; affect_ghosts = 1},/turf/space/transit/south,/area/space)
+"ahI" = (/obj/effect/step_trigger/thrower{name = "thrower_escapeshuttletop(right)"; direction = 4; tiles = 0; affect_ghosts = 1},/turf/space/transit/south,/area/space)
"ahJ" = (/turf/unsimulated/mineral,/area/rescue_base/base)
"ahK" = (/turf/unsimulated/wall,/area/rescue_base/base)
-"ahL" = (/turf/unsimulated/wall{desc = "A secure airlock. Doesn't look like you can get through easily."; icon = 'icons/obj/doors/doorele.dmi'; icon_state = "door_locked"; name = "Facility Access"},/area/rescue_base/base)
+"ahL" = (/turf/unsimulated/wall{name = "Facility Access"; desc = "A secure airlock. Doesn't look like you can get through easily."; icon = 'icons/obj/doors/doorele.dmi'; icon_state = "door_locked"},/area/rescue_base/base)
"ahM" = (/obj/structure/table/steel_reinforced,/obj/item/material/hatchet/tacknife,/turf/unsimulated/floor{icon_state = "dark"},/area/rescue_base/base)
"ahN" = (/obj/structure/table/steel_reinforced,/obj/item/storage/firstaid/regular,/turf/unsimulated/floor{icon_state = "dark"},/area/rescue_base/base)
"ahO" = (/obj/machinery/floodlight,/turf/unsimulated/floor{icon_state = "dark"},/area/rescue_base/base)
"ahP" = (/obj/structure/table/steel_reinforced,/obj/item/storage/box/bodybags,/turf/unsimulated/floor{icon_state = "dark"},/area/rescue_base/base)
"ahQ" = (/obj/structure/table/steel_reinforced,/obj/item/storage/firstaid/surgery,/turf/unsimulated/floor{icon_state = "dark"},/area/rescue_base/base)
-"ahR" = (/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/rescue_base/base)
+"ahR" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
"ahS" = (/obj/structure/table/steel_reinforced,/obj/item/device/taperecorder,/turf/unsimulated/floor{icon_state = "dark"},/area/rescue_base/base)
"ahT" = (/turf/unsimulated/floor{icon_state = "dark"},/area/rescue_base/base)
"ahU" = (/obj/structure/table/steel_reinforced,/obj/item/bikehorn/rubberducky,/turf/unsimulated/floor{icon_state = "dark"},/area/rescue_base/base)
@@ -408,11 +209,11 @@
"ahZ" = (/obj/structure/bed/chair,/turf/unsimulated/floor{icon_state = "dark"},/area/rescue_base/base)
"aia" = (/obj/structure/table/steel_reinforced,/obj/item/material/twohanded/baseballbat/metal,/obj/item/material/hatchet,/turf/unsimulated/floor{icon_state = "dark"},/area/rescue_base/base)
"aib" = (/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/rescue_base/base)
-"aic" = (/obj/item/aiModule/nanotrasen,/obj/item/aiModule/reset,/obj/item/aiModule/freeformcore,/obj/item/aiModule/protectStation,/obj/item/aiModule/quarantine,/obj/item/aiModule/paladin,/obj/item/aiModule/robocop,/obj/item/aiModule/safeguard,/obj/structure/table/rack,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"aid" = (/obj/structure/table/rack,/obj/item/plastique,/obj/item/plastique,/obj/item/plastique,/obj/item/plastique,/obj/item/plastique,/obj/item/plastique,/obj/item/plastique,/obj/item/plastique,/obj/item/plastique,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"aie" = (/obj/structure/table/rack,/obj/item/gun/projectile/shotgun/pump/combat,/obj/item/gun/projectile/shotgun/pump/combat,/obj/item/device/radio/intercom/specops{pixel_y = 22},/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"aif" = (/obj/structure/table/reinforced,/obj/item/roller,/obj/item/roller,/obj/item/roller,/obj/item/roller,/obj/item/roller,/obj/item/roller,/obj/item/storage/firstaid/surgery,/obj/item/storage/firstaid/surgery,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"aig" = (/obj/structure/table/rack,/obj/item/gun/energy/rifle,/obj/item/gun/energy/rifle,/obj/item/gun/energy/rifle,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
+"aic" = (/obj/item/aiModule/nanotrasen,/obj/item/aiModule/reset,/obj/item/aiModule/freeformcore,/obj/item/aiModule/protectStation,/obj/item/aiModule/quarantine,/obj/item/aiModule/paladin,/obj/item/aiModule/robocop,/obj/item/aiModule/safeguard,/obj/structure/table/rack,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"aid" = (/obj/structure/table/rack,/obj/item/plastique,/obj/item/plastique,/obj/item/plastique,/obj/item/plastique,/obj/item/plastique,/obj/item/plastique,/obj/item/plastique,/obj/item/plastique,/obj/item/plastique,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"aie" = (/obj/structure/table/rack,/obj/item/gun/projectile/shotgun/pump/combat,/obj/item/gun/projectile/shotgun/pump/combat,/obj/item/device/radio/intercom/specops{pixel_y = 22},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"aif" = (/obj/structure/table/reinforced,/obj/item/roller,/obj/item/roller,/obj/item/roller,/obj/item/roller,/obj/item/roller,/obj/item/roller,/obj/item/storage/firstaid/surgery,/obj/item/storage/firstaid/surgery,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"aig" = (/obj/structure/table/rack,/obj/item/gun/energy/rifle,/obj/item/gun/energy/rifle,/obj/item/gun/energy/rifle,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"aih" = (/obj/structure/table/steel_reinforced,/obj/item/reagent_containers/syringe/drugs{pixel_x = 3; pixel_y = -1},/obj/item/reagent_containers/syringe/drugs{pixel_x = 3; pixel_y = 4},/obj/item/reagent_containers/syringe/drugs{pixel_x = 3; pixel_y = 9},/turf/unsimulated/floor{icon_state = "dark"},/area/rescue_base/base)
"aii" = (/obj/structure/table/steel_reinforced,/obj/item/storage/belt/utility/full,/obj/item/device/assembly/igniter,/turf/unsimulated/floor{icon_state = "dark"},/area/rescue_base/base)
"aij" = (/obj/structure/mopbucket,/obj/item/mop,/obj/effect/floor_decal/corner/blue/diagonal,/obj/structure/sink/kitchen{pixel_y = 21},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/rescue_base/base)
@@ -424,18 +225,17 @@
"aip" = (/obj/machinery/door/airlock/centcom{name = "Stall"; opacity = 1; req_access = list(103)},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/rescue_base/base)
"aiq" = (/obj/structure/mirror,/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 1},/area/rescue_base/base)
"air" = (/obj/machinery/door/airlock/centcom{name = "Showers"; opacity = 1; req_access = list(103)},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/rescue_base/base)
-"ais" = (/obj/structure/table/rack,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"ait" = (/obj/item/device/radio/intercom/specops{pixel_y = 22},/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/rescue_base/base)
-"aiu" = (/obj/structure/table/rack,/obj/item/circuitboard/borgupload,/obj/item/circuitboard/aiupload{pixel_x = -3; pixel_y = -3},/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"aiv" = (/obj/structure/table/rack,/obj/item/gun/projectile/automatic/wt550,/obj/item/gun/projectile/automatic/wt550,/obj/item/gun/projectile/automatic/wt550,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
+"ais" = (/obj/structure/table/rack,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"ait" = (/obj/item/device/radio/intercom/specops{pixel_y = 22},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
+"aiu" = (/obj/structure/table/rack,/obj/item/circuitboard/borgupload,/obj/item/circuitboard/aiupload{pixel_x = -3; pixel_y = -3},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"aiv" = (/obj/structure/table/rack,/obj/item/gun/projectile/automatic/wt550,/obj/item/gun/projectile/automatic/wt550,/obj/item/gun/projectile/automatic/wt550,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"aiw" = (/obj/machinery/door/airlock/centcom{name = "Processing"; opacity = 1; req_access = list(103)},/turf/unsimulated/floor{icon_state = "dark"},/area/rescue_base/base)
"aix" = (/obj/effect/floor_decal/corner/blue/diagonal,/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/rescue_base/base)
"aiy" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/machinery/door/airlock/centcom{name = "Storage"; opacity = 1; req_access = list(103)},/turf/unsimulated/floor{icon_state = "white"},/area/rescue_base/base)
"aiz" = (/obj/machinery/door/airlock/centcom{name = "Head"; opacity = 1; req_access = list(103)},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/rescue_base/base)
"aiA" = (/obj/structure/sink{dir = 1; pixel_y = 16},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/rescue_base/base)
-"aiB" = (/obj/structure/table/rack,/obj/item/gun/projectile/automatic/l6_saw,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"aiC" = (/obj/structure/window/reinforced/crescent{dir = 4},/obj/structure/window/reinforced/crescent{dir = 1},/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 8},/area/space)
-"aiD" = (/obj/structure/table/rack,/obj/item/ammo_magazine/mc9mmt/rubber,/obj/item/ammo_magazine/mc9mmt/rubber,/obj/item/ammo_magazine/mc9mmt/rubber,/obj/item/ammo_magazine/mc9mmt/rubber,/obj/item/ammo_magazine/mc9mmt/rubber,/obj/item/ammo_magazine/mc9mmt/rubber,/obj/item/ammo_magazine/mc9mmt/rubber,/obj/item/ammo_magazine/mc9mmt/rubber,/obj/item/ammo_magazine/mc9mmt/rubber,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
+"aiB" = (/obj/structure/table/rack,/obj/item/gun/projectile/automatic/l6_saw,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"aiD" = (/obj/structure/table/rack,/obj/item/ammo_magazine/mc9mmt/rubber,/obj/item/ammo_magazine/mc9mmt/rubber,/obj/item/ammo_magazine/mc9mmt/rubber,/obj/item/ammo_magazine/mc9mmt/rubber,/obj/item/ammo_magazine/mc9mmt/rubber,/obj/item/ammo_magazine/mc9mmt/rubber,/obj/item/ammo_magazine/mc9mmt/rubber,/obj/item/ammo_magazine/mc9mmt/rubber,/obj/item/ammo_magazine/mc9mmt/rubber,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"aiE" = (/obj/structure/window_frame/indestructible/hull,/turf/unsimulated/floor{name = "plating"},/area/rescue_base/base)
"aiF" = (/obj/structure/table/reinforced,/obj/item/storage/box/handcuffs,/turf/unsimulated/floor{icon_state = "dark"},/area/rescue_base/base)
"aiG" = (/obj/structure/table/reinforced,/obj/machinery/recharger{pixel_y = 4},/obj/item/device/radio/intercom/specops{pixel_y = 22},/turf/unsimulated/floor{icon_state = "dark"},/area/rescue_base/base)
@@ -444,11 +244,11 @@
"aiJ" = (/obj/structure/grille,/obj/structure/lattice,/turf/space,/area/space)
"aiK" = (/obj/structure/lattice,/turf/space,/area/space)
"aiL" = (/obj/effect/floor_decal/corner/blue/diagonal,/turf/unsimulated/floor{icon_state = "white"},/area/rescue_base/base)
-"aiM" = (/obj/structure/table/rack,/obj/item/rig/ert/assetprotection,/obj/item/rig/ert/assetprotection,/obj/item/rig/ert/assetprotection,/obj/item/rig/ert/assetprotection,/obj/item/rig/ert/assetprotection,/obj/item/rig/ert/assetprotection,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"aiN" = (/obj/structure/table/rack,/obj/item/ammo_magazine/mc9mmt,/obj/item/ammo_magazine/mc9mmt,/obj/item/ammo_magazine/mc9mmt,/obj/item/ammo_magazine/mc9mmt,/obj/item/ammo_magazine/mc9mmt,/obj/item/ammo_magazine/mc9mmt,/obj/item/ammo_magazine/mc9mmt,/obj/item/ammo_magazine/mc9mmt,/obj/item/ammo_magazine/mc9mmt,/obj/item/ammo_magazine/mc9mmt,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
+"aiM" = (/obj/structure/table/rack,/obj/item/rig/ert/assetprotection,/obj/item/rig/ert/assetprotection,/obj/item/rig/ert/assetprotection,/obj/item/rig/ert/assetprotection,/obj/item/rig/ert/assetprotection,/obj/item/rig/ert/assetprotection,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"aiN" = (/obj/structure/table/rack,/obj/item/ammo_magazine/mc9mmt,/obj/item/ammo_magazine/mc9mmt,/obj/item/ammo_magazine/mc9mmt,/obj/item/ammo_magazine/mc9mmt,/obj/item/ammo_magazine/mc9mmt,/obj/item/ammo_magazine/mc9mmt,/obj/item/ammo_magazine/mc9mmt,/obj/item/ammo_magazine/mc9mmt,/obj/item/ammo_magazine/mc9mmt,/obj/item/ammo_magazine/mc9mmt,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"aiO" = (/obj/structure/bed/chair/office/dark{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/rescue_base/base)
"aiP" = (/obj/structure/table/reinforced,/obj/item/device/flash,/turf/unsimulated/floor{icon_state = "dark"},/area/rescue_base/base)
-"aiQ" = (/turf/unsimulated/floor{dir = 9; icon_state = "vault"},/area/rescue_base/base)
+"aiQ" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 9},/area/rescue_base/base)
"aiR" = (/obj/machinery/door/airlock/centcom{name = "Cell 2"; opacity = 1; req_access = list(103)},/turf/unsimulated/floor{icon_state = "dark"},/area/rescue_base/base)
"aiS" = (/obj/machinery/vending/dinnerware,/obj/effect/floor_decal/corner/blue/diagonal,/turf/unsimulated/floor{icon_state = "white"},/area/rescue_base/base)
"aiT" = (/obj/structure/table/rack,/obj/item/device/lightreplacer,/obj/item/device/lightreplacer,/obj/effect/floor_decal/corner/blue/diagonal,/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/rescue_base/base)
@@ -459,26 +259,26 @@
"aiY" = (/turf/unsimulated/floor{icon_state = "asteroid"},/area/rescue_base/base)
"aiZ" = (/turf/unsimulated/floor{icon_state = "asteroidplating"},/area/rescue_base/base)
"aja" = (/obj/structure/flora/ausbushes/fullgrass,/turf/unsimulated/floor{icon_state = "asteroidplating"},/area/rescue_base/base)
-"ajb" = (/obj/structure/table/rack,/obj/item/gun/projectile/automatic/z8,/obj/item/gun/projectile/automatic/z8,/obj/item/grenade/frag/shell,/obj/item/grenade/frag/shell,/obj/item/grenade/frag/shell,/obj/item/grenade/frag/shell,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"ajc" = (/obj/machinery/door/airlock/centcom{name = "Restricted Equipment"; opacity = 1; req_access = list(103)},/obj/machinery/door/blast/regular/singulo{dir = 4; id = "heavyrescue"; name = "Restricted Equipment"},/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/rescue_base/base)
-"ajd" = (/obj/structure/table/rack,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
+"ajb" = (/obj/structure/table/rack,/obj/item/gun/projectile/automatic/z8,/obj/item/gun/projectile/automatic/z8,/obj/item/grenade/frag/shell,/obj/item/grenade/frag/shell,/obj/item/grenade/frag/shell,/obj/item/grenade/frag/shell,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"ajc" = (/obj/machinery/door/airlock/centcom{name = "Restricted Equipment"; opacity = 1; req_access = list(103)},/obj/machinery/door/blast/regular/singulo{name = "Restricted Equipment"; dir = 4; id = "heavyrescue"},/obj/effect/forcefield{name = "Blocker"; desc = "You can't get in. Heh."; layer = 1},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
+"ajd" = (/obj/structure/table/rack,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"aje" = (/obj/structure/table/reinforced,/obj/item/device/camera,/turf/unsimulated/floor{icon_state = "dark"},/area/rescue_base/base)
"ajf" = (/obj/item/stool,/turf/unsimulated/floor{icon_state = "dark"},/area/rescue_base/base)
"ajg" = (/obj/structure/table/standard,/obj/item/paper,/obj/item/pen,/turf/unsimulated/floor{icon_state = "dark"},/area/rescue_base/base)
"ajh" = (/obj/machinery/door/airlock/centcom{name = "Galley"; opacity = 1; req_access = list(103)},/turf/unsimulated/floor{icon_state = "dark"},/area/rescue_base/base)
"aji" = (/obj/structure/flora/ausbushes/fullgrass,/turf/unsimulated/floor{icon_state = "asteroid"},/area/rescue_base/base)
-"ajj" = (/obj/structure/table/rack,/obj/item/gun/launcher/grenade,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"ajk" = (/obj/structure/table/rack,/obj/item/storage/box/flashbangs,/obj/item/storage/box/flashbangs,/obj/item/storage/box/teargas,/obj/item/storage/box/teargas,/obj/item/storage/box/emps,/obj/item/storage/box/emps,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
+"ajj" = (/obj/structure/table/rack,/obj/item/gun/launcher/grenade,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"ajk" = (/obj/structure/table/rack,/obj/item/storage/box/flashbangs,/obj/item/storage/box/flashbangs,/obj/item/storage/box/teargas,/obj/item/storage/box/teargas,/obj/item/storage/box/emps,/obj/item/storage/box/emps,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"ajl" = (/obj/structure/lattice,/obj/structure/window_frame/grille,/turf/space,/area/space)
-"ajm" = (/obj/item/clothing/under/ert,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/head/beret/centcom/officer,/obj/item/clothing/mask/balaclava,/obj/item/material/coin/silver,/obj/structure/closet{icon_closed = "syndicate1"; icon_opened = "syndicate1open"; icon_state = "syndicate1"; name = "emergency response team wardrobe"},/obj/item/clothing/under/tactical,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"ajn" = (/obj/structure/bed/padded,/obj/item/bedsheet/captain,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"ajo" = (/obj/structure/bed/padded,/obj/item/bedsheet/captain,/obj/item/device/radio/intercom/specops{pixel_y = 22},/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"ajp" = (/obj/machinery/vending/coffee{prices = list()},/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"ajq" = (/obj/machinery/door/airlock/centcom{name = "Combat Exosuit"; opacity = 1; req_access = list(103)},/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/obj/machinery/door/blast/regular/singulo{dir = 4; id = "heavyrescue"; name = "Combat Exosuit"},/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/rescue_base/base)
+"ajm" = (/obj/item/clothing/under/ert,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/head/beret/centcom/officer,/obj/item/clothing/mask/balaclava,/obj/item/material/coin/silver,/obj/structure/closet{name = "emergency response team wardrobe"; icon_state = "syndicate1"; icon_closed = "syndicate1"; icon_opened = "syndicate1open"},/obj/item/clothing/under/tactical,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"ajn" = (/obj/structure/bed/padded,/obj/item/bedsheet/captain,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"ajo" = (/obj/structure/bed/padded,/obj/item/bedsheet/captain,/obj/item/device/radio/intercom/specops{pixel_y = 22},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"ajp" = (/obj/machinery/vending/coffee{prices = list()},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"ajq" = (/obj/machinery/door/airlock/centcom{name = "Combat Exosuit"; opacity = 1; req_access = list(103)},/obj/effect/forcefield{name = "Blocker"; desc = "You can't get in. Heh."; layer = 1},/obj/machinery/door/blast/regular/singulo{name = "Combat Exosuit"; dir = 4; id = "heavyrescue"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
"ajr" = (/obj/machinery/door/airlock/centcom{name = "Detention"; opacity = 1; req_access = list(103)},/turf/unsimulated/floor{icon_state = "dark"},/area/rescue_base/base)
"ajs" = (/obj/structure/lattice,/obj/structure/window_frame/broken,/turf/space,/area/space)
"ajt" = (/turf/unsimulated/wall,/area/syndicate_mothership)
-"aju" = (/obj/effect/landmark/start/antags/ert,/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/rescue_base/base)
+"aju" = (/obj/effect/landmark/start/antags/ert,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
"ajv" = (/obj/machinery/door/airlock/centcom{name = "Squad Bay"; opacity = 1; req_access = list(103)},/turf/unsimulated/floor{icon_state = "dark"},/area/rescue_base/base)
"ajw" = (/obj/machinery/door/airlock/centcom{name = "Cell 1"; opacity = 1; req_access = list(103)},/turf/unsimulated/floor{icon_state = "dark"},/area/rescue_base/base)
"ajx" = (/obj/structure/table/standard,/obj/item/device/flashlight/lamp{pixel_x = 4; pixel_y = 8},/obj/item/pen{pixel_y = 4},/turf/unsimulated/floor{icon_state = "lino"},/area/syndicate_mothership)
@@ -489,76 +289,72 @@
"ajC" = (/obj/structure/bed,/obj/item/bedsheet/hos,/turf/unsimulated/floor{icon_state = "lino"},/area/syndicate_mothership)
"ajD" = (/obj/effect/landmark/start/antags/operatives,/turf/unsimulated/floor{icon_state = "lino"},/area/syndicate_mothership)
"ajE" = (/turf/unsimulated/floor{icon_state = "lino"},/area/syndicate_mothership)
-"ajF" = (/obj/structure/undies_wardrobe,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
+"ajF" = (/obj/structure/undies_wardrobe,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"ajG" = (/obj/vehicle/bike/electric,/obj/effect/floor_decal/industrial/hatch/red,/obj/effect/floor_decal/industrial/warning/full,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
-"ajH" = (/obj/machinery/door/airlock/centcom{name = "Ready Room"; opacity = 1; req_access = list(103)},/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/rescue_base/base)
-"ajI" = (/obj/structure/table/rack,/obj/item/storage/box/handcuffs,/obj/item/storage/box/handcuffs,/obj/item/storage/box/teargas,/obj/item/storage/box/teargas,/obj/item/storage/box/flashbangs,/obj/item/storage/box/flashbangs,/obj/item/device/flash,/obj/item/device/flash,/obj/item/melee/baton/loaded,/obj/item/melee/baton/loaded,/obj/item/reagent_containers/spray/pepper,/obj/item/reagent_containers/spray/pepper,/obj/item/gun/energy/stunrevolver,/obj/item/gun/energy/stunrevolver,/obj/item/melee/telebaton,/obj/item/melee/telebaton,/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = 32},/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"ajJ" = (/obj/structure/table/rack,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/glasses/hud/scanners/night,/obj/item/clothing/glasses/hud/scanners/night,/obj/item/clothing/glasses/tacgoggles,/obj/item/clothing/glasses/tacgoggles,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"ajK" = (/obj/structure/table/rack,/obj/item/storage/backpack/ert/security,/obj/item/storage/backpack/ert/security,/obj/item/storage/belt/security/tactical,/obj/item/storage/belt/security/tactical,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"ajL" = (/obj/structure/table/rack,/obj/item/gun/energy/rifle,/obj/item/gun/energy/rifle,/obj/item/gun/energy/rifle,/obj/item/gun/energy/rifle,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"ajM" = (/obj/structure/table/rack,/obj/item/clothing/suit/armor/vest/ert/security,/obj/item/clothing/head/helmet/ert/security,/obj/item/clothing/suit/armor/vest/ert/security,/obj/item/clothing/head/helmet/ert/security,/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = 32},/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"ajN" = (/obj/structure/table/rack,/obj/item/clothing/suit/armor/vest/ert/medical,/obj/item/clothing/head/helmet/ert/medical,/obj/item/clothing/suit/armor/vest/ert/medical,/obj/item/clothing/head/helmet/ert/medical,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"ajO" = (/obj/structure/table/rack,/obj/item/gun/energy/stunrevolver,/obj/item/gun/energy/stunrevolver,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"ajP" = (/obj/structure/table/rack,/obj/item/storage/backpack/ert/medical,/obj/item/storage/backpack/ert/medical,/obj/item/storage/belt/medical,/obj/item/storage/belt/medical,/obj/item/storage/belt/medical/emt,/obj/item/storage/belt/medical/emt,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"ajQ" = (/obj/structure/table/rack,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/storage/box/gloves,/obj/item/storage/box/gloves,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"ajR" = (/obj/structure/table/rack,/obj/item/device/flash,/obj/item/device/flash,/obj/item/melee/baton/loaded,/obj/item/melee/baton/loaded,/obj/item/storage/box/syringes,/obj/item/storage/box/syringes,/obj/item/storage/box/autoinjectors,/obj/item/storage/box/autoinjectors,/obj/item/storage/box/beakers,/obj/item/storage/box/beakers,/obj/item/storage/box/pillbottles,/obj/item/storage/box/pillbottles,/obj/item/storage/box/bodybags,/obj/item/storage/box/bodybags,/obj/item/storage/box/syringegun,/obj/item/storage/box/syringegun,/obj/item/storage/box/syringegun,/obj/item/storage/box/syringegun,/obj/item/gun/launcher/syringe/rapid,/obj/item/gun/launcher/syringe/rapid,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"ajS" = (/obj/structure/table/reinforced,/obj/item/reagent_containers/hypospray,/obj/item/reagent_containers/hypospray,/obj/item/reagent_containers/hypospray,/obj/item/reagent_containers/hypospray,/obj/item/reagent_containers/hypospray,/obj/item/reagent_containers/hypospray,/obj/item/reagent_containers/vessel/beaker/large,/obj/item/reagent_containers/vessel/bottle/chemical/inaprovaline,/obj/item/reagent_containers/vessel/bottle/chemical/inaprovaline,/obj/item/reagent_containers/vessel/bottle/chemical/inaprovaline,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"ajT" = (/obj/structure/window/reinforced/crescent{dir = 8},/obj/structure/window/reinforced/crescent{dir = 4},/turf/unsimulated/wall{icon_state = "riveted_straight"},/area/space)
-"ajU" = (/obj/structure/window/reinforced/crescent{dir = 8},/obj/structure/window/reinforced/crescent,/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 1},/area/space)
-"ajV" = (/obj/structure/window/reinforced/crescent{dir = 4},/obj/structure/window/reinforced/crescent,/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 4},/area/space)
-"ajW" = (/obj/structure/table/rack,/obj/item/cell/high,/obj/item/cell/high,/obj/item/cell/high,/obj/item/cell/high,/obj/item/cell/high,/obj/item/cell/high,/obj/item/device/radio/intercom/specops{pixel_y = 22},/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"ajX" = (/obj/structure/table/rack,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
+"ajH" = (/obj/machinery/door/airlock/centcom{name = "Ready Room"; opacity = 1; req_access = list(103)},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
+"ajI" = (/obj/structure/table/rack,/obj/item/storage/box/handcuffs,/obj/item/storage/box/handcuffs,/obj/item/storage/box/teargas,/obj/item/storage/box/teargas,/obj/item/storage/box/flashbangs,/obj/item/storage/box/flashbangs,/obj/item/device/flash,/obj/item/device/flash,/obj/item/melee/baton/loaded,/obj/item/melee/baton/loaded,/obj/item/reagent_containers/spray/pepper,/obj/item/reagent_containers/spray/pepper,/obj/item/gun/energy/stunrevolver,/obj/item/gun/energy/stunrevolver,/obj/item/melee/telebaton,/obj/item/melee/telebaton,/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = 32},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"ajJ" = (/obj/structure/table/rack,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/glasses/hud/scanners/night,/obj/item/clothing/glasses/hud/scanners/night,/obj/item/clothing/glasses/tacgoggles,/obj/item/clothing/glasses/tacgoggles,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"ajK" = (/obj/structure/table/rack,/obj/item/storage/backpack/ert/security,/obj/item/storage/backpack/ert/security,/obj/item/storage/belt/security/tactical,/obj/item/storage/belt/security/tactical,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"ajL" = (/obj/structure/table/rack,/obj/item/gun/energy/rifle,/obj/item/gun/energy/rifle,/obj/item/gun/energy/rifle,/obj/item/gun/energy/rifle,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"ajM" = (/obj/structure/table/rack,/obj/item/clothing/suit/armor/vest/ert/security,/obj/item/clothing/head/helmet/ert/security,/obj/item/clothing/suit/armor/vest/ert/security,/obj/item/clothing/head/helmet/ert/security,/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = 32},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"ajN" = (/obj/structure/table/rack,/obj/item/clothing/suit/armor/vest/ert/medical,/obj/item/clothing/head/helmet/ert/medical,/obj/item/clothing/suit/armor/vest/ert/medical,/obj/item/clothing/head/helmet/ert/medical,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"ajO" = (/obj/structure/table/rack,/obj/item/gun/energy/stunrevolver,/obj/item/gun/energy/stunrevolver,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"ajP" = (/obj/structure/table/rack,/obj/item/storage/backpack/ert/medical,/obj/item/storage/backpack/ert/medical,/obj/item/storage/belt/medical,/obj/item/storage/belt/medical,/obj/item/storage/belt/medical/emt,/obj/item/storage/belt/medical/emt,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"ajQ" = (/obj/structure/table/rack,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/storage/box/gloves,/obj/item/storage/box/gloves,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"ajR" = (/obj/structure/table/rack,/obj/item/device/flash,/obj/item/device/flash,/obj/item/melee/baton/loaded,/obj/item/melee/baton/loaded,/obj/item/storage/box/syringes,/obj/item/storage/box/syringes,/obj/item/storage/box/autoinjectors,/obj/item/storage/box/autoinjectors,/obj/item/storage/box/beakers,/obj/item/storage/box/beakers,/obj/item/storage/box/pillbottles,/obj/item/storage/box/pillbottles,/obj/item/storage/box/bodybags,/obj/item/storage/box/bodybags,/obj/item/storage/box/syringegun,/obj/item/storage/box/syringegun,/obj/item/storage/box/syringegun,/obj/item/storage/box/syringegun,/obj/item/gun/launcher/syringe/rapid,/obj/item/gun/launcher/syringe/rapid,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"ajS" = (/obj/structure/table/reinforced,/obj/item/reagent_containers/hypospray,/obj/item/reagent_containers/hypospray,/obj/item/reagent_containers/hypospray,/obj/item/reagent_containers/hypospray,/obj/item/reagent_containers/hypospray,/obj/item/reagent_containers/hypospray,/obj/item/reagent_containers/vessel/beaker/large,/obj/item/reagent_containers/vessel/bottle/chemical/inaprovaline,/obj/item/reagent_containers/vessel/bottle/chemical/inaprovaline,/obj/item/reagent_containers/vessel/bottle/chemical/inaprovaline,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"ajW" = (/obj/structure/table/rack,/obj/item/cell/high,/obj/item/cell/high,/obj/item/cell/high,/obj/item/cell/high,/obj/item/cell/high,/obj/item/cell/high,/obj/item/device/radio/intercom/specops{pixel_y = 22},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"ajX" = (/obj/structure/table/rack,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"ajY" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced/crescent{dir = 1},/turf/simulated/floor/plating/airless,/area/syndicate_mothership/ninja)
-"ajZ" = (/obj/machinery/turret/network/centcomm,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"aka" = (/obj/structure/table/rack,/obj/item/rig/ert/medical,/obj/structure/window/reinforced/crescent{dir = 1},/obj/structure/window/reinforced/crescent{dir = 8},/obj/item/clothing/accessory/holochip/ert,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"akb" = (/obj/item/folder{pixel_y = 2},/obj/structure/table/glass,/obj/item/flame/lighter/zippo/syndie,/obj/item/deck/cards,/obj/item/music_tape_box/syndie,/turf/unsimulated/floor{icon_state = "cult"; name = "plating"},/area/syndicate_mothership)
-"akc" = (/obj/machinery/vending/snack{prices = list()},/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"akd" = (/obj/machinery/vending/cola{prices = list()},/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"ake" = (/obj/machinery/vending/cigarette{prices = list()},/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"akf" = (/obj/machinery/lapvend,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"akg" = (/obj/structure/reagent_dispensers/water_cooler,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"akh" = (/obj/structure/table/reinforced,/obj/item/device/radio/intercom/specops{pixel_y = 22},/obj/item/storage/box/cups,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"aki" = (/obj/structure/table/rack,/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/steel{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/material/steel{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/material/steel{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/material/steel{amount = 50; pixel_x = 2; pixel_y = 2},/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"akj" = (/obj/structure/table/rack,/obj/item/gun/energy/laser,/obj/item/gun/energy/laser,/obj/item/gun/energy/laser,/obj/item/gun/energy/laser,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"akk" = (/obj/machinery/chemical_dispenser/ert,/obj/item/reagent_containers/vessel/beaker/large,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
+"ajZ" = (/obj/machinery/turret/network/centcomm,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"aka" = (/obj/structure/table/rack,/obj/item/rig/ert/medical,/obj/structure/window/reinforced/crescent{dir = 1},/obj/structure/window/reinforced/crescent{dir = 8},/obj/item/clothing/accessory/holochip/ert,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"akb" = (/obj/item/folder{pixel_y = 2},/obj/structure/table/glass,/obj/item/flame/lighter/zippo/syndie,/obj/item/deck/cards,/obj/item/music_tape_box/syndie,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_mothership)
+"akc" = (/obj/machinery/vending/snack{prices = list()},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"akd" = (/obj/machinery/vending/cola{prices = list()},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"ake" = (/obj/machinery/vending/cigarette{prices = list()},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"akf" = (/obj/machinery/lapvend,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"akg" = (/obj/structure/reagent_dispensers/water_cooler,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"akh" = (/obj/structure/table/reinforced,/obj/item/device/radio/intercom/specops{pixel_y = 22},/obj/item/storage/box/cups,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"aki" = (/obj/structure/table/rack,/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/steel{pixel_x = 2; pixel_y = 2; amount = 50},/obj/item/stack/material/steel{pixel_x = 2; pixel_y = 2; amount = 50},/obj/item/stack/material/steel{pixel_x = 2; pixel_y = 2; amount = 50},/obj/item/stack/material/steel{pixel_x = 2; pixel_y = 2; amount = 50},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"akj" = (/obj/structure/table/rack,/obj/item/gun/energy/laser,/obj/item/gun/energy/laser,/obj/item/gun/energy/laser,/obj/item/gun/energy/laser,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"akk" = (/obj/machinery/chemical_dispenser/ert,/obj/item/reagent_containers/vessel/beaker/large,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"akl" = (/obj/item/device/pda/syndicate,/turf/unsimulated/floor{icon_state = "lino"},/area/syndicate_mothership)
-"akm" = (/obj/machinery/autolathe{desc = "Your typical Autolathe. It appears to have much more options than your regular one, however..."; hacked = 1; name = "Unlocked Autolathe"},/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"akn" = (/obj/structure/table/rack,/obj/item/gun/energy/ionrifle,/obj/item/gun/energy/ionrifle,/obj/item/gun/energy/ionrifle/small,/obj/item/gun/energy/ionrifle/small,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"ako" = (/obj/structure/table/reinforced,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/defibrillator/compact/combat/loaded,/obj/item/defibrillator/compact/combat/loaded,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"akp" = (/obj/machinery/door/window/holowindoor{dir = 1; name = "Red Team"},/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_basketball)
-"akq" = (/obj/machinery/chem_master,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
+"akm" = (/obj/machinery/autolathe{name = "Unlocked Autolathe"; desc = "Your typical Autolathe. It appears to have much more options than your regular one, however..."; hacked = 1},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"akn" = (/obj/structure/table/rack,/obj/item/gun/energy/ionrifle,/obj/item/gun/energy/ionrifle,/obj/item/gun/energy/ionrifle/small,/obj/item/gun/energy/ionrifle/small,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"ako" = (/obj/structure/table/reinforced,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/defibrillator/compact/combat/loaded,/obj/item/defibrillator/compact/combat/loaded,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"akq" = (/obj/machinery/chem_master,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"akr" = (/obj/structure/bed/chair/office/light{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/rescue_base/base)
"aks" = (/obj/structure/table/reinforced,/obj/item/stamp/centcomm,/obj/item/pen,/turf/unsimulated/floor{icon_state = "dark"},/area/rescue_base/base)
"akt" = (/obj/structure/table/reinforced,/obj/item/board,/turf/unsimulated/floor{icon_state = "dark"},/area/rescue_base/base)
"aku" = (/obj/structure/bed/chair/office/light{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/rescue_base/base)
-"akv" = (/obj/structure/table/reinforced,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"akw" = (/obj/structure/table/rack,/obj/item/gun/energy/accelerator,/obj/item/gun/energy/accelerator,/obj/item/gun/energy/accelerator,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"akx" = (/obj/machinery/chemical_dispenser/full,/obj/item/reagent_containers/vessel/beaker/large,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
+"akv" = (/obj/structure/table/reinforced,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"akw" = (/obj/structure/table/rack,/obj/item/gun/energy/accelerator,/obj/item/gun/energy/accelerator,/obj/item/gun/energy/accelerator,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"akx" = (/obj/machinery/chemical_dispenser/full,/obj/item/reagent_containers/vessel/beaker/large,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"aky" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/green,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/green,/obj/effect/floor_decal/industrial/hatch/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"akz" = (/obj/machinery/door/airlock/centcom{name = "Barracks"; opacity = 1; req_access = list(150)},/turf/unsimulated/floor{icon_state = "lino"},/area/syndicate_mothership)
"akA" = (/obj/structure/table/reinforced,/obj/item/storage/fancy/cigar,/turf/unsimulated/floor{icon_state = "dark"},/area/rescue_base/base)
"akB" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "dark"},/area/rescue_base/base)
-"akC" = (/obj/structure/table/reinforced,/obj/item/device/megaphone,/obj/item/device/megaphone,/obj/item/device/megaphone,/obj/item/device/megaphone,/obj/item/device/megaphone,/obj/item/device/megaphone,/obj/structure/noticeboard{pixel_x = 32},/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"akD" = (/obj/structure/table/reinforced,/obj/item/taperoll/police,/obj/item/taperoll/police,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"akE" = (/obj/structure/table/reinforced,/obj/machinery/recharger{pixel_y = 4},/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"akF" = (/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"akG" = (/obj/structure/table/reinforced,/obj/item/reagent_containers/spray/cleaner,/obj/item/reagent_containers/spray/cleaner,/obj/item/reagent_containers/spray/sterilizine,/obj/item/reagent_containers/spray/sterilizine,/obj/item/storage/box/bloodpacks,/obj/item/tape/medical,/obj/item/tape/medical,/obj/item/device/flashlight/pen,/obj/item/device/flashlight/pen,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"akH" = (/obj/structure/table/reinforced,/obj/item/storage/firstaid/fire,/obj/item/storage/firstaid/fire,/obj/item/storage/firstaid/fire,/obj/item/storage/firstaid/toxin,/obj/item/storage/firstaid/toxin,/obj/item/storage/firstaid/toxin,/obj/item/storage/firstaid/o2,/obj/item/storage/firstaid/o2,/obj/item/storage/firstaid/o2,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"akI" = (/obj/structure/table/reinforced,/obj/item/storage/firstaid/regular,/obj/item/storage/firstaid/regular,/obj/item/storage/firstaid/regular,/obj/item/storage/firstaid/adv,/obj/item/storage/firstaid/adv,/obj/item/storage/firstaid/adv,/obj/item/storage/firstaid/combat,/obj/item/storage/firstaid/combat,/obj/item/storage/firstaid/combat,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"akJ" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"akK" = (/obj/structure/table/rack,/obj/item/rig/ert/medical,/obj/structure/window/reinforced/crescent{dir = 1},/obj/item/clothing/accessory/holochip/ert,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"akL" = (/obj/structure/table/rack,/obj/item/rig_module/mounted/taser,/obj/item/rig_module/mounted/taser,/obj/item/rig_module/maneuvering_jets,/obj/item/rig_module/maneuvering_jets,/obj/item/rig_module/chem_dispenser/injector,/obj/item/rig_module/chem_dispenser/injector,/obj/item/rig_module/device/healthscanner,/obj/item/rig_module/device/healthscanner,/obj/item/rig_module/vision/medhud,/obj/item/rig_module/vision/medhud,/obj/structure/window/reinforced/crescent{dir = 1},/obj/structure/window/reinforced/crescent{dir = 4},/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"akM" = (/obj/structure/table/rack,/obj/item/rig_module/mounted/taser,/obj/item/rig_module/mounted/taser,/obj/item/rig_module/maneuvering_jets,/obj/item/rig_module/maneuvering_jets,/obj/item/rig_module/mounted/egun,/obj/item/rig_module/mounted/egun,/obj/item/rig_module/chem_dispenser/combat,/obj/item/rig_module/chem_dispenser/combat,/obj/item/rig_module/grenade_launcher,/obj/item/rig_module/vision/sechud,/obj/item/rig_module/vision/sechud,/obj/item/rig_module/device/flash,/obj/item/rig_module/device/flash,/obj/item/rig_module/mounted,/obj/structure/window/reinforced/crescent{dir = 1},/obj/structure/window/reinforced/crescent{dir = 8},/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"akN" = (/obj/structure/table/rack,/obj/item/rig/ert/security,/obj/structure/window/reinforced/crescent{dir = 1},/obj/item/clothing/accessory/holochip/ert,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"akO" = (/obj/structure/table/rack,/obj/item/rig/ert/security,/obj/structure/window/reinforced/crescent{dir = 1},/obj/structure/window/reinforced/crescent{dir = 4},/obj/item/clothing/accessory/holochip/ert,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"akP" = (/turf/unsimulated/wall{desc = "A secure airlock. Doesn't look like you can get through easily."; icon = 'icons/obj/doors/doorele.dmi'; icon_state = "door_locked"; name = "Foxtrot Barracks"},/area/rescue_base/base)
+"akC" = (/obj/structure/table/reinforced,/obj/item/device/megaphone,/obj/item/device/megaphone,/obj/item/device/megaphone,/obj/item/device/megaphone,/obj/item/device/megaphone,/obj/item/device/megaphone,/obj/structure/noticeboard{pixel_x = 32},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"akD" = (/obj/structure/table/reinforced,/obj/item/taperoll/police,/obj/item/taperoll/police,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"akE" = (/obj/structure/table/reinforced,/obj/machinery/recharger{pixel_y = 4},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"akF" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"akG" = (/obj/structure/table/reinforced,/obj/item/reagent_containers/spray/cleaner,/obj/item/reagent_containers/spray/cleaner,/obj/item/reagent_containers/spray/sterilizine,/obj/item/reagent_containers/spray/sterilizine,/obj/item/storage/box/bloodpacks,/obj/item/tape/medical,/obj/item/tape/medical,/obj/item/device/flashlight/pen,/obj/item/device/flashlight/pen,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"akH" = (/obj/structure/table/reinforced,/obj/item/storage/firstaid/fire,/obj/item/storage/firstaid/fire,/obj/item/storage/firstaid/fire,/obj/item/storage/firstaid/toxin,/obj/item/storage/firstaid/toxin,/obj/item/storage/firstaid/toxin,/obj/item/storage/firstaid/o2,/obj/item/storage/firstaid/o2,/obj/item/storage/firstaid/o2,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"akI" = (/obj/structure/table/reinforced,/obj/item/storage/firstaid/regular,/obj/item/storage/firstaid/regular,/obj/item/storage/firstaid/regular,/obj/item/storage/firstaid/adv,/obj/item/storage/firstaid/adv,/obj/item/storage/firstaid/adv,/obj/item/storage/firstaid/combat,/obj/item/storage/firstaid/combat,/obj/item/storage/firstaid/combat,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"akJ" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"akK" = (/obj/structure/table/rack,/obj/item/rig/ert/medical,/obj/structure/window/reinforced/crescent{dir = 1},/obj/item/clothing/accessory/holochip/ert,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"akL" = (/obj/structure/table/rack,/obj/item/rig_module/mounted/taser,/obj/item/rig_module/mounted/taser,/obj/item/rig_module/maneuvering_jets,/obj/item/rig_module/maneuvering_jets,/obj/item/rig_module/chem_dispenser/injector,/obj/item/rig_module/chem_dispenser/injector,/obj/item/rig_module/device/healthscanner,/obj/item/rig_module/device/healthscanner,/obj/item/rig_module/vision/medhud,/obj/item/rig_module/vision/medhud,/obj/structure/window/reinforced/crescent{dir = 1},/obj/structure/window/reinforced/crescent{dir = 4},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"akM" = (/obj/structure/table/rack,/obj/item/rig_module/mounted/taser,/obj/item/rig_module/mounted/taser,/obj/item/rig_module/maneuvering_jets,/obj/item/rig_module/maneuvering_jets,/obj/item/rig_module/mounted/egun,/obj/item/rig_module/mounted/egun,/obj/item/rig_module/chem_dispenser/combat,/obj/item/rig_module/chem_dispenser/combat,/obj/item/rig_module/grenade_launcher,/obj/item/rig_module/vision/sechud,/obj/item/rig_module/vision/sechud,/obj/item/rig_module/device/flash,/obj/item/rig_module/device/flash,/obj/item/rig_module/mounted,/obj/structure/window/reinforced/crescent{dir = 1},/obj/structure/window/reinforced/crescent{dir = 8},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"akN" = (/obj/structure/table/rack,/obj/item/rig/ert/security,/obj/structure/window/reinforced/crescent{dir = 1},/obj/item/clothing/accessory/holochip/ert,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"akO" = (/obj/structure/table/rack,/obj/item/rig/ert/security,/obj/structure/window/reinforced/crescent{dir = 1},/obj/structure/window/reinforced/crescent{dir = 4},/obj/item/clothing/accessory/holochip/ert,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"akP" = (/turf/unsimulated/wall{name = "Foxtrot Barracks"; desc = "A secure airlock. Doesn't look like you can get through easily."; icon = 'icons/obj/doors/doorele.dmi'; icon_state = "door_locked"},/area/rescue_base/base)
"akQ" = (/turf/space,/turf/simulated/shuttle/wall/corner/syndi/nw{icon_state = "corner_syndiwall_s"},/area/syndicate_station/start)
"akR" = (/obj/structure/window/syndi,/turf/simulated/floor/plating,/area/syndicate_station/start)
"akS" = (/turf/space,/turf/simulated/shuttle/wall/corner/syndi/ne,/area/syndicate_station/start)
-"akT" = (/turf/unsimulated/floor{icon_state = "cult"; name = "plating"},/area/syndicate_mothership)
-"akU" = (/obj/structure/sign/double/map/left{pixel_y = 32},/turf/unsimulated/floor{icon_state = "cult"; name = "plating"},/area/syndicate_mothership)
-"akV" = (/obj/structure/sign/double/map/right{pixel_y = 32},/turf/unsimulated/floor{icon_state = "cult"; name = "plating"},/area/syndicate_mothership)
-"akW" = (/obj/machinery/vending/snack{name = "hacked Getmore Chocolate Corp"; prices = list()},/turf/unsimulated/floor{icon_state = "cult"; name = "plating"},/area/syndicate_mothership)
+"akT" = (/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_mothership)
+"akU" = (/obj/structure/sign/double/map/left{pixel_y = 32},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_mothership)
+"akV" = (/obj/structure/sign/double/map/right{pixel_y = 32},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_mothership)
+"akW" = (/obj/machinery/vending/snack{name = "hacked Getmore Chocolate Corp"; prices = list()},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_mothership)
"akX" = (/obj/structure/table/standard,/obj/machinery/chemical_dispenser/bar_soft/full{pixel_x = 2; pixel_y = 6},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership)
"akY" = (/obj/structure/table/standard,/obj/item/storage/box/glasses/square{pixel_x = 1; pixel_y = 4},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership)
"akZ" = (/obj/structure/sink/kitchen{pixel_y = 28},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership)
@@ -566,70 +362,70 @@
"alb" = (/obj/structure/flora/ausbushes/palebush,/turf/unsimulated/floor{icon_state = "asteroid"},/area/rescue_base/base)
"alc" = (/obj/structure/table/reinforced,/obj/item/material/ashtray/plastic,/turf/unsimulated/floor{icon_state = "dark"},/area/rescue_base/base)
"ald" = (/obj/structure/table/reinforced,/obj/item/storage/box/donut,/turf/unsimulated/floor{icon_state = "dark"},/area/rescue_base/base)
-"ale" = (/obj/structure/table/reinforced,/obj/item/device/paicard,/obj/item/device/paicard,/obj/item/device/paicard,/obj/item/device/paicard,/obj/item/device/paicard,/obj/item/device/paicard,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
+"ale" = (/obj/structure/table/reinforced,/obj/item/device/paicard,/obj/item/device/paicard,/obj/item/device/paicard,/obj/item/device/paicard,/obj/item/device/paicard,/obj/item/device/paicard,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"alf" = (/obj/machinery/vending/security,/turf/unsimulated/wall,/area/rescue_base/base)
-"alg" = (/obj/machinery/door/airlock/centcom{name = "Security"; opacity = 1; req_access = list(103)},/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/rescue_base/base)
-"alh" = (/obj/machinery/door/airlock/centcom{name = "Medical"; opacity = 1; req_access = list(103)},/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/rescue_base/base)
+"alg" = (/obj/machinery/door/airlock/centcom{name = "Security"; opacity = 1; req_access = list(103)},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
+"alh" = (/obj/machinery/door/airlock/centcom{name = "Medical"; opacity = 1; req_access = list(103)},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
"ali" = (/obj/machinery/vending/medical,/turf/unsimulated/wall,/area/rescue_base/base)
-"alj" = (/obj/machinery/door/airlock/centcom{name = "Heavy Equipment"; opacity = 1; req_access = list(103)},/obj/machinery/door/blast/regular/singulo{density = 0; dir = 2; icon_state = "pdoor0"; id = "standardrescue"; name = "Heavy Equipment"; opacity = 0},/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/rescue_base/base)
+"alj" = (/obj/machinery/door/airlock/centcom{name = "Heavy Equipment"; opacity = 1; req_access = list(103)},/obj/machinery/door/blast/regular/singulo{name = "Heavy Equipment"; icon_state = "pdoor0"; opacity = 0; density = 0; dir = 2; id = "standardrescue"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
"alk" = (/turf/space,/area/shuttle/escape_pod1/centcom)
"all" = (/turf/space,/area/shuttle/escape_pod2/centcom)
-"alm" = (/turf/simulated/shuttle/wall/syndi{dir = 1; icon_state = "syndiwall_straight"},/area/syndicate_station/start)
+"alm" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_straight"; dir = 1},/area/syndicate_station/start)
"aln" = (/obj/machinery/recharger,/obj/structure/table/reinforced,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"alo" = (/obj/item/modular_computer/console/preset/syndicate,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"alp" = (/obj/machinery/computer/shuttle_control/multi/syndicate,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"alq" = (/obj/structure/computerframe,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
-"alr" = (/obj/machinery/button/remote/blast_door{id = "syndieshutters"; name = "remote shutter control"; req_access = list(150)},/obj/structure/table/reinforced,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
-"als" = (/obj/structure/bed/chair/comfy/black,/turf/unsimulated/floor{icon_state = "cult"; name = "plating"},/area/syndicate_mothership)
+"alr" = (/obj/machinery/button/remote/blast_door{name = "remote shutter control"; id = "syndieshutters"; req_access = list(150)},/obj/structure/table/reinforced,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"als" = (/obj/structure/bed/chair/comfy/black,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_mothership)
"alt" = (/obj/machinery/door/airlock/centcom{name = "Kitchen"; opacity = 1; req_access = list(150)},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership)
"alu" = (/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership)
"alv" = (/obj/structure/table/reinforced,/obj/machinery/microwave{pixel_x = -1; pixel_y = 8},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership)
-"alw" = (/obj/machinery/door/airlock/centcom{name = "Unit Area"; opacity = 1; req_access = list(103)},/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/rescue_base/base)
-"alx" = (/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = 32},/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/rescue_base/base)
-"aly" = (/obj/machinery/door/airlock/centcom{name = "Echo Barracks"; opacity = 1; req_access = list(103)},/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/rescue_base/base)
-"alz" = (/turf/unsimulated/wall{desc = "A secure airlock. Doesn't look like you can get through easily."; icon = 'icons/obj/doors/doorele.dmi'; icon_state = "door_locked"; name = "Delta Barracks"},/area/rescue_base/base)
+"alw" = (/obj/machinery/door/airlock/centcom{name = "Unit Area"; opacity = 1; req_access = list(103)},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
+"alx" = (/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = 32},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
+"aly" = (/obj/machinery/door/airlock/centcom{name = "Echo Barracks"; opacity = 1; req_access = list(103)},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
+"alz" = (/turf/unsimulated/wall{name = "Delta Barracks"; desc = "A secure airlock. Doesn't look like you can get through easily."; icon = 'icons/obj/doors/doorele.dmi'; icon_state = "door_locked"},/area/rescue_base/base)
"alA" = (/obj/machinery/microwave{pixel_x = -1; pixel_y = 2},/obj/structure/table/reinforced,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"alB" = (/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"alC" = (/obj/effect/shuttle_landmark/syndi/start,/obj/structure/bed/chair/comfy/captain{dir = 1},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
-"alD" = (/obj/structure/bed/chair/comfy/black{dir = 4},/turf/unsimulated/floor{icon_state = "cult"; name = "plating"},/area/syndicate_mothership)
+"alD" = (/obj/structure/bed/chair/comfy/black{dir = 4},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_mothership)
"alE" = (/obj/effect/floor_decal/industrial/warning/red/cee{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
-"alF" = (/obj/item/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/pen{pixel_y = 4},/obj/structure/table/glass,/obj/item/clothing/glasses/rglasses,/turf/unsimulated/floor{icon_state = "cult"; name = "plating"},/area/syndicate_mothership)
-"alG" = (/obj/structure/bed/chair/comfy/black{dir = 8},/turf/unsimulated/floor{icon_state = "cult"; name = "plating"},/area/syndicate_mothership)
+"alF" = (/obj/item/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/pen{pixel_y = 4},/obj/structure/table/glass,/obj/item/clothing/glasses/rglasses,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_mothership)
+"alG" = (/obj/structure/bed/chair/comfy/black{dir = 8},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_mothership)
"alH" = (/obj/structure/table/reinforced,/obj/item/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership)
"alI" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/blue,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/blue,/obj/effect/floor_decal/industrial/hatch/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"alJ" = (/obj/structure/closet/crate/bin,/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership)
"alK" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/med,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/med,/obj/effect/floor_decal/industrial/hatch/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"alL" = (/obj/structure/flora/ausbushes/sunnybush,/turf/unsimulated/floor{icon_state = "asteroid"},/area/rescue_base/base)
-"alM" = (/obj/machinery/computer/arcade,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"alN" = (/obj/machinery/recharge_station,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"alO" = (/obj/structure/table/rack,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"alP" = (/obj/structure/table/rack,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"alQ" = (/obj/structure/table/rack,/obj/item/clothing/accessory/holster/armpit,/obj/item/clothing/accessory/holster/armpit,/obj/item/clothing/accessory/holster/armpit,/obj/item/clothing/accessory/holster/armpit,/obj/item/clothing/accessory/holster/armpit,/obj/item/clothing/accessory/holster/armpit,/obj/item/clothing/accessory/holster/hip,/obj/item/clothing/accessory/holster/hip,/obj/item/clothing/accessory/holster/hip,/obj/item/clothing/accessory/holster/hip,/obj/item/clothing/accessory/holster/hip,/obj/item/clothing/accessory/holster/hip,/obj/item/clothing/accessory/holster/waist,/obj/item/clothing/accessory/holster/waist,/obj/item/clothing/accessory/holster/waist,/obj/item/clothing/accessory/holster/waist,/obj/item/clothing/accessory/holster/waist,/obj/item/clothing/accessory/holster/waist,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"alR" = (/obj/item/device/radio/intercom/specops{dir = 1; pixel_y = -22},/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/rescue_base/base)
-"alS" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1331; id_tag = "rescue_base"; pixel_x = 5; pixel_y = -25; tag_door = "rescue_base_hatch"},/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/rescue_base/base)
+"alM" = (/obj/machinery/computer/arcade,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"alN" = (/obj/machinery/recharge_station,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"alO" = (/obj/structure/table/rack,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"alP" = (/obj/structure/table/rack,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"alQ" = (/obj/structure/table/rack,/obj/item/clothing/accessory/holster/armpit,/obj/item/clothing/accessory/holster/armpit,/obj/item/clothing/accessory/holster/armpit,/obj/item/clothing/accessory/holster/armpit,/obj/item/clothing/accessory/holster/armpit,/obj/item/clothing/accessory/holster/armpit,/obj/item/clothing/accessory/holster/hip,/obj/item/clothing/accessory/holster/hip,/obj/item/clothing/accessory/holster/hip,/obj/item/clothing/accessory/holster/hip,/obj/item/clothing/accessory/holster/hip,/obj/item/clothing/accessory/holster/hip,/obj/item/clothing/accessory/holster/waist,/obj/item/clothing/accessory/holster/waist,/obj/item/clothing/accessory/holster/waist,/obj/item/clothing/accessory/holster/waist,/obj/item/clothing/accessory/holster/waist,/obj/item/clothing/accessory/holster/waist,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"alR" = (/obj/item/device/radio/intercom/specops{dir = 1; pixel_y = -22},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
+"alS" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{pixel_x = 5; pixel_y = -25; frequency = 1331; id_tag = "rescue_base"; tag_door = "rescue_base_hatch"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
"alT" = (/turf/space,/turf/simulated/shuttle/wall/corner/smoothwhite/nw,/area/centcom/evac)
-"alU" = (/obj/structure/shuttle/engine/propulsion{dir = 1; icon_state = "propulsion_r"},/turf/space,/area/centcom/evac)
+"alU" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"; dir = 1},/turf/space,/area/centcom/evac)
"alV" = (/obj/structure/shuttle/engine/propulsion{dir = 1},/turf/space,/area/centcom/evac)
-"alW" = (/obj/structure/shuttle/engine/propulsion{dir = 1; icon_state = "propulsion_l"},/turf/space,/area/centcom/evac)
+"alW" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"; dir = 1},/turf/space,/area/centcom/evac)
"alX" = (/turf/space,/turf/simulated/shuttle/wall/corner/smoothwhite/ne,/area/centcom/evac)
"alY" = (/obj/item/storage/box/donkpockets{pixel_x = 2; pixel_y = 3},/obj/structure/table/reinforced,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"alZ" = (/obj/structure/bed/chair/shuttle/red{dir = 4},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"ama" = (/obj/machinery/light{dir = 4},/obj/structure/computerframe,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
-"amb" = (/obj/structure/bed/chair/comfy/black{dir = 1},/turf/unsimulated/floor{icon_state = "cult"; name = "plating"},/area/syndicate_mothership)
-"amc" = (/obj/machinery/vending/cola{name = "hacked Robust Softdrinks"; prices = list()},/turf/unsimulated/floor{icon_state = "cult"; name = "plating"},/area/syndicate_mothership)
+"amb" = (/obj/structure/bed/chair/comfy/black{dir = 1},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_mothership)
+"amc" = (/obj/machinery/vending/cola{name = "hacked Robust Softdrinks"; prices = list()},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_mothership)
"amd" = (/obj/structure/closet/secure_closet/freezer/kitchen{req_access = list(150)},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership)
"ame" = (/obj/structure/table/reinforced,/obj/item/tray{pixel_y = 5},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership)
"amf" = (/obj/structure/table/reinforced,/obj/item/reagent_containers/vessel/bottle/vodka{pixel_x = 3; pixel_y = 12},/obj/item/reagent_containers/vessel/bottle/wine{pixel_x = -1; pixel_y = 8},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership)
"amg" = (/obj/effect/floor_decal/industrial/warning/red{dir = 4},/obj/effect/floor_decal/industrial/warning/red{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"amh" = (/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"ami" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/orange,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/orange,/obj/effect/floor_decal/industrial/hatch/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
-"amj" = (/obj/machinery/door/airlock/centcom{name = "Squad Leader's Office"; opacity = 1; req_access = list(103)},/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/rescue_base/base)
-"amk" = (/obj/machinery/door/airlock/centcom{name = "Command"; opacity = 1; req_access = list(103)},/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/rescue_base/base)
-"aml" = (/obj/machinery/door/airlock/centcom{name = "Engineering"; opacity = 1; req_access = list(103)},/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/rescue_base/base)
+"amj" = (/obj/machinery/door/airlock/centcom{name = "Squad Leader's Office"; opacity = 1; req_access = list(103)},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
+"amk" = (/obj/machinery/door/airlock/centcom{name = "Command"; opacity = 1; req_access = list(103)},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
+"aml" = (/obj/machinery/door/airlock/centcom{name = "Engineering"; opacity = 1; req_access = list(103)},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
"amm" = (/obj/machinery/vending/engineering,/turf/unsimulated/wall,/area/rescue_base/base)
-"amn" = (/obj/machinery/door/airlock/external{frequency = 1331; id_tag = "rescue_base_hatch"; name = "Landing Pad"; req_access = list(103)},/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/rescue_base/base)
+"amn" = (/obj/machinery/door/airlock/external{name = "Landing Pad"; frequency = 1331; req_access = list(103); id_tag = "rescue_base_hatch"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
"amo" = (/turf/simulated/shuttle/wall{icon_state = "whiteship_straight"},/area/centcom/evac)
-"amp" = (/obj/structure/window/reinforced/crescent,/obj/structure/table/rack,/obj/item/rig/ert,/obj/structure/window/reinforced/crescent{dir = 8},/obj/item/clothing/accessory/holochip/ert,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
+"amp" = (/obj/structure/window/reinforced/crescent,/obj/structure/table/rack,/obj/item/rig/ert,/obj/structure/window/reinforced/crescent{dir = 8},/obj/item/clothing/accessory/holochip/ert,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"amq" = (/turf/simulated/shuttle/wall{icon_state = "whiteship_t"; dir = 8},/area/centcom/evac)
"amr" = (/turf/simulated/shuttle/wall{icon_state = "whiteship_straight"; dir = 4},/area/centcom/evac)
"amu" = (/turf/simulated/shuttle/wall{icon_state = "syndiwall_d"; dir = 4},/area/centcom/evac)
@@ -637,17 +433,17 @@
"amw" = (/obj/machinery/light,/obj/item/device/radio/intercom/syndicate{dir = 1; pixel_y = -22},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"amx" = (/obj/item/paper_bin{pixel_x = -3; pixel_y = 8},/obj/item/pen{pixel_y = 4},/obj/structure/table/reinforced,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"amy" = (/obj/structure/grille,/obj/structure/window/shuttle{icon_state = "6"; dir = 8},/turf/simulated/floor/plating,/area/shuttle/escape/centcom)
-"amz" = (/obj/structure/closet/crate/bin,/turf/unsimulated/floor{icon_state = "cult"; name = "plating"},/area/syndicate_mothership)
+"amz" = (/obj/structure/closet/crate/bin,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_mothership)
"amA" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/engie,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/engie,/obj/effect/floor_decal/industrial/hatch/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
-"amB" = (/obj/structure/table/reinforced,/obj/item/storage/box/trackimp,/obj/item/storage/box/cdeathalarm_kit,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"amC" = (/obj/structure/table/reinforced,/obj/prefab/hand_teleporter,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"amD" = (/obj/structure/table/reinforced,/obj/item/aicard,/obj/item/pinpointer/advpinpointer,/obj/item/device/radio/intercom/specops{pixel_y = 22},/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"amE" = (/obj/structure/table/reinforced,/obj/machinery/cell_charger,/obj/item/cell/hyper,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"amF" = (/obj/machinery/vending/engivend,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"amG" = (/obj/machinery/vending/tool,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"amH" = (/obj/machinery/vending/assist,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"amI" = (/obj/item/device/radio/intercom/specops{pixel_y = 22},/obj/structure/table/rack,/obj/item/backwear/powered/rpd/loaded,/obj/item/backwear/powered/rpd/loaded,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"amJ" = (/obj/machinery/pipedispenser/disposal/orderable,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
+"amB" = (/obj/structure/table/reinforced,/obj/item/storage/box/trackimp,/obj/item/storage/box/cdeathalarm_kit,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"amC" = (/obj/structure/table/reinforced,/obj/prefab/hand_teleporter,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"amD" = (/obj/structure/table/reinforced,/obj/item/aicard,/obj/item/pinpointer/advpinpointer,/obj/item/device/radio/intercom/specops{pixel_y = 22},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"amE" = (/obj/structure/table/reinforced,/obj/machinery/cell_charger,/obj/item/cell/hyper,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"amF" = (/obj/machinery/vending/engivend,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"amG" = (/obj/machinery/vending/tool,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"amH" = (/obj/machinery/vending/assist,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"amI" = (/obj/item/device/radio/intercom/specops{pixel_y = 22},/obj/structure/table/rack,/obj/item/backwear/powered/rpd/loaded,/obj/item/backwear/powered/rpd/loaded,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"amJ" = (/obj/machinery/pipedispenser/disposal/orderable,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"amK" = (/obj/effect/floor_decal/industrial/hatch/yellow,/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/rescue_base/base)
"amL" = (/obj/machinery/portable_atmospherics/powered/pump,/turf/simulated/floor/plating,/area/centcom/evac)
"amM" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor/plating,/area/centcom/evac)
@@ -661,17 +457,17 @@
"amW" = (/turf/simulated/floor/plating,/turf/simulated/shuttle/wall/corner/smoothwhite/ne,/area/centcom/evac)
"amX" = (/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/floor/plating,/area/centcom/evac)
"amY" = (/obj/machinery/vending/engineering,/turf/simulated/floor/plating,/area/centcom/evac)
-"amZ" = (/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "rescuebridge"; name = "Bridge Blast Shutters"; opacity = 0},/obj/structure/window/syndi{icon_state = "ws5"},/turf/simulated/floor/plating,/area/rescue_base/start)
+"amZ" = (/obj/machinery/door/blast/regular{name = "Bridge Blast Shutters"; icon_state = "pdoor0"; opacity = 0; density = 0; dir = 4; id = "rescuebridge"},/obj/structure/window/syndi{icon_state = "ws5"},/turf/simulated/floor/plating,/area/rescue_base/start)
"ana" = (/obj/machinery/door/window/northright{name = "Flight Deck"; req_access = list(150)},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
-"anb" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "syndieshutters_infirmary"; name = "Shuttle Blast Shutters"; opacity = 0},/obj/structure/window/syndi{icon_state = "ws3"},/turf/simulated/floor/plating,/area/syndicate_station/start)
-"anc" = (/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "rescuebridge"; name = "Bridge Blast Shutters"; opacity = 0},/obj/structure/window/syndi{icon_state = "ws6"},/turf/simulated/floor/plating,/area/rescue_base/start)
+"anb" = (/obj/machinery/door/blast/regular{name = "Shuttle Blast Shutters"; icon_state = "pdoor0"; opacity = 0; density = 0; id = "syndieshutters_infirmary"},/obj/structure/window/syndi{icon_state = "ws3"},/turf/simulated/floor/plating,/area/syndicate_station/start)
+"anc" = (/obj/machinery/door/blast/regular{name = "Bridge Blast Shutters"; icon_state = "pdoor0"; opacity = 0; density = 0; dir = 4; id = "rescuebridge"},/obj/structure/window/syndi{icon_state = "ws6"},/turf/simulated/floor/plating,/area/rescue_base/start)
"and" = (/obj/structure/urinal{pixel_y = 32},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/syndicate_mothership)
"ane" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/red,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/red,/obj/effect/floor_decal/industrial/hatch/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"anf" = (/obj/effect/floor_decal/spline/plain/black{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"ang" = (/obj/structure/window_frame/indestructible,/turf/unsimulated/floor{name = "plating"},/area/centcom/control)
"anh" = (/obj/item/soap/syndie,/obj/machinery/shower{pixel_y = 24},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/syndicate_mothership)
-"ani" = (/obj/structure/bed/chair/office/dark,/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/rescue_base/base)
-"anj" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/door/airlock/external{frequency = 1331; id_tag = "rescue_base_hatch"; req_access = list(103)},/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/rescue_base/base)
+"ani" = (/obj/structure/bed/chair/office/dark,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
+"anj" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/door/airlock/external{frequency = 1331; req_access = list(103); id_tag = "rescue_base_hatch"},/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/rescue_base/base)
"ank" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/tiled,/area/merchant_station)
"anl" = (/turf/simulated/floor/plating,/area/centcom/evac)
"anm" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"; dir = 1},/area/centcom/evac)
@@ -692,18 +488,17 @@
"anB" = (/obj/structure/table/steel,/obj/item/stamp/centcomm,/turf/unsimulated/floor{icon_state = "dark"},/area/rescue_base/base)
"anC" = (/obj/structure/table/steel,/obj/item/storage/fancy/cigar,/turf/unsimulated/floor{icon_state = "dark"},/area/rescue_base/base)
"anD" = (/obj/machinery/door/airlock/centcom{name = "Command"; opacity = 1; req_access = list(103)},/turf/unsimulated/floor{icon_state = "dark"},/area/rescue_base/base)
-"anE" = (/obj/structure/reagent_dispensers/watertank,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"anF" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"anG" = (/obj/machinery/shieldgen,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
+"anE" = (/obj/structure/reagent_dispensers/watertank,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"anF" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"anG" = (/obj/machinery/shieldgen,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"anH" = (/obj/effect/floor_decal/industrial/outline/yellow,/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/rescue_base/base)
"anI" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/effect/floor_decal/industrial/warning/corner,/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/rescue_base/base)
-"anJ" = (/obj/machinery/button/remote/blast_door{id = "rescuegarage"; name = "Garage"; pixel_x = -24; pixel_y = -4; req_access = list(103)},/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/rescue_base/base)
-"anK" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/tool/sleeper,/obj/item/mecha_parts/mecha_equipment/tool/sleeper,/obj/item/mecha_parts/mecha_equipment/tool/syringe_gun,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"anL" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/teleporter,/obj/item/mecha_parts/mecha_tracking,/obj/item/mecha_parts/mecha_tracking,/obj/item/mecha_parts/mecha_tracking,/obj/item/mecha_parts/mecha_tracking,/obj/item/device/radio/intercom/specops{pixel_y = 22},/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"anM" = (/obj/structure/table/reinforced,/obj/machinery/cell_charger,/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/rescue_base/base)
+"anJ" = (/obj/machinery/button/remote/blast_door{name = "Garage"; pixel_x = -24; pixel_y = -4; id = "rescuegarage"; req_access = list(103)},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
+"anK" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/tool/sleeper,/obj/item/mecha_parts/mecha_equipment/tool/sleeper,/obj/item/mecha_parts/mecha_equipment/tool/syringe_gun,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"anL" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/teleporter,/obj/item/mecha_parts/mecha_tracking,/obj/item/mecha_parts/mecha_tracking,/obj/item/mecha_parts/mecha_tracking,/obj/item/mecha_parts/mecha_tracking,/obj/item/device/radio/intercom/specops{pixel_y = 22},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"anM" = (/obj/structure/table/reinforced,/obj/machinery/cell_charger,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
"anN" = (/turf/space,/turf/simulated/shuttle/wall/corner/smoothwhite/sw,/area/centcom/evac)
"anO" = (/obj/machinery/door/airlock/maintenance_hatch{req_access = list(101)},/turf/simulated/floor/plating,/area/centcom/evac)
-"anP" = (/obj/item/reagent_containers/food/checker/bishop{randpixel = 0},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_chess)
"anQ" = (/turf/space,/turf/simulated/shuttle/wall/corner/smoothwhite/se,/area/centcom/evac)
"anR" = (/obj/machinery/recharger/wallcharger{pixel_x = -25},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"anS" = (/obj/structure/bed/chair/shuttle/red{dir = 8},/obj/effect/floor_decal/industrial/warning/red{dir = 8},/turf/simulated/floor,/area/syndicate_station/start)
@@ -711,17 +506,17 @@
"anU" = (/obj/structure/mirror{dir = 4; pixel_x = -32},/obj/structure/sink{dir = 8; pixel_x = -12; pixel_y = 2},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/syndicate_mothership)
"anV" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black,/obj/effect/floor_decal/industrial/hatch/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"anW" = (/obj/structure/table/steel,/turf/unsimulated/floor{icon_state = "dark"},/area/rescue_base/base)
-"anX" = (/obj/structure/bed/chair/office/dark{dir = 4},/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/rescue_base/base)
-"anY" = (/obj/structure/table/rack,/obj/item/storage/box/flashbangs,/obj/item/storage/box/teargas,/obj/item/storage/box/handcuffs,/obj/item/melee/baton/loaded,/obj/item/gun/energy/stunrevolver,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"anZ" = (/obj/structure/table/rack,/obj/item/clothing/mask/gas,/obj/item/clothing/glasses/tacgoggles,/obj/item/ammo_magazine/c556,/obj/item/ammo_magazine/c556,/obj/item/gun/energy/accelerator,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"aoa" = (/obj/structure/table/rack,/obj/item/storage/backpack/ert/commander,/obj/item/storage/belt/security/tactical,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"aob" = (/obj/structure/table/rack,/obj/item/gun/energy/gun,/obj/item/gun/energy/rifle,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"aoc" = (/obj/structure/table/rack,/obj/item/clothing/suit/armor/vest/ert,/obj/item/clothing/head/helmet/ert,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"aod" = (/obj/structure/reagent_dispensers/fueltank,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"aoe" = (/obj/machinery/portable_atmospherics/powered/scrubber,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
+"anX" = (/obj/structure/bed/chair/office/dark{dir = 4},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
+"anY" = (/obj/structure/table/rack,/obj/item/storage/box/flashbangs,/obj/item/storage/box/teargas,/obj/item/storage/box/handcuffs,/obj/item/melee/baton/loaded,/obj/item/gun/energy/stunrevolver,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"anZ" = (/obj/structure/table/rack,/obj/item/clothing/mask/gas,/obj/item/clothing/glasses/tacgoggles,/obj/item/ammo_magazine/c556,/obj/item/ammo_magazine/c556,/obj/item/gun/energy/accelerator,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"aoa" = (/obj/structure/table/rack,/obj/item/storage/backpack/ert/commander,/obj/item/storage/belt/security/tactical,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"aob" = (/obj/structure/table/rack,/obj/item/gun/energy/gun,/obj/item/gun/energy/rifle,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"aoc" = (/obj/structure/table/rack,/obj/item/clothing/suit/armor/vest/ert,/obj/item/clothing/head/helmet/ert,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"aod" = (/obj/structure/reagent_dispensers/fueltank,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"aoe" = (/obj/machinery/portable_atmospherics/powered/scrubber,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"aof" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/rescue_base/base)
-"aog" = (/obj/machinery/door/blast/regular/singulo{dir = 4; id = "rescuegarage"; name = "Garage Exit"},/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/rescue_base/base)
-"aoh" = (/obj/machinery/mech_recharger,/obj/mecha/medical/odysseus/loaded,/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/rescue_base/base)
+"aog" = (/obj/machinery/door/blast/regular/singulo{name = "Garage Exit"; dir = 4; id = "rescuegarage"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
+"aoh" = (/obj/machinery/mech_recharger,/obj/mecha/medical/odysseus/loaded,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
"aoi" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
"aoj" = (/obj/structure/bed/chair,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
"aok" = (/obj/machinery/vending/cola,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
@@ -731,99 +526,98 @@
"aoo" = (/obj/structure/window_frame/indestructible/grille,/turf/unsimulated/floor{name = "plating"},/area/syndicate_mothership)
"aop" = (/obj/machinery/door/airlock/centcom{name = "Suit Storage"; opacity = 1},/obj/effect/floor_decal/industrial/warning/red{dir = 4},/obj/effect/floor_decal/industrial/warning/red{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"aoq" = (/obj/item/modular_computer/console/preset/command,/obj/item/card/id/centcom,/turf/unsimulated/floor{icon_state = "dark"},/area/rescue_base/base)
-"aor" = (/obj/structure/closet/secure_closet/hos,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"aos" = (/obj/structure/table/rack,/obj/item/storage/secure/briefcase,/obj/item/clothing/head/beret/centcom/captain,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"aot" = (/obj/machinery/power/emitter,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"aou" = (/obj/machinery/mech_recharger,/obj/mecha/working/ripley/firefighter,/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/rescue_base/base)
+"aor" = (/obj/structure/closet/secure_closet/hos,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"aos" = (/obj/structure/table/rack,/obj/item/storage/secure/briefcase,/obj/item/clothing/head/beret/centcom/captain,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"aot" = (/obj/machinery/power/emitter,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"aou" = (/obj/machinery/mech_recharger,/obj/mecha/working/ripley/firefighter,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
"aov" = (/obj/structure/table/standard,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
"aow" = (/obj/structure/bed/chair{dir = 4},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
"aox" = (/obj/structure/bed/chair{dir = 8},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
"aoy" = (/obj/machinery/vending/snack,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
"aoz" = (/obj/structure/sign/poster{pixel_x = -32; poster_type = "/datum/poster/bay_50"},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"aoA" = (/obj/structure/closet,/obj/item/reagent_containers/food/packaged/tastybread,/obj/item/reagent_containers/food/packaged/tastybread,/obj/item/reagent_containers/food/packaged/tastybread,/obj/item/reagent_containers/food/packaged/tastybread,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
-"aoB" = (/obj/structure/window/reinforced/crescent,/obj/structure/table/rack,/obj/item/rig_module/mounted/taser,/obj/item/rig_module/vision/nvg,/obj/item/rig_module/device/flash,/obj/structure/window/reinforced/crescent{dir = 4},/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"aoC" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1331; id_tag = "merc_base"; pixel_x = -25; pixel_y = -5},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"aoB" = (/obj/structure/window/reinforced/crescent,/obj/structure/table/rack,/obj/item/rig_module/mounted/taser,/obj/item/rig_module/vision/nvg,/obj/item/rig_module/device/flash,/obj/structure/window/reinforced/crescent{dir = 4},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"aoC" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{pixel_x = -25; pixel_y = -5; frequency = 1331; id_tag = "merc_base"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"aoD" = (/obj/structure/table/rack,/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/effect/floor_decal/industrial/hatch/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
-"aoE" = (/obj/machinery/autolathe{desc = "Your typical Autolathe. It appears to have much more options than your regular one, however..."; hacked = 1; name = "Unlocked Autolathe"},/obj/effect/floor_decal/industrial/hatch/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"aoE" = (/obj/machinery/autolathe{name = "Unlocked Autolathe"; desc = "Your typical Autolathe. It appears to have much more options than your regular one, however..."; hacked = 1},/obj/effect/floor_decal/industrial/hatch/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"aoF" = (/obj/effect/floor_decal/industrial/warning/red{dir = 6},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
-"aoG" = (/obj/structure/table/woodentable{dir = 5},/obj/machinery/button/remote/blast_door{id = "heavyrescue"; name = "Heavy Gear"; pixel_x = -5; pixel_y = 4},/turf/unsimulated/floor{icon_state = "cult"; name = "plating"},/area/rescue_base/base)
-"aoH" = (/obj/item/modular_computer/console/preset/ert,/turf/unsimulated/floor{icon_state = "cult"; name = "plating"},/area/rescue_base/base)
-"aoI" = (/obj/structure/table/woodentable{dir = 5},/obj/machinery/button/remote/blast_door{id = "standardrescue"; name = "Standard Gear"; pixel_x = 5; pixel_y = 4},/turf/unsimulated/floor{icon_state = "cult"; name = "plating"},/area/rescue_base/base)
-"aoJ" = (/obj/structure/table/rack,/obj/item/clothing/suit/armor/vest/ert/engineer,/obj/item/clothing/head/helmet/ert/engineer,/obj/item/clothing/suit/armor/vest/ert/engineer,/obj/item/clothing/head/helmet/ert/engineer,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"aoK" = (/obj/structure/table/rack,/obj/item/storage/backpack/ert/engineer,/obj/item/storage/backpack/ert/engineer,/obj/item/storage/belt/utility/full,/obj/item/storage/belt/utility/full,/obj/item/clothing/gloves/insulated,/obj/item/clothing/gloves/insulated,/obj/item/clothing/gloves/insulated,/obj/item/clothing/gloves/insulated,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"aoL" = (/obj/structure/table/rack,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/glasses/hud/standard/meson,/obj/item/clothing/glasses/hud/standard/meson,/obj/item/clothing/glasses/welding/superior,/obj/item/clothing/glasses/welding/superior,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"aoM" = (/obj/structure/table/rack,/obj/item/device/flash,/obj/item/device/flash,/obj/item/melee/baton/loaded,/obj/item/melee/baton/loaded,/obj/item/grenade/chem_grenade/metalfoam,/obj/item/grenade/chem_grenade/metalfoam,/obj/item/grenade/chem_grenade/metalfoam,/obj/item/grenade/chem_grenade/metalfoam,/obj/item/grenade/chem_grenade/metalfoam,/obj/item/grenade/chem_grenade/metalfoam,/obj/item/grenade/chem_grenade/metalfoam,/obj/item/grenade/chem_grenade/metalfoam,/obj/item/inflatable_dispenser,/obj/item/inflatable_dispenser,/obj/item/pickaxe/drill/diamonddrill,/obj/item/pickaxe/drill/diamonddrill,/obj/item/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"aoN" = (/obj/structure/table/reinforced,/obj/item/taperoll/engineering,/obj/item/taperoll/engineering,/obj/item/taperoll/atmos,/obj/item/taperoll/atmos,/obj/item/device/multitool,/obj/item/device/multitool,/obj/item/tape_roll,/obj/item/tape_roll,/obj/item/tape_roll,/obj/item/tape_roll,/obj/item/cell/high,/obj/item/cell/high,/obj/item/cell/high,/obj/item/cell/high,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"aoO" = (/obj/structure/table/reinforced,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/construction/rcd,/obj/item/construction/rcd,/obj/item/construction/rcd,/obj/item/construction/rcd,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"aoP" = (/obj/structure/table/reinforced,/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/steel{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/material/steel{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/material/steel{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/material/steel{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/material/plasteel{amount = 50},/obj/item/stack/material/plasteel{amount = 50},/obj/item/stack/material/plasteel{amount = 50},/obj/item/stack/material/plasteel{amount = 50},/obj/item/stack/material/glass/reinforced{amount = 50},/obj/item/stack/material/glass/reinforced{amount = 50},/obj/item/stack/material/glass/reinforced{amount = 50},/obj/item/stack/material/glass/reinforced{amount = 50},/obj/item/stack/material/plastic{amount = 50},/obj/item/stack/material/plastic{amount = 50},/obj/item/stack/material/plastic{amount = 50},/obj/item/stack/material/plastic{amount = 50},/obj/item/stack/material/glass/plass{amount = 20},/obj/item/stack/material/glass/plass{amount = 20},/obj/item/stack/material/glass/plass{amount = 20},/obj/item/stack/material/glass/plass{amount = 20},/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"aoQ" = (/obj/structure/table/reinforced,/obj/item/circuitboard/smes,/obj/item/circuitboard/smes,/obj/item/smes_coil,/obj/item/smes_coil,/obj/item/smes_coil/super_capacity,/obj/item/smes_coil/super_capacity,/obj/item/smes_coil/super_io,/obj/item/smes_coil/super_io,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"aoR" = (/obj/machinery/portable_atmospherics/canister/air,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"aoS" = (/obj/machinery/mech_recharger,/obj/mecha/working/hoverpod,/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/rescue_base/base)
+"aoG" = (/obj/structure/table/woodentable{dir = 5},/obj/machinery/button/remote/blast_door{name = "Heavy Gear"; pixel_x = -5; pixel_y = 4; id = "heavyrescue"},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/rescue_base/base)
+"aoH" = (/obj/item/modular_computer/console/preset/ert,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/rescue_base/base)
+"aoI" = (/obj/structure/table/woodentable{dir = 5},/obj/machinery/button/remote/blast_door{name = "Standard Gear"; pixel_x = 5; pixel_y = 4; id = "standardrescue"},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/rescue_base/base)
+"aoJ" = (/obj/structure/table/rack,/obj/item/clothing/suit/armor/vest/ert/engineer,/obj/item/clothing/head/helmet/ert/engineer,/obj/item/clothing/suit/armor/vest/ert/engineer,/obj/item/clothing/head/helmet/ert/engineer,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"aoK" = (/obj/structure/table/rack,/obj/item/storage/backpack/ert/engineer,/obj/item/storage/backpack/ert/engineer,/obj/item/storage/belt/utility/full,/obj/item/storage/belt/utility/full,/obj/item/clothing/gloves/insulated,/obj/item/clothing/gloves/insulated,/obj/item/clothing/gloves/insulated,/obj/item/clothing/gloves/insulated,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"aoL" = (/obj/structure/table/rack,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/glasses/hud/standard/meson,/obj/item/clothing/glasses/hud/standard/meson,/obj/item/clothing/glasses/welding/superior,/obj/item/clothing/glasses/welding/superior,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"aoM" = (/obj/structure/table/rack,/obj/item/device/flash,/obj/item/device/flash,/obj/item/melee/baton/loaded,/obj/item/melee/baton/loaded,/obj/item/grenade/chem_grenade/metalfoam,/obj/item/grenade/chem_grenade/metalfoam,/obj/item/grenade/chem_grenade/metalfoam,/obj/item/grenade/chem_grenade/metalfoam,/obj/item/grenade/chem_grenade/metalfoam,/obj/item/grenade/chem_grenade/metalfoam,/obj/item/grenade/chem_grenade/metalfoam,/obj/item/grenade/chem_grenade/metalfoam,/obj/item/inflatable_dispenser,/obj/item/inflatable_dispenser,/obj/item/pickaxe/drill/diamonddrill,/obj/item/pickaxe/drill/diamonddrill,/obj/item/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"aoN" = (/obj/structure/table/reinforced,/obj/item/taperoll/engineering,/obj/item/taperoll/engineering,/obj/item/taperoll/atmos,/obj/item/taperoll/atmos,/obj/item/device/multitool,/obj/item/device/multitool,/obj/item/tape_roll,/obj/item/tape_roll,/obj/item/tape_roll,/obj/item/tape_roll,/obj/item/cell/high,/obj/item/cell/high,/obj/item/cell/high,/obj/item/cell/high,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"aoO" = (/obj/structure/table/reinforced,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/construction/rcd,/obj/item/construction/rcd,/obj/item/construction/rcd,/obj/item/construction/rcd,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"aoP" = (/obj/structure/table/reinforced,/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/steel{pixel_x = 2; pixel_y = 2; amount = 50},/obj/item/stack/material/steel{pixel_x = 2; pixel_y = 2; amount = 50},/obj/item/stack/material/steel{pixel_x = 2; pixel_y = 2; amount = 50},/obj/item/stack/material/steel{pixel_x = 2; pixel_y = 2; amount = 50},/obj/item/stack/material/plasteel{amount = 50},/obj/item/stack/material/plasteel{amount = 50},/obj/item/stack/material/plasteel{amount = 50},/obj/item/stack/material/plasteel{amount = 50},/obj/item/stack/material/glass/reinforced{amount = 50},/obj/item/stack/material/glass/reinforced{amount = 50},/obj/item/stack/material/glass/reinforced{amount = 50},/obj/item/stack/material/glass/reinforced{amount = 50},/obj/item/stack/material/plastic{amount = 50},/obj/item/stack/material/plastic{amount = 50},/obj/item/stack/material/plastic{amount = 50},/obj/item/stack/material/plastic{amount = 50},/obj/item/stack/material/glass/plass{amount = 20},/obj/item/stack/material/glass/plass{amount = 20},/obj/item/stack/material/glass/plass{amount = 20},/obj/item/stack/material/glass/plass{amount = 20},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"aoQ" = (/obj/structure/table/reinforced,/obj/item/circuitboard/smes,/obj/item/circuitboard/smes,/obj/item/smes_coil,/obj/item/smes_coil,/obj/item/smes_coil/super_capacity,/obj/item/smes_coil/super_capacity,/obj/item/smes_coil/super_io,/obj/item/smes_coil/super_io,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"aoR" = (/obj/machinery/portable_atmospherics/canister/air,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"aoS" = (/obj/machinery/mech_recharger,/obj/mecha/working/hoverpod,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
"aoT" = (/obj/item/device/radio/intercom/specops{pixel_y = 22},/turf/unsimulated/floor{icon_state = "dark"},/area/rescue_base/base)
-"aoU" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/armor_booster/anticcw_armor_booster,/obj/item/mecha_parts/mecha_equipment/armor_booster/antiproj_armor_booster,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
+"aoU" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/armor_booster/anticcw_armor_booster,/obj/item/mecha_parts/mecha_equipment/armor_booster/antiproj_armor_booster,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"aoV" = (/obj/structure/table/standard,/obj/item/hand_labeler,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
"aoW" = (/obj/structure/toilet{dir = 4},/turf/simulated/floor/shuttle/black,/area/syndicate_station/start)
-"aoX" = (/obj/machinery/flasher{id = "syndieflash"; pixel_y = 28},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/shuttle/black,/area/syndicate_station/start)
+"aoX" = (/obj/machinery/flasher{pixel_y = 28; id = "syndieflash"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/shuttle/black,/area/syndicate_station/start)
"aoY" = (/obj/item/device/radio/electropack,/turf/simulated/floor/shuttle/black,/area/syndicate_station/start)
"aoZ" = (/obj/item/device/radio/intercom/syndicate{dir = 1; pixel_y = -22},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"apa" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1331; id_tag = "merc_shuttle_pump"},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
-"apb" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 1},/obj/machinery/airlock_sensor{frequency = 1331; id_tag = "merc_shuttle_sensor"; pixel_x = 8; pixel_y = 25},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
-"apc" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1331; id_tag = "merc_shuttle_pump"},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1331; id_tag = "merc_shuttle"; pixel_x = -8; pixel_y = 25; req_access = list(150)},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
-"apd" = (/obj/machinery/door/airlock/external{frequency = 1331; id_tag = "merc_shuttle_outer"; name = "Ship External Access"; req_access = list(150)},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "smindicate"; name = "Outer Airlock"; opacity = 0},/obj/machinery/shield_diffuser,/turf/simulated/floor/plating,/area/syndicate_station/start)
-"ape" = (/obj/machinery/door/airlock/external{frequency = 1331; id_tag = "merc_base_hatch"; req_access = list(150)},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
-"apf" = (/obj/structure/window/reinforced/crescent,/obj/structure/table/rack,/obj/item/rig_module/mounted/taser,/obj/item/rig_module/mounted/taser,/obj/item/rig_module/maneuvering_jets,/obj/item/rig_module/maneuvering_jets,/obj/item/rig_module/device/drill,/obj/item/rig_module/device/drill,/obj/item/rig_module/device/rcd,/obj/item/rig_module/device/rcd,/obj/item/rig_module/vision/meson,/obj/item/rig_module/vision/meson,/obj/structure/window/reinforced/crescent{dir = 8},/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
+"apb" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 1},/obj/machinery/airlock_sensor{pixel_x = 8; pixel_y = 25; frequency = 1331; id_tag = "merc_shuttle_sensor"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"apc" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1331; id_tag = "merc_shuttle_pump"},/obj/machinery/embedded_controller/radio/airlock/docking_port{pixel_x = -8; pixel_y = 25; frequency = 1331; req_access = list(150); id_tag = "merc_shuttle"},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"apd" = (/obj/machinery/door/airlock/external{name = "Ship External Access"; frequency = 1331; req_access = list(150); id_tag = "merc_shuttle_outer"},/obj/machinery/door/blast/regular{name = "Outer Airlock"; icon_state = "pdoor0"; opacity = 0; density = 0; id = "smindicate"},/obj/machinery/shield_diffuser,/turf/simulated/floor/plating,/area/syndicate_station/start)
+"ape" = (/obj/machinery/door/airlock/external{frequency = 1331; req_access = list(150); id_tag = "merc_base_hatch"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"apf" = (/obj/structure/window/reinforced/crescent,/obj/structure/table/rack,/obj/item/rig_module/mounted/taser,/obj/item/rig_module/mounted/taser,/obj/item/rig_module/maneuvering_jets,/obj/item/rig_module/maneuvering_jets,/obj/item/rig_module/device/drill,/obj/item/rig_module/device/drill,/obj/item/rig_module/device/rcd,/obj/item/rig_module/device/rcd,/obj/item/rig_module/vision/meson,/obj/item/rig_module/vision/meson,/obj/structure/window/reinforced/crescent{dir = 8},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"apg" = (/obj/machinery/door/airlock/vault{name = "Armory"; req_access = list(150)},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"aph" = (/obj/structure/table/reinforced,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"api" = (/obj/effect/floor_decal/sign/armory/suits{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
-"apj" = (/obj/structure/table/woodentable{dir = 5},/obj/item/material/ashtray/bronze,/obj/item/cigbutt/cigarbutt,/obj/item/device/radio/phone{desc = "Should anything ever go wrong..."; frequency = 1345},/turf/unsimulated/floor{icon_state = "cult"; name = "plating"},/area/rescue_base/base)
-"apk" = (/obj/structure/bed/chair/comfy/brown{dir = 1},/turf/unsimulated/floor{icon_state = "cult"; name = "plating"},/area/rescue_base/base)
-"apl" = (/obj/structure/table/woodentable{dir = 5},/obj/item/storage/fancy/cigar,/obj/item/flame/lighter/zippo,/turf/unsimulated/floor{icon_state = "cult"; name = "plating"},/area/rescue_base/base)
-"apm" = (/obj/item/reagent_containers/food/checker/queen{randpixel = 0},/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_chess)
-"apn" = (/obj/mecha/combat/gygax/dark,/obj/machinery/mech_recharger,/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/rescue_base/base)
+"apj" = (/obj/structure/table/woodentable{dir = 5},/obj/item/material/ashtray/bronze,/obj/item/cigbutt/cigarbutt,/obj/item/device/radio/phone{desc = "Should anything ever go wrong..."; frequency = 1345},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/rescue_base/base)
+"apk" = (/obj/structure/bed/chair/comfy/brown{dir = 1},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/rescue_base/base)
+"apl" = (/obj/structure/table/woodentable{dir = 5},/obj/item/storage/fancy/cigar,/obj/item/flame/lighter/zippo,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/rescue_base/base)
+"apn" = (/obj/mecha/combat/gygax/dark,/obj/machinery/mech_recharger,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
"apo" = (/obj/effect/shuttle_landmark/escape_pod/out/pod5,/turf/space,/area/shuttle/escape_pod1/centcom)
-"app" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_5_recovery_hatch"; locked = 1; name = "Recovery Shuttle Dock"; req_access = list(13)},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor2"},/area/centcom/evac)
-"apq" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "escape_pod_5_recovery"; pixel_x = -25; pixel_y = 25; req_one_access = list(13); tag_door = "escape_pod_5_recovery_hatch"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor2"},/area/centcom/evac)
+"app" = (/obj/machinery/door/airlock/external{name = "Recovery Shuttle Dock"; icon_state = "door_locked"; frequency = 1380; locked = 1; req_access = list(13); id_tag = "escape_pod_5_recovery_hatch"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor2"},/area/centcom/evac)
+"apq" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{pixel_x = -25; pixel_y = 25; frequency = 1380; req_one_access = list(13); id_tag = "escape_pod_5_recovery"; tag_door = "escape_pod_5_recovery_hatch"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor2"},/area/centcom/evac)
"apr" = (/obj/structure/bed/chair{dir = 1},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
-"aps" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "escape_pod_3_recovery"; pixel_x = 25; pixel_y = -25; req_one_access = list(13); tag_door = "escape_pod_3_recovery_hatch"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor2"},/area/centcom/evac)
-"apt" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_3_recovery_hatch"; locked = 1; name = "Recovery Shuttle Dock"; req_access = list(13)},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor2"},/area/centcom/evac)
+"aps" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{pixel_x = 25; pixel_y = -25; frequency = 1380; req_one_access = list(13); id_tag = "escape_pod_3_recovery"; tag_door = "escape_pod_3_recovery_hatch"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor2"},/area/centcom/evac)
+"apt" = (/obj/machinery/door/airlock/external{name = "Recovery Shuttle Dock"; icon_state = "door_locked"; frequency = 1380; locked = 1; req_access = list(13); id_tag = "escape_pod_3_recovery_hatch"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor2"},/area/centcom/evac)
"apu" = (/obj/effect/shuttle_landmark/escape_pod/out/pod3,/turf/space,/area/shuttle/escape_pod2/centcom)
-"apv" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "syndieshutters_infirmary"; name = "Shuttle Blast Shutters"; opacity = 0},/obj/structure/window/syndi{icon_state = "ws2"},/turf/simulated/floor/plating,/area/syndicate_station/start)
+"apv" = (/obj/machinery/door/blast/regular{name = "Shuttle Blast Shutters"; icon_state = "pdoor0"; opacity = 0; density = 0; id = "syndieshutters_infirmary"},/obj/structure/window/syndi{icon_state = "ws2"},/turf/simulated/floor/plating,/area/syndicate_station/start)
"apw" = (/turf/simulated/floor/shuttle/black,/area/syndicate_station/start)
"apx" = (/obj/item/cigbutt,/turf/simulated/floor/shuttle/black,/area/syndicate_station/start)
-"apy" = (/obj/machinery/door/window{dir = 2; name = "Seating"; req_access = list(150)},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"apy" = (/obj/machinery/door/window{name = "Seating"; dir = 2; req_access = list(150)},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"apz" = (/obj/structure/table/standard,/obj/machinery/computer/pod/old/syndicate{id = "smindicate"},/obj/machinery/door/window{name = "Blast Door Control"; req_access = list(150)},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"apA" = (/obj/machinery/atmospherics/pipe/manifold4w/visible,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"apB" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1331; id_tag = "merc_shuttle_pump"},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
-"apC" = (/obj/structure/window/reinforced/crescent,/obj/structure/table/rack,/obj/item/rig/ert/engineer,/obj/item/clothing/accessory/holochip/ert,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
+"apC" = (/obj/structure/window/reinforced/crescent,/obj/structure/table/rack,/obj/item/rig/ert/engineer,/obj/item/clothing/accessory/holochip/ert,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"apD" = (/obj/effect/floor_decal/industrial/warning/red{dir = 10},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"apE" = (/obj/structure/table/rack,/obj/item/ammo_magazine/a10mm,/obj/item/ammo_magazine/a10mm,/obj/item/ammo_magazine/a10mm,/obj/item/ammo_magazine/a10mm,/obj/item/ammo_magazine/a10mm,/obj/item/ammo_magazine/a10mm,/obj/item/gun/projectile/automatic/c20r,/obj/item/gun/projectile/automatic/c20r,/obj/item/gun/projectile/automatic/c20r,/obj/effect/floor_decal/industrial/hatch/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"apF" = (/obj/structure/table/rack,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/item/device/suit_cooling_unit,/obj/item/ammo_magazine/c556,/obj/item/ammo_magazine/c556,/obj/item/ammo_magazine/c556,/obj/effect/floor_decal/industrial/hatch/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"apG" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/rescue_base/base)
-"apH" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp,/obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"apI" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay,/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay,/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay,/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay,/obj/item/mecha_parts/mecha_equipment/repair_droid,/obj/item/mecha_parts/mecha_equipment/repair_droid,/obj/item/mecha_parts/mecha_equipment/repair_droid,/obj/item/mecha_parts/mecha_equipment/repair_droid,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"apJ" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/tool/drill/diamonddrill,/obj/item/mecha_parts/mecha_equipment/tool/cable_layer,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"apK" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/tool/extinguisher,/obj/item/mecha_parts/mecha_equipment/tool/rcd,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"apL" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/tool/passenger,/obj/item/mecha_parts/mecha_equipment/tool/passenger,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"apM" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/weapon/energy/ion,/obj/item/mecha_parts/mecha_equipment/weapon/energy/taser,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
+"apH" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp,/obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"apI" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay,/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay,/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay,/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay,/obj/item/mecha_parts/mecha_equipment/repair_droid,/obj/item/mecha_parts/mecha_equipment/repair_droid,/obj/item/mecha_parts/mecha_equipment/repair_droid,/obj/item/mecha_parts/mecha_equipment/repair_droid,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"apJ" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/tool/drill/diamonddrill,/obj/item/mecha_parts/mecha_equipment/tool/cable_layer,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"apK" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/tool/extinguisher,/obj/item/mecha_parts/mecha_equipment/tool/rcd,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"apL" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/tool/passenger,/obj/item/mecha_parts/mecha_equipment/tool/passenger,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"apM" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/weapon/energy/ion,/obj/item/mecha_parts/mecha_equipment/weapon/energy/taser,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"apN" = (/obj/machinery/vending/coffee,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
"apO" = (/turf/unsimulated/wall{icon_state = "riveted_straight"; dir = 8},/area/centcom)
-"apP" = (/obj/machinery/door/window{dir = 1; name = "Cell"; req_access = list(150)},/obj/item/device/radio/intercom/syndicate{dir = 8; pixel_x = 22},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"apP" = (/obj/machinery/door/window{name = "Cell"; dir = 1; req_access = list(150)},/obj/item/device/radio/intercom/syndicate{dir = 8; pixel_x = 22},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"apQ" = (/obj/machinery/vending/assist/antag,/obj/machinery/light{dir = 4},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
-"apR" = (/obj/machinery/door/airlock/external{frequency = 1331; id_tag = "merc_shuttle_inner"; name = "Ship External Access"; req_access = list(0)},/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
-"apS" = (/obj/structure/window/reinforced/crescent,/obj/structure/table/rack,/obj/item/rig/ert/engineer,/obj/structure/window/reinforced/crescent{dir = 4},/obj/item/clothing/accessory/holochip/ert,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
+"apR" = (/obj/machinery/door/airlock/external{name = "Ship External Access"; frequency = 1331; req_access = list(0); id_tag = "merc_shuttle_inner"},/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"apS" = (/obj/structure/window/reinforced/crescent,/obj/structure/table/rack,/obj/item/rig/ert/engineer,/obj/structure/window/reinforced/crescent{dir = 4},/obj/item/clothing/accessory/holochip/ert,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"apT" = (/obj/effect/floor_decal/industrial/warning/corner,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"apU" = (/obj/structure/table/rack,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/effect/floor_decal/industrial/hatch/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"apV" = (/obj/structure/table/rack,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/effect/floor_decal/industrial/hatch/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"apW" = (/obj/effect/floor_decal/industrial/warning/red{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"apX" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"; dir = 10},/area/centcom/evac)
"apY" = (/obj/machinery/computer/arcade,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
-"apZ" = (/turf/unsimulated/wall{desc = "That looks like it doesn't open easily."; dir = 4; icon = 'icons/obj/doors/rapid_pdoor.dmi'; icon_state = "pdoor1"; name = "Shuttle Bay Blast Door"},/area/centcom)
+"apZ" = (/turf/unsimulated/wall{name = "Shuttle Bay Blast Door"; desc = "That looks like it doesn't open easily."; icon = 'icons/obj/doors/rapid_pdoor.dmi'; icon_state = "pdoor1"; dir = 4},/area/centcom)
"aqa" = (/turf/unsimulated/floor{name = "plating"},/area/centcom)
"aqb" = (/turf/simulated/floor/plating,/area/syndicate_mothership/ninja)
-"aqc" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/button/flasher{id = "syndieflash"; name = "Flasher"; pixel_x = 27},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"aqc" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/button/flasher{name = "Flasher"; pixel_x = 27; id = "syndieflash"},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"aqd" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"aqe" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/machinery/meter,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
-"aqf" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1331; master_tag = "merc_shuttle"; name = "interior access button"; pixel_x = 25; pixel_y = 25; req_access = list(150)},/obj/machinery/atmospherics/pipe/simple/visible{dir = 9},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"aqf" = (/obj/machinery/access_button{name = "interior access button"; pixel_x = 25; pixel_y = 25; frequency = 1331; req_access = list(150); command = "cycle_interior"; master_tag = "merc_shuttle"},/obj/machinery/atmospherics/pipe/simple/visible{dir = 9},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"aqg" = (/obj/machinery/suit_cycler/syndicate{locked = 0},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"aqh" = (/obj/machinery/door/airlock/centcom{name = "Hardsuit Storage"; opacity = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"aqi" = (/obj/structure/closet/secure_closet/personal/patient,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor3"},/area/centcom/evac)
@@ -831,11 +625,11 @@
"aqk" = (/obj/structure/grille,/obj/structure/window/shuttle{icon_state = "11"},/turf/simulated/floor/plating,/area/centcom/evac)
"aql" = (/obj/structure/window_frame/grille,/obj/structure/window/shuttle{icon_state = "2"},/turf/simulated/floor/plating,/area/centcom/evac)
"aqm" = (/turf/unsimulated/floor{name = "plating"},/turf/simulated/shuttle/wall/corner/syndi/nw,/area/shuttle/administration/centcom)
-"aqn" = (/turf/simulated/shuttle/wall/syndi{dir = 4; icon_state = "syndiwall_straight"},/area/shuttle/administration/centcom)
+"aqn" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_straight"; dir = 4},/area/shuttle/administration/centcom)
"aqo" = (/turf/unsimulated/floor{name = "plating"},/turf/simulated/shuttle/wall/corner/syndi/ne,/area/shuttle/administration/centcom)
"aqp" = (/obj/item/material/kitchen/utensil/knife{pixel_x = -6},/obj/item/reagent_containers/syringe/drugs{pixel_x = 3; pixel_y = -1},/obj/item/reagent_containers/syringe/drugs{pixel_x = 3; pixel_y = 4},/obj/item/reagent_containers/syringe/drugs{pixel_x = 3; pixel_y = 9},/obj/structure/table/glass,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"aqq" = (/obj/machinery/door/window{name = "Brig"; req_access = list(150)},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
-"aqr" = (/obj/machinery/door/window{base_state = "right"; dir = 8; icon_state = "right"; name = "Preparation"; req_access = list(150)},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"aqr" = (/obj/machinery/door/window{name = "Preparation"; icon_state = "right"; dir = 8; req_access = list(150); base_state = "right"},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"aqs" = (/obj/structure/closet/syndicate/suit{name = "suit closet"},/obj/machinery/light{dir = 4},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"aqt" = (/obj/effect/floor_decal/industrial/warning/red/corner{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"aqu" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/rescue_base/base)
@@ -848,15 +642,15 @@
"aqB" = (/obj/structure/table/reinforced,/obj/item/paper_bin,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac)
"aqC" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac)
"aqD" = (/obj/structure/table/reinforced,/obj/item/pen,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac)
-"aqE" = (/obj/machinery/vending/boozeomat,/turf/simulated/shuttle/wall/syndi{dir = 9; icon_state = "syndiwall"},/area/shuttle/administration/centcom)
+"aqE" = (/obj/machinery/vending/boozeomat,/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 9},/area/shuttle/administration/centcom)
"aqF" = (/turf/simulated/floor/shuttle/red,/area/shuttle/administration/centcom)
"aqG" = (/obj/item/stool,/turf/simulated/floor/shuttle/red,/area/shuttle/administration/centcom)
"aqH" = (/obj/structure/table/rack,/obj/item/rig/light/internalaffairs/equipped,/obj/item/rig/light/internalaffairs/equipped,/turf/simulated/floor/shuttle/red,/area/shuttle/administration/centcom)
"aqI" = (/obj/machinery/light{dir = 1},/obj/structure/table/reinforced,/turf/simulated/floor/shuttle/red,/area/shuttle/administration/centcom)
"aqJ" = (/obj/machinery/sleeper,/turf/simulated/floor/shuttle/red,/area/shuttle/administration/centcom)
"aqK" = (/obj/structure/closet{name = "custodial"},/obj/item/reagent_containers/vessel/bucket,/obj/item/mop,/obj/item/reagent_containers/spray/cleaner,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
-"aqL" = (/obj/machinery/door/window{base_state = "right"; icon_state = "right"; name = "Brig"; req_access = list(150)},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
-"aqM" = (/obj/machinery/door/window{dir = 8; name = "Preparation"; req_access = list(150)},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"aqL" = (/obj/machinery/door/window{name = "Brig"; icon_state = "right"; req_access = list(150); base_state = "right"},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"aqM" = (/obj/machinery/door/window{name = "Preparation"; dir = 8; req_access = list(150)},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"aqN" = (/obj/structure/table/standard,/obj/item/storage/toolbox/syndicate{pixel_x = -1; pixel_y = 3},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"aqO" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/rescue_base/base)
"aqP" = (/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/rescue_base/base)
@@ -876,7 +670,7 @@
"ard" = (/turf/simulated/shuttle/wall/corner/syndi/nw,/area/rescue_base/start)
"are" = (/obj/effect/floor_decal/industrial/warning/red/corner{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"arf" = (/turf/simulated/shuttle/wall/corner/syndi/ne,/area/rescue_base/start)
-"arg" = (/turf/simulated/shuttle/wall/syndi{dir = 8; icon_state = "syndiwall_t"},/area/rescue_base/start)
+"arg" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_t"; dir = 8},/area/rescue_base/start)
"arh" = (/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = -30},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor3"},/area/centcom/evac)
"ari" = (/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac)
"arj" = (/obj/machinery/vending/coffee{prices = list()},/turf/simulated/floor/shuttle/red,/area/shuttle/administration/centcom)
@@ -900,18 +694,18 @@
"arB" = (/obj/item/clothing/gloves/insulated,/obj/item/device/assembly/signaler{pixel_y = 2},/obj/item/clothing/glasses/hud/scanners/night,/obj/structure/table/steel,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"arC" = (/obj/item/clothing/gloves/insulated,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/clothing/glasses/hud/scanners/night,/obj/structure/table/steel,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"arD" = (/obj/item/clothing/gloves/insulated,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/clothing/glasses/hud/scanners/night,/obj/machinery/light{dir = 4},/obj/structure/table/steel,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
-"arE" = (/obj/structure/table/steel_reinforced,/obj/machinery/button/remote/blast_door{icon_state = "doorctrl0"; id = "rescuebridge"; name = "Mech Storage"; pixel_y = -4; req_access = list(108)},/turf/simulated/floor/shuttle/black,/area/rescue_base/start)
+"arE" = (/obj/structure/table/steel_reinforced,/obj/machinery/button/remote/blast_door{name = "Mech Storage"; icon_state = "doorctrl0"; pixel_y = -4; id = "rescuebridge"; req_access = list(108)},/turf/simulated/floor/shuttle/black,/area/rescue_base/start)
"arF" = (/obj/item/modular_computer/console/preset/command,/turf/simulated/floor/shuttle/black,/area/rescue_base/start)
"arG" = (/obj/machinery/computer/shuttle_control/multi/rescue,/turf/simulated/floor/shuttle/black,/area/rescue_base/start)
"arH" = (/obj/structure/table/steel_reinforced,/obj/machinery/recharger{pixel_y = 4},/obj/machinery/light{dir = 4},/turf/simulated/floor/shuttle/black,/area/rescue_base/start)
"arI" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1331; id_tag = "rescue_shuttle_pump"},/obj/machinery/light{dir = 8},/obj/structure/table/steel_reinforced,/turf/simulated/floor/shuttle/red,/area/rescue_base/start)
"arJ" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 1},/obj/structure/bed/chair,/turf/simulated/floor/shuttle/red,/area/rescue_base/start)
-"arK" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 1},/obj/structure/bed/chair,/obj/machinery/airlock_sensor{frequency = 1331; id_tag = "rescue_shuttle_sensor"; pixel_x = 8; pixel_y = 25},/turf/simulated/floor/shuttle/red,/area/rescue_base/start)
+"arK" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 1},/obj/structure/bed/chair,/obj/machinery/airlock_sensor{pixel_x = 8; pixel_y = 25; frequency = 1331; id_tag = "rescue_shuttle_sensor"},/turf/simulated/floor/shuttle/red,/area/rescue_base/start)
"arL" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1331; id_tag = "rescue_shuttle_pump"},/obj/machinery/light{dir = 4},/obj/structure/bed/chair,/turf/simulated/floor/shuttle/red,/area/rescue_base/start)
-"arM" = (/obj/machinery/door/window/northright{dir = 4; name = "Security Desk"; req_access = list(103)},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac)
+"arM" = (/obj/machinery/door/window/northright{name = "Security Desk"; dir = 4; req_access = list(103)},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac)
"arN" = (/obj/structure/table/standard,/obj/item/storage/box/handcuffs,/obj/item/device/flash,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac)
-"arO" = (/obj/structure/shuttle/engine/propulsion{dir = 8; icon_state = "propulsion_l"},/turf/space,/area/shuttle/administration/centcom)
-"arP" = (/obj/structure/shuttle/engine/heater{dir = 8},/turf/simulated/shuttle/wall/syndi{dir = 4; icon_state = "syndiwall_t"},/area/shuttle/administration/centcom)
+"arO" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"; dir = 8},/turf/space,/area/shuttle/administration/centcom)
+"arP" = (/obj/structure/shuttle/engine/heater{dir = 8},/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_t"; dir = 4},/area/shuttle/administration/centcom)
"arQ" = (/obj/machinery/vending/snack{prices = list()},/turf/simulated/floor/shuttle/red,/area/shuttle/administration/centcom)
"arR" = (/obj/machinery/sleeper{dir = 1},/turf/simulated/floor/shuttle/red,/area/shuttle/administration/centcom)
"arS" = (/obj/structure/table/reinforced,/turf/simulated/floor/shuttle/red,/area/shuttle/administration/centcom)
@@ -927,7 +721,7 @@
"asc" = (/obj/machinery/vending/cola,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/living)
"asd" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/living)
"ase" = (/turf/unsimulated/floor{name = "plating"},/area/centcom/suppy)
-"asf" = (/turf/unsimulated/wall{desc = "That looks like it doesn't open easily."; dir = 8; icon = 'icons/obj/doors/rapid_pdoor.dmi'; icon_state = "pdoor1"; name = "Shuttle Bay Blast Door"},/area/centcom/suppy)
+"asf" = (/turf/unsimulated/wall{name = "Shuttle Bay Blast Door"; desc = "That looks like it doesn't open easily."; icon = 'icons/obj/doors/rapid_pdoor.dmi'; icon_state = "pdoor1"; dir = 8},/area/centcom/suppy)
"asg" = (/obj/effect/floor_decal/sign/armory/ballistic1{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"ash" = (/obj/item/screwdriver,/obj/structure/table/steel,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"asi" = (/obj/effect/floor_decal/sign/armory/ballistic2{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
@@ -938,20 +732,20 @@
"asn" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/shuttle/red,/area/rescue_base/start)
"aso" = (/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor/shuttle/red,/area/rescue_base/start)
"asp" = (/turf/simulated/floor/shuttle/red,/area/rescue_base/start)
-"asq" = (/obj/machinery/door/airlock/external{frequency = 1331; id_tag = "rescue_shuttle_outer"; name = "Ship External Access"; req_access = list(103)},/obj/machinery/shield_diffuser,/turf/simulated/floor/shuttle/red,/area/rescue_base/start)
+"asq" = (/obj/machinery/door/airlock/external{name = "Ship External Access"; frequency = 1331; req_access = list(103); id_tag = "rescue_shuttle_outer"},/obj/machinery/shield_diffuser,/turf/simulated/floor/shuttle/red,/area/rescue_base/start)
"asr" = (/turf/simulated/shuttle/wall{icon_state = "syndiwall_b"; dir = 1},/area/centcom/evac)
"ass" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"; dir = 9},/area/centcom/evac)
"ast" = (/obj/machinery/door/airlock/hatch{name = "Cockpit"; req_access = list(109)},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor2"},/area/centcom/evac)
-"asu" = (/obj/structure/shuttle/engine/propulsion{dir = 8; icon_state = "propulsion_r"},/turf/space,/area/shuttle/administration/centcom)
+"asu" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"; dir = 8},/turf/space,/area/shuttle/administration/centcom)
"asv" = (/obj/machinery/vending/coffee,/turf/simulated/floor/shuttle/red,/area/shuttle/administration/centcom)
"asw" = (/turf/unsimulated/floor{name = "plating"},/turf/simulated/shuttle/wall/corner/syndi/se,/area/shuttle/administration/centcom)
-"asx" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "admin_shuttle_centcom_dock"; name = "shuttle bay controller"; pixel_x = 25; tag_door = "admin_shuttle_bay_door"},/turf/unsimulated/floor{name = "plating"},/area/centcom)
+"asx" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{name = "shuttle bay controller"; pixel_x = 25; frequency = 1380; id_tag = "admin_shuttle_centcom_dock"; tag_door = "admin_shuttle_bay_door"},/turf/unsimulated/floor{name = "plating"},/area/centcom)
"asy" = (/obj/item/reagent_containers/vessel/bottle/small/beer,/obj/structure/table/standard,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/living)
"asz" = (/obj/structure/table/standard,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/living)
"asA" = (/obj/machinery/door/airlock/external,/turf/unsimulated/floor{name = "plating"},/area/centcom/living)
"asB" = (/turf/unsimulated/floor{name = "plating"},/area/centcom/living)
"asC" = (/turf/simulated/shuttle/wall/corner/mining/nw,/area/supply/dock)
-"asD" = (/turf/simulated/shuttle/wall/mining{dir = 8; icon_state = "mwall_straight"},/area/supply/dock)
+"asD" = (/turf/simulated/shuttle/wall/mining{icon_state = "mwall_straight"; dir = 8},/area/supply/dock)
"asE" = (/turf/simulated/shuttle/wall/corner/mining/ne,/area/supply/dock)
"asF" = (/obj/machinery/bodyscanner{dir = 8},/turf/simulated/floor/shuttle/white,/area/syndicate_station/start)
"asG" = (/obj/machinery/body_scanconsole{dir = 8},/turf/simulated/floor/shuttle/white,/area/syndicate_station/start)
@@ -965,7 +759,7 @@
"asO" = (/obj/item/modular_computer/console/preset/engineering,/turf/simulated/floor/shuttle/black,/area/rescue_base/start)
"asP" = (/obj/structure/bed/chair{dir = 4},/obj/item/device/radio/intercom/specops{dir = 4; pixel_x = -22},/turf/simulated/floor/shuttle/red,/area/rescue_base/start)
"asQ" = (/obj/machinery/computer/crew,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
-"asR" = (/obj/structure/bed/chair{dir = 4; name = "Defense"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
+"asR" = (/obj/structure/bed/chair{name = "Defense"; dir = 4},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
"asS" = (/obj/item/modular_computer/console/preset/command,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
"asT" = (/turf/unsimulated/floor{name = "plating"},/turf/simulated/shuttle/wall/corner/syndi/sw,/area/shuttle/administration/centcom)
"asU" = (/obj/machinery/vending/cigarette{prices = list()},/turf/simulated/floor/shuttle/red,/area/shuttle/administration/centcom)
@@ -975,33 +769,33 @@
"asY" = (/obj/machinery/microwave,/obj/structure/table/reinforced,/turf/simulated/floor/shuttle/red,/area/shuttle/administration/centcom)
"asZ" = (/obj/item/modular_computer/console/preset/command,/turf/simulated/floor/shuttle/red,/area/shuttle/administration/centcom)
"ata" = (/obj/structure/window/reinforced/crescent,/turf/space,/area/space)
-"atb" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "admin_shuttle_bay_door"; locked = 1},/turf/unsimulated/floor{name = "plating"},/area/centcom/living)
+"atb" = (/obj/machinery/door/airlock/external{icon_state = "door_locked"; frequency = 1380; locked = 1; id_tag = "admin_shuttle_bay_door"},/turf/unsimulated/floor{name = "plating"},/area/centcom/living)
"atc" = (/turf/simulated/floor/shuttle/pod,/turf/simulated/shuttle/wall/corner/mining/se,/area/supply/dock)
"atd" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/shuttle/pod,/area/supply/dock)
-"ate" = (/obj/machinery/door/window{base_state = "right"; icon_state = "right"; name = "Infirmary"; req_access = list(150)},/turf/simulated/floor/shuttle/white,/area/syndicate_station/start)
-"atf" = (/obj/machinery/door/window{dir = 8; name = "Tool Storage"; req_access = list(150)},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"ate" = (/obj/machinery/door/window{name = "Infirmary"; icon_state = "right"; req_access = list(150); base_state = "right"},/turf/simulated/floor/shuttle/white,/area/syndicate_station/start)
+"atf" = (/obj/machinery/door/window{name = "Tool Storage"; dir = 8; req_access = list(150)},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"atg" = (/obj/item/aicard,/obj/structure/table/steel,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"ath" = (/obj/machinery/computer/prisoner{name = "Implant Management"},/obj/machinery/light{dir = 8},/turf/simulated/floor/shuttle/black,/area/rescue_base/start)
"ati" = (/obj/item/modular_computer/console/preset/ert,/turf/simulated/floor/shuttle/black,/area/rescue_base/start)
"atj" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1331; id_tag = "rescue_shuttle_pump"},/obj/machinery/light{dir = 8},/turf/simulated/floor/shuttle/red,/area/rescue_base/start)
"atk" = (/obj/machinery/atmospherics/pipe/manifold4w/visible,/turf/simulated/floor/shuttle/red,/area/rescue_base/start)
"atl" = (/obj/machinery/atmospherics/pipe/manifold4w/visible,/obj/machinery/meter,/turf/simulated/floor/shuttle/red,/area/rescue_base/start)
-"atm" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1331; id_tag = "rescue_shuttle_pump"},/obj/machinery/light{dir = 4},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1331; id_tag = "rescue_shuttle"; pixel_x = 25; req_access = list(103)},/turf/simulated/floor/shuttle/red,/area/rescue_base/start)
+"atm" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1331; id_tag = "rescue_shuttle_pump"},/obj/machinery/light{dir = 4},/obj/machinery/embedded_controller/radio/airlock/docking_port{pixel_x = 25; frequency = 1331; req_access = list(103); id_tag = "rescue_shuttle"},/turf/simulated/floor/shuttle/red,/area/rescue_base/start)
"atn" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
"ato" = (/obj/item/device/radio/off,/obj/structure/table/reinforced,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
"atp" = (/obj/structure/bed/chair/comfy/black{dir = 4},/turf/simulated/floor/shuttle/red,/area/shuttle/administration/centcom)
"atq" = (/obj/structure/window_frame/indestructible,/turf/unsimulated/floor{name = "plating"},/area/centcom/living)
"atr" = (/turf/simulated/floor/shuttle/pod,/area/supply/dock)
"ats" = (/obj/structure/window_frame/indestructible,/turf/unsimulated/floor{name = "plating"},/area/centcom/creed)
-"att" = (/obj/machinery/button/remote/blast_door{id = "syndieshutters_infirmary"; name = "remote shutter control"; pixel_x = -25},/obj/structure/mopbucket,/turf/simulated/floor/shuttle/white,/area/syndicate_station/start)
+"att" = (/obj/machinery/button/remote/blast_door{name = "remote shutter control"; pixel_x = -25; id = "syndieshutters_infirmary"},/obj/structure/mopbucket,/turf/simulated/floor/shuttle/white,/area/syndicate_station/start)
"atu" = (/obj/machinery/light{dir = 4},/obj/item/device/radio/intercom/syndicate{dir = 8; pixel_x = 22},/turf/simulated/floor/shuttle/white,/area/syndicate_station/start)
-"atv" = (/obj/machinery/door/window{dir = 1; name = "Secure Storage"; req_access = list(150)},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"atv" = (/obj/machinery/door/window{name = "Secure Storage"; dir = 1; req_access = list(150)},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"atw" = (/obj/structure/table/rack,/obj/item/storage/belt/utility/full,/obj/item/device/multitool,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
-"atx" = (/obj/machinery/button/remote/blast_door{id = "syndieshutters_telebay"; name = "remote shutter control"; pixel_y = -25; req_access = list(150)},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
-"aty" = (/obj/machinery/button/remote/blast_door{id = "syndieshutters_workshop"; name = "remote shutter control"; pixel_x = 25},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"atx" = (/obj/machinery/button/remote/blast_door{name = "remote shutter control"; pixel_y = -25; id = "syndieshutters_telebay"; req_access = list(150)},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"aty" = (/obj/machinery/button/remote/blast_door{name = "remote shutter control"; pixel_x = 25; id = "syndieshutters_workshop"},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"atz" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"atA" = (/obj/machinery/door/airlock/centcom{name = "Flight Deck"; opacity = 1; req_access = list(103)},/turf/simulated/floor/shuttle/black,/area/rescue_base/start)
-"atB" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/machinery/door/airlock/external{frequency = 1331; id_tag = "rescue_shuttle_inner"; name = "Ship External Access"; req_access = list(103)},/turf/simulated/floor/shuttle/red,/area/rescue_base/start)
+"atB" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/machinery/door/airlock/external{name = "Ship External Access"; frequency = 1331; req_access = list(103); id_tag = "rescue_shuttle_inner"},/turf/simulated/floor/shuttle/red,/area/rescue_base/start)
"atC" = (/obj/item/storage/lockbox,/obj/structure/table/reinforced,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
"atD" = (/obj/item/stamp/captain,/obj/structure/table/reinforced,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
"atE" = (/obj/machinery/computer/shuttle,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
@@ -1019,23 +813,23 @@
"atQ" = (/obj/structure/kitchenspike,/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/centcom/living)
"atR" = (/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/centcom/living)
"atS" = (/obj/machinery/gibber,/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/centcom/living)
-"atT" = (/obj/structure/shuttle/engine/propulsion{dir = 4; icon_state = "burst_l"},/turf/simulated/floor/plating/airless,/area/supply/dock)
+"atT" = (/obj/structure/shuttle/engine/propulsion{icon_state = "burst_l"; dir = 4},/turf/simulated/floor/plating/airless,/area/supply/dock)
"atU" = (/turf/simulated/shuttle/wall/mining{icon_state = "mwall_straight"},/area/supply/dock)
"atV" = (/obj/structure/window/reinforced/crescent{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
-"atW" = (/obj/machinery/door/window{dir = 1; name = "Surgery"; req_access = list(150)},/turf/simulated/floor/shuttle/white,/area/syndicate_station/start)
+"atW" = (/obj/machinery/door/window{name = "Surgery"; dir = 1; req_access = list(150)},/turf/simulated/floor/shuttle/white,/area/syndicate_station/start)
"atX" = (/obj/structure/window/reinforced/crescent,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"atY" = (/obj/structure/window/reinforced/crescent{dir = 1},/turf/space,/area/space)
"atZ" = (/obj/structure/table/standard,/obj/item/storage/firstaid/o2{pixel_x = 3; pixel_y = 3},/obj/item/storage/firstaid/fire{pixel_x = 1},/turf/simulated/floor/shuttle/white,/area/syndicate_station/start)
"aua" = (/obj/item/weldingtool,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"aub" = (/obj/structure/sign/warning/caution{pixel_x = 32},/obj/machinery/light{dir = 4},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"auc" = (/obj/machinery/telecomms/allinone{intercept = 1},/obj/machinery/door/window/northright{name = "Telecoms Mainframe"; req_access = list(150)},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
-"aud" = (/obj/machinery/door/blast/regular{id = "syndieshutters_telebay"; name = "Outer Airlock"},/turf/simulated/floor/plating,/area/syndicate_station/start)
+"aud" = (/obj/machinery/door/blast/regular{name = "Outer Airlock"; id = "syndieshutters_telebay"},/turf/simulated/floor/plating,/area/syndicate_station/start)
"aue" = (/obj/structure/flora/ausbushes/palebush,/turf/unsimulated/floor{icon_state = "asteroidplating"},/area/rescue_base/base)
"auf" = (/obj/structure/closet,/obj/item/reagent_containers/food/liquidfood,/obj/item/reagent_containers/food/liquidfood,/obj/item/reagent_containers/food/liquidfood,/obj/item/reagent_containers/food/liquidfood,/obj/item/reagent_containers/food/liquidfood,/obj/item/reagent_containers/food/liquidfood,/turf/simulated/floor/shuttle/black,/area/rescue_base/start)
"aug" = (/obj/structure/table/rack,/obj/item/device/radio,/obj/item/device/radio,/obj/item/device/radio,/obj/item/device/radio,/obj/item/device/radio,/obj/item/device/radio,/obj/machinery/light{dir = 4},/turf/simulated/floor/shuttle/black,/area/rescue_base/start)
"auh" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/shuttle/darkred,/area/rescue_base/start)
"aui" = (/obj/machinery/atmospherics/pipe/manifold/visible,/obj/machinery/meter,/turf/simulated/floor/shuttle/darkred,/area/rescue_base/start)
-"auj" = (/obj/machinery/atmospherics/pipe/manifold/visible,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1331; master_tag = "rescue_shuttle"; name = "interior access button"; pixel_x = 25; pixel_y = 25; req_access = list(103)},/turf/simulated/floor/shuttle/darkred,/area/rescue_base/start)
+"auj" = (/obj/machinery/atmospherics/pipe/manifold/visible,/obj/machinery/access_button{name = "interior access button"; pixel_x = 25; pixel_y = 25; frequency = 1331; req_access = list(103); command = "cycle_interior"; master_tag = "rescue_shuttle"},/turf/simulated/floor/shuttle/darkred,/area/rescue_base/start)
"auk" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/shuttle/darkred,/area/rescue_base/start)
"aul" = (/obj/structure/window_frame/grille,/obj/structure/window/shuttle{icon_state = "11"; dir = 4},/turf/simulated/floor/plating,/area/centcom/evac)
"aum" = (/obj/structure/window_frame/grille,/obj/structure/window/shuttle{icon_state = "window-whiteship-straight"; dir = 4},/turf/simulated/floor/plating,/area/centcom/evac)
@@ -1046,7 +840,6 @@
"aur" = (/turf/unsimulated/floor{icon_state = "white"},/area/centcom/living)
"aus" = (/obj/structure/closet/secure_closet/freezer/meat,/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/centcom/living)
"aut" = (/obj/machinery/chem_master/condimaster{name = "CondiMaster Neo"; pixel_x = -5},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/centcom/living)
-"auu" = (/obj/item/reagent_containers/food/checker/king{randpixel = 0},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_chess)
"auv" = (/obj/item/scalpel,/obj/item/circular_saw{pixel_y = 8},/obj/machinery/light/small{dir = 8},/obj/structure/table/glass,/turf/simulated/floor/shuttle/white,/area/syndicate_station/start)
"auw" = (/obj/structure/sink{dir = 4; pixel_x = 11},/obj/item/reagent_containers/vessel/bottle/chemical/stoxin,/obj/item/reagent_containers/vessel/bottle/chemical/stoxin,/obj/item/reagent_containers/syringe,/obj/item/clothing/mask/surgical,/obj/item/clothing/gloves/latex,/obj/item/surgicaldrill,/obj/structure/closet/secure_closet/medical_wall{pixel_x = 32; req_access = list(150)},/obj/item/reagent_containers/syringe/antiviral/packaged,/turf/simulated/floor/shuttle/white,/area/syndicate_station/start)
"aux" = (/obj/effect/landmark/event/nuke/bomb,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
@@ -1064,7 +857,7 @@
"auJ" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/shuttle/red,/area/shuttle/administration/centcom)
"auK" = (/obj/machinery/recharge_station,/turf/simulated/floor/shuttle/red,/area/shuttle/administration/centcom)
"auL" = (/obj/machinery/mecha_part_fabricator,/obj/machinery/light{dir = 1},/turf/simulated/floor/shuttle/red,/area/shuttle/administration/centcom)
-"auM" = (/obj/machinery/autolathe{desc = "Your typical Autolathe. It appears to have much more options than your regular one, however..."; hacked = 1; name = "Unlocked Autolathe"},/turf/simulated/floor/shuttle/red,/area/shuttle/administration/centcom)
+"auM" = (/obj/machinery/autolathe{name = "Unlocked Autolathe"; desc = "Your typical Autolathe. It appears to have much more options than your regular one, however..."; hacked = 1},/turf/simulated/floor/shuttle/red,/area/shuttle/administration/centcom)
"auN" = (/obj/structure/dispenser,/turf/simulated/floor/shuttle/red,/area/shuttle/administration/centcom)
"auO" = (/obj/structure/table/standard,/obj/item/reagent_containers/vessel/shaker,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/living)
"auP" = (/obj/structure/table/standard,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/living)
@@ -1105,9 +898,9 @@
"avy" = (/obj/machinery/recharger{pixel_y = 4},/obj/structure/table/reinforced,/turf/simulated/floor/shuttle/red,/area/shuttle/administration/centcom)
"avz" = (/obj/machinery/cell_charger,/obj/structure/table/reinforced,/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/glass{amount = 50},/turf/simulated/floor/shuttle/red,/area/shuttle/administration/centcom)
"avA" = (/obj/machinery/sleeper{dir = 8},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/living)
-"avB" = (/obj/structure/mirror{pixel_y = 28},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/living)
-"avC" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/living)
-"avD" = (/obj/item/modular_computer/console/preset/command,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/living)
+"avB" = (/obj/structure/mirror{pixel_y = 28},/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/centcom/living)
+"avC" = (/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/centcom/living)
+"avD" = (/obj/item/modular_computer/console/preset/command,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/centcom/living)
"avE" = (/obj/structure/table/standard,/obj/item/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/material/kitchen/rollingpin,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/living)
"avF" = (/turf/simulated/shuttle/wall/corner/mining/sw,/area/supply/dock)
"avG" = (/turf/simulated/floor/shuttle/pod,/turf/simulated/shuttle/wall/corner/mining/ne,/area/supply/dock)
@@ -1115,37 +908,37 @@
"avI" = (/obj/machinery/door/airlock/centcom{name = "Crew Area"; opacity = 1; req_access = list(103)},/turf/simulated/floor/shuttle/black,/area/rescue_base/start)
"avJ" = (/obj/structure/sign/poster{pixel_x = -32; poster_type = "/datum/poster/bay_9"},/turf/simulated/floor/shuttle/darkred,/area/rescue_base/start)
"avK" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/floor/shuttle/darkred,/area/rescue_base/start)
-"avL" = (/obj/machinery/vending/wallmed1{layer = 3.3; name = "Emergency NanoMed"; pixel_x = -28},/turf/simulated/floor/shuttle/darkred,/area/rescue_base/start)
+"avL" = (/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; layer = 3.3; pixel_x = -28},/turf/simulated/floor/shuttle/darkred,/area/rescue_base/start)
"avM" = (/obj/machinery/door/airlock/centcom{name = "Passageway"; opacity = 1; req_access = list(103)},/turf/simulated/floor/shuttle/darkred,/area/rescue_base/start)
"avN" = (/turf/simulated/shuttle/wall/corner/syndi/se,/area/rescue_base/start)
-"avO" = (/obj/machinery/vending/medical,/turf/simulated/shuttle/wall/syndi{dir = 10; icon_state = "syndiwall"},/area/shuttle/administration/centcom)
+"avO" = (/obj/machinery/vending/medical,/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 10},/area/shuttle/administration/centcom)
"avP" = (/obj/machinery/chemical_dispenser/ert,/obj/item/reagent_containers/vessel/beaker/large,/turf/simulated/floor/shuttle/white,/area/shuttle/administration/centcom)
"avQ" = (/obj/machinery/chem_master,/turf/simulated/floor/shuttle/white,/area/shuttle/administration/centcom)
"avR" = (/obj/machinery/chemical_dispenser/full,/obj/item/reagent_containers/vessel/beaker/large,/turf/simulated/floor/shuttle/white,/area/shuttle/administration/centcom)
-"avS" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "admin_shuttle"; pixel_x = -25; req_one_access = list(101); tag_door = "admin_shuttle_hatch"},/turf/simulated/floor/plating,/area/shuttle/administration/centcom)
+"avS" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{pixel_x = -25; frequency = 1380; req_one_access = list(101); id_tag = "admin_shuttle"; tag_door = "admin_shuttle_hatch"},/turf/simulated/floor/plating,/area/shuttle/administration/centcom)
"avT" = (/obj/machinery/light{dir = 4},/turf/simulated/floor/plating,/area/shuttle/administration/centcom)
"avU" = (/obj/item/device/multitool,/obj/item/reagent_containers/spray/cleaner,/obj/structure/table/reinforced,/turf/simulated/floor/shuttle/red,/area/shuttle/administration/centcom)
"avV" = (/obj/item/storage/toolbox/mechanical,/obj/structure/table/reinforced,/turf/simulated/floor/shuttle/red,/area/shuttle/administration/centcom)
"avW" = (/obj/structure/bed,/obj/item/bedsheet,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/living)
-"avX" = (/obj/structure/table/standard,/obj/item/card/id/centcom,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/living)
+"avX" = (/obj/structure/table/standard,/obj/item/card/id/centcom,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/centcom/living)
"avY" = (/obj/machinery/vending/dinnerware,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/living)
"avZ" = (/obj/structure/table/standard,/obj/item/reagent_containers/vessel/beaker,/obj/item/reagent_containers/vessel/condiment/enzyme,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/living)
"awa" = (/obj/structure/table/standard,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/living)
-"awb" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "admin_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access = list(101)},/turf/simulated/floor/plating,/area/shuttle/administration/centcom)
+"awb" = (/obj/machinery/door/airlock/external{name = "Shuttle Hatch"; icon_state = "door_locked"; frequency = 1380; locked = 1; req_access = list(101); id_tag = "admin_shuttle_hatch"},/turf/simulated/floor/plating,/area/shuttle/administration/centcom)
"awc" = (/obj/machinery/light,/turf/simulated/floor/shuttle/pod,/area/supply/dock)
-"awd" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "supply_shuttle"; pixel_y = -25; req_one_access = list(13,31); tag_door = "supply_shuttle_hatch"},/turf/simulated/floor/shuttle/pod,/area/supply/dock)
-"awe" = (/turf/simulated/shuttle/wall/mining{dir = 4; icon_state = "mwall_straight"},/area/supply/dock)
-"awf" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "supply_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access = list(13)},/turf/simulated/floor/shuttle/pod,/area/supply/dock)
+"awd" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{pixel_y = -25; frequency = 1380; req_one_access = list(13,31); id_tag = "supply_shuttle"; tag_door = "supply_shuttle_hatch"},/turf/simulated/floor/shuttle/pod,/area/supply/dock)
+"awe" = (/turf/simulated/shuttle/wall/mining{icon_state = "mwall_straight"; dir = 4},/area/supply/dock)
+"awf" = (/obj/machinery/door/airlock/external{name = "Shuttle Hatch"; icon_state = "door_locked"; frequency = 1380; locked = 1; req_access = list(13); id_tag = "supply_shuttle_hatch"},/turf/simulated/floor/shuttle/pod,/area/supply/dock)
"awg" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/shuttle/darkred,/area/rescue_base/start)
"awh" = (/obj/machinery/light{dir = 4},/turf/simulated/floor/shuttle/darkred,/area/rescue_base/start)
-"awi" = (/turf/unsimulated/floor{icon_state = "grass0"; name = "grass"},/area/centcom/living)
+"awi" = (/turf/unsimulated/floor{name = "grass"; icon_state = "grass0"},/area/centcom/living)
"awj" = (/obj/machinery/door/airlock/centcom{name = "Living Quarters"; opacity = 1; req_access = list(105)},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/living)
"awk" = (/turf/simulated/shuttle/wall/corner/mining/se,/area/supply/dock)
"awl" = (/turf/space/transit/south,/area/shuttle/escape/station)
"awm" = (/obj/structure/window_frame/indestructible/hull,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/living)
"awn" = (/obj/effect/shuttle_landmark/escape/internim,/turf/space/transit/south,/area/shuttle/escape/station)
"awo" = (/obj/structure/bed,/obj/item/bedsheet/orange,/turf/simulated/floor/shuttle/black,/area/rescue_base/start)
-"awp" = (/obj/machinery/flasher{id = "rescueflash"; pixel_y = 28},/turf/simulated/floor/shuttle/black,/area/rescue_base/start)
+"awp" = (/obj/machinery/flasher{pixel_y = 28; id = "rescueflash"},/turf/simulated/floor/shuttle/black,/area/rescue_base/start)
"awq" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/shuttle/black,/area/rescue_base/start)
"awr" = (/obj/machinery/door/airlock/centcom{name = "Storage"; opacity = 1; req_access = list(103)},/turf/simulated/floor/plating,/area/rescue_base/start)
"aws" = (/obj/machinery/door/airlock/centcom{name = "Infirmary"; opacity = 1; req_access = list(103)},/turf/simulated/floor/shuttle/white,/area/rescue_base/start)
@@ -1169,23 +962,23 @@
"awL" = (/turf/simulated/floor/shuttle/white,/area/rescue_base/start)
"awM" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 5},/turf/simulated/floor/shuttle/white,/area/rescue_base/start)
"awN" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 9},/turf/simulated/floor/shuttle/white,/area/rescue_base/start)
-"awO" = (/obj/structure/table/rack,/obj/item/gun/projectile/automatic/l6_saw,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"awP" = (/obj/structure/table/rack,/obj/item/plastique,/obj/item/plastique,/obj/item/plastique,/obj/item/plastique,/obj/item/plastique,/obj/item/plastique,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"awQ" = (/obj/structure/table/rack,/obj/item/ammo_magazine/mc9mmt,/obj/item/ammo_magazine/mc9mmt,/obj/item/ammo_magazine/mc9mmt,/obj/item/ammo_magazine/mc9mmt,/obj/item/ammo_magazine/mc9mmt,/obj/item/ammo_magazine/mc9mmt,/obj/item/ammo_magazine/mc9mmt,/obj/item/ammo_magazine/mc9mmt,/obj/item/ammo_magazine/mc9mmt,/obj/item/ammo_magazine/mc9mmt/rubber,/obj/item/ammo_magazine/mc9mmt/rubber,/obj/item/ammo_magazine/mc9mmt/rubber,/obj/item/ammo_magazine/mc9mmt/rubber,/obj/item/ammo_magazine/mc9mmt/rubber,/obj/item/ammo_magazine/mc9mmt/rubber,/obj/item/gun/projectile/automatic/wt550,/obj/item/gun/projectile/automatic/wt550,/obj/item/gun/projectile/automatic/wt550,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"awR" = (/obj/structure/table/rack,/obj/item/gun/energy/ionrifle,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"awS" = (/obj/structure/table/rack,/obj/item/gun/energy/gun/nuclear,/obj/item/gun/energy/gun/nuclear,/obj/item/gun/energy/gun/nuclear,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"awT" = (/obj/structure/table/rack,/obj/item/gun/projectile/automatic/z8,/obj/item/gun/projectile/automatic/z8,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"awU" = (/obj/structure/table/rack,/obj/item/storage/box/flashbangs,/obj/item/storage/box/flashbangs,/obj/item/storage/box/emps,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/gun/launcher/grenade,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"awV" = (/obj/item/aiModule/nanotrasen,/obj/item/aiModule/reset,/obj/item/aiModule/freeformcore,/obj/item/aiModule/protectStation,/obj/item/aiModule/quarantine,/obj/item/aiModule/paladin,/obj/item/aiModule/robocop,/obj/item/aiModule/safeguard,/obj/structure/table/rack,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"awW" = (/obj/machinery/door/blast/regular{dir = 8; id = "ert_synth_equipment"; name = "Synthetics Modification Equipment"},/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/centcom/specops)
-"awX" = (/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/centcom/specops)
-"awY" = (/obj/machinery/portable_atmospherics/canister/air,/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/centcom/specops)
-"awZ" = (/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"axa" = (/obj/machinery/shieldgen,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"axb" = (/obj/machinery/shieldwallgen,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
+"awO" = (/obj/structure/table/rack,/obj/item/gun/projectile/automatic/l6_saw,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"awP" = (/obj/structure/table/rack,/obj/item/plastique,/obj/item/plastique,/obj/item/plastique,/obj/item/plastique,/obj/item/plastique,/obj/item/plastique,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"awQ" = (/obj/structure/table/rack,/obj/item/ammo_magazine/mc9mmt,/obj/item/ammo_magazine/mc9mmt,/obj/item/ammo_magazine/mc9mmt,/obj/item/ammo_magazine/mc9mmt,/obj/item/ammo_magazine/mc9mmt,/obj/item/ammo_magazine/mc9mmt,/obj/item/ammo_magazine/mc9mmt,/obj/item/ammo_magazine/mc9mmt,/obj/item/ammo_magazine/mc9mmt,/obj/item/ammo_magazine/mc9mmt/rubber,/obj/item/ammo_magazine/mc9mmt/rubber,/obj/item/ammo_magazine/mc9mmt/rubber,/obj/item/ammo_magazine/mc9mmt/rubber,/obj/item/ammo_magazine/mc9mmt/rubber,/obj/item/ammo_magazine/mc9mmt/rubber,/obj/item/gun/projectile/automatic/wt550,/obj/item/gun/projectile/automatic/wt550,/obj/item/gun/projectile/automatic/wt550,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"awR" = (/obj/structure/table/rack,/obj/item/gun/energy/ionrifle,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"awS" = (/obj/structure/table/rack,/obj/item/gun/energy/gun/nuclear,/obj/item/gun/energy/gun/nuclear,/obj/item/gun/energy/gun/nuclear,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"awT" = (/obj/structure/table/rack,/obj/item/gun/projectile/automatic/z8,/obj/item/gun/projectile/automatic/z8,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"awU" = (/obj/structure/table/rack,/obj/item/storage/box/flashbangs,/obj/item/storage/box/flashbangs,/obj/item/storage/box/emps,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/gun/launcher/grenade,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"awV" = (/obj/item/aiModule/nanotrasen,/obj/item/aiModule/reset,/obj/item/aiModule/freeformcore,/obj/item/aiModule/protectStation,/obj/item/aiModule/quarantine,/obj/item/aiModule/paladin,/obj/item/aiModule/robocop,/obj/item/aiModule/safeguard,/obj/structure/table/rack,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"awW" = (/obj/machinery/door/blast/regular{name = "Synthetics Modification Equipment"; dir = 8; id = "ert_synth_equipment"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
+"awX" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
+"awY" = (/obj/machinery/portable_atmospherics/canister/air,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
+"awZ" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"axa" = (/obj/machinery/shieldgen,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"axb" = (/obj/machinery/shieldwallgen,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
"axc" = (/obj/machinery/telecomms/relay/preset/centcom,/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/creed)
"axd" = (/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/creed)
-"axe" = (/obj/structure/window_frame/indestructible,/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/centcom/specops)
+"axe" = (/obj/structure/window_frame/indestructible,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
"axf" = (/obj/structure/window/syndi{icon_state = "ws1"},/turf/simulated/floor/plating,/area/shuttle/administration/centcom)
"axg" = (/obj/machinery/telecomms/receiver/preset_cent,/obj/effect/floor_decal/corner/green/three_quarters{dir = 8},/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "steel_rough"},/area/centcom/control)
"axh" = (/obj/machinery/telecomms/bus/preset_cent,/obj/effect/floor_decal/corner/green{dir = 5},/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "steel_rough"},/area/centcom/control)
@@ -1201,11 +994,11 @@
"axt" = (/obj/machinery/bodyscanner{dir = 8},/turf/simulated/floor/shuttle/white,/area/rescue_base/start)
"axu" = (/obj/machinery/body_scanconsole{dir = 8},/turf/simulated/floor/shuttle/white,/area/rescue_base/start)
"axv" = (/obj/machinery/sleeper{dir = 8},/turf/simulated/floor/shuttle/white,/area/rescue_base/start)
-"axw" = (/obj/machinery/door/blast/regular{id = "ASSAULT"; name = "Assault Weapon Storage"},/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/centcom/specops)
-"axx" = (/obj/structure/table/rack,/obj/item/circuitboard/borgupload,/obj/item/circuitboard/aiupload{pixel_x = -3; pixel_y = -3},/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/centcom/specops)
+"axw" = (/obj/machinery/door/blast/regular{name = "Assault Weapon Storage"; id = "ASSAULT"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
+"axx" = (/obj/structure/table/rack,/obj/item/circuitboard/borgupload,/obj/item/circuitboard/aiupload{pixel_x = -3; pixel_y = -3},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
"axy" = (/obj/structure/table/rack,/obj/item/storage/secure/briefcase,/obj/item/storage/fancy/cigarettes,/obj/item/flame/lighter/zippo,/obj/item/storage/belt/utility,/obj/item/storage/backpack/satchel,/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/creed)
-"axz" = (/obj/structure/table/woodentable{dir = 10},/obj/machinery/button/remote/blast_door{id = "CREED"; name = "Spec Ops Ready Room"; pixel_x = -5; pixel_y = 4; req_access = list(108)},/obj/machinery/button/remote/blast_door{icon_state = "doorctrl0"; id = "ASSAULT"; name = "Mech Storage"; pixel_y = -4; req_access = list(108)},/obj/machinery/button/remote/blast_door{id = "ert_synth_equipment"; name = "Synth Equipment"; pixel_x = 5; pixel_y = 4; req_access = list(108)},/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/creed)
-"axA" = (/obj/item/stool/padded,/obj/structure/reagent_dispensers/peppertank{pixel_y = 32},/turf/unsimulated/floor{dir = 5; icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_rough"},/area/centcom/holding)
+"axz" = (/obj/structure/table/woodentable{dir = 10},/obj/machinery/button/remote/blast_door{name = "Spec Ops Ready Room"; pixel_x = -5; pixel_y = 4; id = "CREED"; req_access = list(108)},/obj/machinery/button/remote/blast_door{name = "Mech Storage"; icon_state = "doorctrl0"; pixel_y = -4; id = "ASSAULT"; req_access = list(108)},/obj/machinery/button/remote/blast_door{name = "Synth Equipment"; pixel_x = 5; pixel_y = 4; id = "ert_synth_equipment"; req_access = list(108)},/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/creed)
+"axA" = (/obj/item/stool/padded,/obj/structure/reagent_dispensers/peppertank{pixel_y = 32},/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_rough"; dir = 5},/area/centcom/holding)
"axB" = (/obj/machinery/door/airlock/centcom{name = "Creed's Office"; opacity = 1; req_access = list(108)},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/creed)
"axC" = (/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control)
"axD" = (/obj/machinery/door/airlock/centcom{name = "Creed's Office"; opacity = 1; req_access = list(108)},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control)
@@ -1222,72 +1015,55 @@
"axO" = (/turf/space,/area/centcom/specops)
"axP" = (/obj/machinery/mech_recharger,/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
"axQ" = (/obj/mecha/combat/gygax/dark,/obj/machinery/camera/network/ert{c_tag = "Assault Armor North"},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
-"axR" = (/obj/item/device/radio/intercom/specops{pixel_y = 22},/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"axS" = (/turf/unsimulated/floor{dir = 9; icon_state = "vault"},/area/centcom/specops)
-"axT" = (/obj/machinery/door/blast/regular{id = "ASSAULT"; name = "Assault Armor Storage"},/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/centcom/specops)
-"axU" = (/obj/machinery/vending/security,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
+"axR" = (/obj/item/device/radio/intercom/specops{pixel_y = 22},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"axS" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 9},/area/centcom/specops)
+"axT" = (/obj/machinery/door/blast/regular{name = "Assault Armor Storage"; id = "ASSAULT"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
+"axU" = (/obj/machinery/vending/security,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
"axV" = (/obj/structure/closet/secure_closet/hos,/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/creed)
"axW" = (/obj/structure/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/creed)
"axX" = (/obj/structure/table/woodentable{dir = 5},/obj/item/device/radio/intercom/specops,/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/creed)
"axY" = (/obj/structure/sign/warning/nosmoking_2,/turf/unsimulated/wall{icon_state = "riveted"; dir = 8},/area/centcom/living)
"axZ" = (/obj/structure/sign/warning/secure_area,/turf/unsimulated/wall{icon_state = "riveted"; dir = 4},/area/centcom/living)
-"aya" = (/obj/machinery/door/airlock/centcom{name = "General Access"; opacity = 1; req_access = list(101)},/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/tdome)
-"ayb" = (/obj/item/reagent_containers/food/checker/bishop{randpixel = 0},/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_chess)
-"ayc" = (/obj/item/reagent_containers/food/checker/knight{randpixel = 0},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_chess)
-"ayd" = (/obj/machinery/button/flasher{id = "rescueflash"; name = "Flasher"; pixel_x = 27},/obj/structure/bed/chair{dir = 8},/obj/machinery/light{dir = 4},/turf/simulated/floor/shuttle/red,/area/rescue_base/start)
+"aya" = (/obj/machinery/door/airlock/centcom{name = "General Access"; opacity = 1; req_access = list(101)},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome)
+"ayd" = (/obj/machinery/button/flasher{name = "Flasher"; pixel_x = 27; id = "rescueflash"},/obj/structure/bed/chair{dir = 8},/obj/machinery/light{dir = 4},/turf/simulated/floor/shuttle/red,/area/rescue_base/start)
"aye" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/rescue_base/start)
"ayf" = (/obj/structure/table/rack,/obj/item/wrench,/obj/item/storage/belt/utility/full,/turf/simulated/floor/plating,/area/rescue_base/start)
"ayg" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/sink{dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/closet/medical_wall{pixel_x = -32},/obj/item/reagent_containers/vessel/bottle/chemical/stoxin,/obj/item/reagent_containers/vessel/bottle/chemical/stoxin,/obj/item/reagent_containers/syringe,/obj/item/tank/anesthetic,/obj/item/clothing/mask/breath/medical,/turf/simulated/floor/shuttle/white,/area/rescue_base/start)
"ayh" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/gas_stand/anesthetic,/turf/simulated/floor/shuttle/white,/area/rescue_base/start)
"ayi" = (/obj/effect/landmark/event/centcom/exit,/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
"ayj" = (/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
-"ayk" = (/obj/machinery/door/blast/regular{dir = 4; id = "ASSAULT3"; name = "Launch Bay #3"},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
-"ayl" = (/obj/machinery/mass_driver{dir = 8; id = "ASSAULT3"; name = "gravpult"},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
-"aym" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/weapon/energy/ion,/obj/item/mecha_parts/mecha_equipment/weapon/energy/taser,/obj/item/mecha_parts/mecha_equipment/armor_booster/anticcw_armor_booster,/obj/item/mecha_parts/mecha_equipment/armor_booster/antiproj_armor_booster,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"ayn" = (/obj/structure/table/rack,/obj/item/gun/energy/gun,/obj/item/gun/energy/gun,/obj/item/gun/energy/gun,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"ayo" = (/obj/machinery/vending/assist,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"ayp" = (/obj/machinery/portable_atmospherics/canister/air,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"ayq" = (/obj/machinery/pipedispenser/orderable,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"ayr" = (/obj/machinery/pipedispenser/disposal/orderable,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"ays" = (/obj/machinery/power/emitter,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
+"ayk" = (/obj/machinery/door/blast/regular{name = "Launch Bay #3"; dir = 4; id = "ASSAULT3"},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
+"ayl" = (/obj/machinery/mass_driver{name = "gravpult"; dir = 8; id = "ASSAULT3"},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
+"aym" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/weapon/energy/ion,/obj/item/mecha_parts/mecha_equipment/weapon/energy/taser,/obj/item/mecha_parts/mecha_equipment/armor_booster/anticcw_armor_booster,/obj/item/mecha_parts/mecha_equipment/armor_booster/antiproj_armor_booster,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"ayn" = (/obj/structure/table/rack,/obj/item/gun/energy/gun,/obj/item/gun/energy/gun,/obj/item/gun/energy/gun,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"ayo" = (/obj/machinery/vending/assist,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"ayp" = (/obj/machinery/portable_atmospherics/canister/air,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"ayq" = (/obj/machinery/pipedispenser/orderable,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"ayr" = (/obj/machinery/pipedispenser/disposal/orderable,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"ays" = (/obj/machinery/power/emitter,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
"ayt" = (/obj/item/modular_computer/console/preset/command,/obj/item/card/id/centcom,/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/creed)
"ayu" = (/obj/structure/table/woodentable{dir = 5},/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/creed)
-"ayv" = (/obj/machinery/computer/pod{id = "NTrasen"; name = "Hull Door Control"},/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/creed)
-"ayw" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
+"ayv" = (/obj/machinery/computer/pod{name = "Hull Door Control"; id = "NTrasen"},/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/creed)
+"ayw" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
"ayx" = (/obj/effect/floor_decal/corner/green/three_quarters,/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "steel_rough"},/area/centcom/control)
"ayy" = (/obj/machinery/telecomms/broadcaster/preset_cent,/obj/effect/floor_decal/corner/green{dir = 10},/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "steel_rough"},/area/centcom/control)
"ayz" = (/obj/machinery/telecomms/hub/preset_cent,/obj/effect/floor_decal/corner/green{dir = 10},/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "steel_rough"},/area/centcom/control)
-"ayA" = (/obj/machinery/computer/rdservercontrol{badmin = 1; name = "Master R&D Server Controller"},/obj/effect/floor_decal/corner/green{dir = 10},/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "steel_rough"},/area/centcom/control)
+"ayA" = (/obj/machinery/computer/rdservercontrol{name = "Master R&D Server Controller"; badmin = 1},/obj/effect/floor_decal/corner/green{dir = 10},/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "steel_rough"},/area/centcom/control)
"ayB" = (/obj/machinery/r_n_d/server/centcom,/obj/effect/floor_decal/corner/green{dir = 10},/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "steel_rough"},/area/centcom/control)
"ayC" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "steel_rough"},/area/centcom/control)
-"ayD" = (/obj/item/reagent_containers/food/checker/rook{randpixel = 0},/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_chess)
-"ayE" = (/obj/item/reagent_containers/food/checker/pawn{randpixel = 0},/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_chess)
-"ayF" = (/obj/item/reagent_containers/food/checker/pawn{randpixel = 0},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_chess)
-"ayG" = (/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_chess)
-"ayH" = (/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_chess)
-"ayI" = (/obj/item/reagent_containers/food/checker/pawn/red{randpixel = 0},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_chess)
-"ayJ" = (/obj/item/reagent_containers/food/checker/pawn/red{randpixel = 0},/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_chess)
-"ayK" = (/obj/item/reagent_containers/food/checker/rook/red{randpixel = 0},/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_chess)
-"ayL" = (/obj/item/reagent_containers/food/checker/knight/red{randpixel = 0},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_chess)
-"ayM" = (/obj/item/reagent_containers/food/checker/bishop/red{randpixel = 0},/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_chess)
-"ayN" = (/obj/item/reagent_containers/food/checker/queen/red{randpixel = 0},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_chess)
-"ayO" = (/obj/item/reagent_containers/food/checker/king/red{randpixel = 0},/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_chess)
"ayP" = (/obj/item/device/flashlight/lantern,/turf/unsimulated/floor{icon_state = "asteroid"},/area/rescue_base/base)
"ayQ" = (/obj/structure/closet{name = "Prisoner's Locker"},/obj/item/clothing/shoes/orange,/obj/item/clothing/under/color/orange,/obj/item/device/radio/intercom/specops{dir = 8; pixel_x = 22},/turf/simulated/floor/shuttle/red,/area/rescue_base/start)
"ayR" = (/obj/effect/shuttle_landmark/administration/centcom,/obj/structure/window/syndi{icon_state = "ws3"},/turf/simulated/floor/plating,/area/shuttle/administration/centcom)
"ayS" = (/obj/structure/table/glass,/obj/item/reagent_containers/spray/sterilizine,/obj/item/reagent_containers/spray/cleaner,/obj/item/defibrillator/compact/combat/loaded,/turf/simulated/floor/shuttle/white,/area/rescue_base/start)
"ayT" = (/obj/machinery/optable,/turf/simulated/floor/shuttle/white,/area/rescue_base/start)
-"ayU" = (/obj/machinery/vending/tool,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"ayV" = (/obj/structure/table/steel_reinforced,/obj/item/circuitboard/smes,/obj/item/circuitboard/smes,/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/centcom/specops)
+"ayU" = (/obj/machinery/vending/tool,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"ayV" = (/obj/structure/table/steel_reinforced,/obj/item/circuitboard/smes,/obj/item/circuitboard/smes,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
"ayW" = (/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
"ayX" = (/obj/machinery/door/airlock/centcom{name = "Teleporter Bay"; opacity = 1; req_access = list(107)},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/living)
"ayY" = (/obj/structure/sign/warning/secure_area,/turf/unsimulated/wall,/area/centcom/control)
"ayZ" = (/obj/structure/window_frame/indestructible,/turf/unsimulated/floor{name = "plating"},/area/centcom/holding)
-"aza" = (/obj/machinery/door/airlock/centcom{name = "Teleporter Bay"; opacity = 1; req_access = list(107)},/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/centcom/living)
-"azb" = (/obj/item/reagent_containers/food/checker/bishop/red{randpixel = 0},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_chess)
-"azc" = (/obj/item/reagent_containers/food/checker/knight/red{randpixel = 0},/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_chess)
-"azd" = (/obj/item/reagent_containers/food/checker/rook/red{randpixel = 0},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_chess)
-"aze" = (/obj/structure/table/rack,/obj/item/gun/energy/lasercannon,/obj/item/gun/energy/lasercannon,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
+"aza" = (/obj/machinery/door/airlock/centcom{name = "Teleporter Bay"; opacity = 1; req_access = list(107)},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/living)
+"aze" = (/obj/structure/table/rack,/obj/item/gun/energy/lasercannon,/obj/item/gun/energy/lasercannon,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"azf" = (/turf/space,/turf/simulated/shuttle/wall/corner/smoothwhite/ne,/area/shuttle/escape/centcom)
"azg" = (/obj/structure/table/reinforced,/obj/item/paper/trade_lic,/turf/simulated/floor/trim/carpet/blue,/area/shuttle/merchant/home)
"azh" = (/obj/structure/grille,/obj/structure/window/shuttle{icon_state = "11"; dir = 4},/turf/simulated/floor/plating,/area/shuttle/escape/centcom)
@@ -1295,26 +1071,26 @@
"azj" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/light{dir = 8},/turf/simulated/floor/shuttle/red,/area/rescue_base/start)
"azk" = (/obj/structure/closet{name = "Prisoner's Locker"},/obj/item/clothing/shoes/orange,/obj/item/clothing/under/color/orange,/turf/simulated/floor/shuttle/red,/area/rescue_base/start)
"azl" = (/obj/structure/shuttle/engine/propulsion,/turf/simulated/floor/plating,/area/rescue_base/start)
-"azm" = (/obj/effect/floor_decal/corner/green/three_quarters{dir = 8},/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/centcom/holding)
+"azm" = (/obj/effect/floor_decal/corner/green/three_quarters{dir = 8},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/holding)
"azn" = (/obj/structure/table/glass,/obj/item/storage/firstaid/surgery,/turf/simulated/floor/shuttle/white,/area/rescue_base/start)
"azo" = (/obj/structure/table/glass,/obj/item/clothing/mask/surgical,/obj/item/clothing/gloves/latex,/obj/machinery/light{dir = 4},/turf/simulated/floor/shuttle/white,/area/rescue_base/start)
"azp" = (/obj/mecha/medical/odysseus/loaded,/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
-"azq" = (/obj/item/mecha_parts/mecha_equipment/tool/sleeper,/obj/item/mecha_parts/mecha_equipment/tool/sleeper,/obj/item/mecha_parts/mecha_equipment/tool/syringe_gun,/obj/structure/table/steel_reinforced,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"azr" = (/obj/structure/table/reinforced,/obj/item/device/flash,/obj/item/device/flash,/obj/item/device/flash,/obj/item/device/flash,/obj/item/melee/baton/loaded,/obj/item/melee/baton/loaded,/obj/item/melee/baton/loaded,/obj/item/melee/baton/loaded,/obj/item/storage/belt/security/tactical,/obj/item/storage/belt/security/tactical,/obj/item/storage/belt/security/tactical,/obj/item/storage/belt/security/tactical,/obj/item/taperoll/police,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"azs" = (/obj/structure/table/reinforced,/obj/item/storage/box/handcuffs,/obj/item/clothing/glasses/hud/scanners/night{pixel_x = -1; pixel_y = -3},/obj/item/clothing/glasses/hud/scanners/night{pixel_x = -1; pixel_y = -3},/obj/item/clothing/glasses/hud/scanners/night{pixel_x = -1; pixel_y = -3},/obj/item/clothing/glasses/hud/scanners/night,/obj/item/storage/box/handcuffs,/obj/item/clothing/glasses/tacgoggles,/obj/item/clothing/glasses/tacgoggles,/obj/item/clothing/glasses/tacgoggles,/obj/item/clothing/glasses/tacgoggles,/obj/item/clothing/glasses/tacgoggles,/obj/item/clothing/glasses/tacgoggles,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"azt" = (/obj/structure/table/rack,/obj/item/clothing/suit/armor/vest/ert/security,/obj/item/clothing/suit/armor/vest/ert/security,/obj/item/clothing/suit/armor/vest/ert/security,/obj/item/clothing/suit/armor/vest/ert/security,/obj/item/clothing/head/helmet/ert/security,/obj/item/clothing/head/helmet/ert/security,/obj/item/clothing/head/helmet/ert/security,/obj/item/clothing/head/helmet/ert/security,/obj/item/storage/backpack/ert/security,/obj/item/storage/backpack/ert/security,/obj/item/storage/backpack/ert/security,/obj/item/storage/backpack/ert/security,/obj/item/clothing/accessory/holochip/deathsquad,/obj/item/clothing/accessory/holochip/deathsquad,/obj/item/clothing/accessory/holochip/deathsquad,/obj/item/clothing/accessory/holochip/deathsquad,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"azu" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"azv" = (/obj/structure/table/rack,/obj/item/rig/ert/assetprotection,/obj/item/rig/ert/assetprotection,/obj/item/clothing/accessory/holochip/deathsquad,/obj/item/clothing/accessory/holochip/deathsquad,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"azw" = (/obj/structure/table/rack,/obj/item/rig_module/mounted,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"azx" = (/obj/machinery/vending/engivend,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"azy" = (/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/steel{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/material/steel{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/material/steel{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/material/steel{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/material/plasteel{amount = 50},/obj/item/stack/material/plasteel{amount = 50},/obj/item/stack/material/plasteel{amount = 50},/obj/item/stack/material/plasteel{amount = 50},/obj/item/stack/material/glass/reinforced{amount = 50},/obj/item/stack/material/glass/reinforced{amount = 50},/obj/item/stack/material/glass/reinforced{amount = 50},/obj/item/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/structure/table/steel_reinforced,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"azz" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
+"azq" = (/obj/item/mecha_parts/mecha_equipment/tool/sleeper,/obj/item/mecha_parts/mecha_equipment/tool/sleeper,/obj/item/mecha_parts/mecha_equipment/tool/syringe_gun,/obj/structure/table/steel_reinforced,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"azr" = (/obj/structure/table/reinforced,/obj/item/device/flash,/obj/item/device/flash,/obj/item/device/flash,/obj/item/device/flash,/obj/item/melee/baton/loaded,/obj/item/melee/baton/loaded,/obj/item/melee/baton/loaded,/obj/item/melee/baton/loaded,/obj/item/storage/belt/security/tactical,/obj/item/storage/belt/security/tactical,/obj/item/storage/belt/security/tactical,/obj/item/storage/belt/security/tactical,/obj/item/taperoll/police,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"azs" = (/obj/structure/table/reinforced,/obj/item/storage/box/handcuffs,/obj/item/clothing/glasses/hud/scanners/night{pixel_x = -1; pixel_y = -3},/obj/item/clothing/glasses/hud/scanners/night{pixel_x = -1; pixel_y = -3},/obj/item/clothing/glasses/hud/scanners/night{pixel_x = -1; pixel_y = -3},/obj/item/clothing/glasses/hud/scanners/night,/obj/item/storage/box/handcuffs,/obj/item/clothing/glasses/tacgoggles,/obj/item/clothing/glasses/tacgoggles,/obj/item/clothing/glasses/tacgoggles,/obj/item/clothing/glasses/tacgoggles,/obj/item/clothing/glasses/tacgoggles,/obj/item/clothing/glasses/tacgoggles,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"azt" = (/obj/structure/table/rack,/obj/item/clothing/suit/armor/vest/ert/security,/obj/item/clothing/suit/armor/vest/ert/security,/obj/item/clothing/suit/armor/vest/ert/security,/obj/item/clothing/suit/armor/vest/ert/security,/obj/item/clothing/head/helmet/ert/security,/obj/item/clothing/head/helmet/ert/security,/obj/item/clothing/head/helmet/ert/security,/obj/item/clothing/head/helmet/ert/security,/obj/item/storage/backpack/ert/security,/obj/item/storage/backpack/ert/security,/obj/item/storage/backpack/ert/security,/obj/item/storage/backpack/ert/security,/obj/item/clothing/accessory/holochip/deathsquad,/obj/item/clothing/accessory/holochip/deathsquad,/obj/item/clothing/accessory/holochip/deathsquad,/obj/item/clothing/accessory/holochip/deathsquad,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"azu" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"azv" = (/obj/structure/table/rack,/obj/item/rig/ert/assetprotection,/obj/item/rig/ert/assetprotection,/obj/item/clothing/accessory/holochip/deathsquad,/obj/item/clothing/accessory/holochip/deathsquad,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"azw" = (/obj/structure/table/rack,/obj/item/rig_module/mounted,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"azx" = (/obj/machinery/vending/engivend,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"azy" = (/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/steel{pixel_x = 2; pixel_y = 2; amount = 50},/obj/item/stack/material/steel{pixel_x = 2; pixel_y = 2; amount = 50},/obj/item/stack/material/steel{pixel_x = 2; pixel_y = 2; amount = 50},/obj/item/stack/material/steel{pixel_x = 2; pixel_y = 2; amount = 50},/obj/item/stack/material/plasteel{amount = 50},/obj/item/stack/material/plasteel{amount = 50},/obj/item/stack/material/plasteel{amount = 50},/obj/item/stack/material/plasteel{amount = 50},/obj/item/stack/material/glass/reinforced{amount = 50},/obj/item/stack/material/glass/reinforced{amount = 50},/obj/item/stack/material/glass/reinforced{amount = 50},/obj/item/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/structure/table/steel_reinforced,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"azz" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
"azA" = (/obj/structure/window/reinforced/crescent{dir = 1},/obj/item/bonesetter,/obj/item/bonegel,/obj/item/organfixer/advanced,/obj/structure/table/glass,/turf/simulated/floor/shuttle/white,/area/syndicate_station/start)
"azB" = (/obj/structure/window/reinforced/crescent{dir = 1},/obj/structure/gas_stand/anesthetic,/turf/simulated/floor/shuttle/white,/area/syndicate_station/start)
-"azC" = (/obj/structure/table/reinforced,/obj/item/cell/high,/obj/item/cell/high,/obj/item/cell/high,/obj/item/cell/high,/obj/item/cell/high,/obj/item/cell/high,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"azD" = (/obj/structure/table/reinforced,/obj/item/crowbar,/obj/item/screwdriver,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"azE" = (/obj/machinery/cell_charger,/obj/structure/table/reinforced,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"azF" = (/obj/structure/table/reinforced,/obj/item/crowbar,/obj/item/screwdriver,/obj/item/wrench,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
+"azC" = (/obj/structure/table/reinforced,/obj/item/cell/high,/obj/item/cell/high,/obj/item/cell/high,/obj/item/cell/high,/obj/item/cell/high,/obj/item/cell/high,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"azD" = (/obj/structure/table/reinforced,/obj/item/crowbar,/obj/item/screwdriver,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"azE" = (/obj/machinery/cell_charger,/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"azF" = (/obj/structure/table/reinforced,/obj/item/crowbar,/obj/item/screwdriver,/obj/item/wrench,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
"azG" = (/obj/effect/floor_decal/corner/green,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
"azH" = (/obj/effect/floor_decal/corner/green{dir = 10},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
"azI" = (/turf/space,/turf/simulated/shuttle/wall/corner/smoothwhite/sw{icon_state = "corner_whiteship_s"},/area/shuttle/escape/centcom)
@@ -1323,15 +1099,15 @@
"azL" = (/obj/effect/floor_decal/industrial/warning/red/cee{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"azM" = (/obj/effect/floor_decal/industrial/warning/red,/obj/effect/floor_decal/industrial/warning/red{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"azN" = (/obj/machinery/door/airlock/glass_command{name = "Escape Shuttle Bridge"; req_access = list(19)},/turf/simulated/floor/shuttle/white,/area/shuttle/escape/centcom)
-"azO" = (/obj/effect/floor_decal/corner/green{dir = 5},/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/centcom/holding)
+"azO" = (/obj/effect/floor_decal/corner/green{dir = 5},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/holding)
"azP" = (/obj/machinery/door/airlock/glass_security{name = "Escape Shuttle Brig"; req_access = list(1)},/turf/simulated/floor/shuttle/white,/area/shuttle/escape/centcom)
-"azQ" = (/obj/effect/floor_decal/corner/green/three_quarters{dir = 1},/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/centcom/holding)
-"azR" = (/obj/machinery/door/blast/regular{dir = 4; id = "ASSAULT2"; name = "Launch Bay #2"},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
-"azS" = (/obj/machinery/mass_driver{dir = 8; id = "ASSAULT2"; name = "gravpult"},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
-"azT" = (/obj/item/mecha_parts/mecha_equipment/teleporter,/obj/item/mecha_parts/mecha_tracking,/obj/item/mecha_parts/mecha_tracking,/obj/item/mecha_parts/mecha_tracking,/obj/item/mecha_parts/mecha_tracking,/obj/structure/table/steel_reinforced,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"azU" = (/obj/machinery/vending/engineering,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"azV" = (/obj/item/device/multitool,/obj/item/device/multitool,/obj/item/device/flash,/obj/item/device/flash,/obj/item/construction/rcd,/obj/item/construction/rcd,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/construction/rcd,/obj/item/construction/rcd,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/structure/table/steel_reinforced,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"azW" = (/obj/machinery/recharge_station,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
+"azQ" = (/obj/effect/floor_decal/corner/green/three_quarters{dir = 1},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/holding)
+"azR" = (/obj/machinery/door/blast/regular{name = "Launch Bay #2"; dir = 4; id = "ASSAULT2"},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
+"azS" = (/obj/machinery/mass_driver{name = "gravpult"; dir = 8; id = "ASSAULT2"},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
+"azT" = (/obj/item/mecha_parts/mecha_equipment/teleporter,/obj/item/mecha_parts/mecha_tracking,/obj/item/mecha_parts/mecha_tracking,/obj/item/mecha_parts/mecha_tracking,/obj/item/mecha_parts/mecha_tracking,/obj/structure/table/steel_reinforced,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"azU" = (/obj/machinery/vending/engineering,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"azV" = (/obj/item/device/multitool,/obj/item/device/multitool,/obj/item/device/flash,/obj/item/device/flash,/obj/item/construction/rcd,/obj/item/construction/rcd,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/construction/rcd,/obj/item/construction/rcd,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/structure/table/steel_reinforced,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"azW" = (/obj/machinery/recharge_station,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
"azX" = (/obj/effect/floor_decal/corner/green{dir = 6},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
"azY" = (/turf/simulated/floor/shuttle/white,/area/shuttle/escape/centcom)
"aAa" = (/obj/structure/sign/warning/secure_area,/turf/unsimulated/wall{icon_state = "riveted"; dir = 1},/area/centcom/specops)
@@ -1340,19 +1116,19 @@
"aAd" = (/obj/structure/bed/chair/beige,/turf/unsimulated/beach/sand{icon_state = "desert2"},/area/centcom/holding)
"aAe" = (/obj/structure/table/standard,/obj/structure/window/reinforced/crescent{dir = 8},/obj/item/storage/firstaid/toxin{pixel_x = 3; pixel_y = 3},/obj/item/storage/firstaid/adv{pixel_x = 1},/turf/simulated/floor/shuttle/white,/area/syndicate_station/start)
"aAf" = (/obj/structure/bed/chair/blue,/turf/unsimulated/beach/sand{icon_state = "desert2"},/area/centcom/holding)
-"aAg" = (/obj/effect/floor_decal/corner/red{dir = 6},/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/centcom/holding)
-"aAh" = (/obj/effect/floor_decal/corner/green{dir = 9},/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/centcom/holding)
-"aAi" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_throwdown"; tiles = 0},/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_throwdown"; tiles = 0},/obj/effect/step_trigger/teleporter/random/admin,/turf/space,/area/space)
+"aAg" = (/obj/effect/floor_decal/corner/red{dir = 6},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/holding)
+"aAh" = (/obj/effect/floor_decal/corner/green{dir = 9},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/holding)
+"aAi" = (/obj/effect/step_trigger/thrower{name = "thrower_throwdown"; tiles = 0; affect_ghosts = 1},/obj/effect/step_trigger/thrower{name = "thrower_throwdown"; tiles = 0; affect_ghosts = 1},/obj/effect/step_trigger/teleporter/random/admin,/turf/space,/area/space)
"aAj" = (/obj/mecha/working/ripley/firefighter,/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
-"aAk" = (/obj/item/mecha_parts/mecha_equipment/tool/extinguisher,/obj/item/mecha_parts/mecha_equipment/tool/rcd,/obj/item/pickaxe/drill/diamonddrill,/obj/structure/table/steel_reinforced,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"aAl" = (/obj/structure/table/reinforced,/obj/item/storage/box/flashbangs,/obj/item/handcuffs,/obj/item/device/flash,/obj/item/melee/baton/loaded,/obj/item/storage/belt/security/tactical,/obj/item/gun/energy/stunrevolver,/obj/item/clothing/glasses/tacgoggles,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"aAm" = (/obj/structure/table/reinforced,/obj/item/device/megaphone,/obj/item/storage/box/trackimp,/obj/item/storage/box/cdeathalarm_kit,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"aAn" = (/obj/structure/table/reinforced,/obj/item/aicard,/obj/item/pinpointer/advpinpointer,/obj/item/stamp/centcomm,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"aAo" = (/obj/structure/table/reinforced,/obj/item/device/pda/ert,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"aAp" = (/obj/structure/table/reinforced,/obj/item/gun/energy/gun/nuclear,/obj/prefab/hand_teleporter,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"aAq" = (/obj/item/clothing/glasses/hud/standard/meson,/obj/item/clothing/glasses/hud/standard/meson,/obj/item/clothing/glasses/hud/standard/meson,/obj/item/clothing/glasses/hud/standard/meson,/obj/item/storage/belt/utility/full,/obj/item/storage/belt/utility/full,/obj/item/storage/belt/utility/full,/obj/item/storage/belt/utility/full,/obj/item/clothing/gloves/insulated,/obj/item/clothing/gloves/insulated,/obj/item/clothing/gloves/insulated,/obj/item/clothing/gloves/insulated,/obj/item/grenade/chem_grenade/metalfoam,/obj/item/grenade/chem_grenade/metalfoam,/obj/item/taperoll/engineering,/obj/item/clothing/glasses/welding/superior,/obj/item/clothing/glasses/welding/superior,/obj/item/clothing/glasses/welding/superior,/obj/item/clothing/glasses/welding/superior,/obj/item/clothing/glasses/welding/superior,/obj/structure/table/steel_reinforced,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"aAr" = (/obj/machinery/door/airlock/centcom{name = "Special Operations"; opacity = 1; req_access = list(103)},/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/centcom/specops)
-"aAs" = (/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/centcom/control)
+"aAk" = (/obj/item/mecha_parts/mecha_equipment/tool/extinguisher,/obj/item/mecha_parts/mecha_equipment/tool/rcd,/obj/item/pickaxe/drill/diamonddrill,/obj/structure/table/steel_reinforced,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"aAl" = (/obj/structure/table/reinforced,/obj/item/storage/box/flashbangs,/obj/item/handcuffs,/obj/item/device/flash,/obj/item/melee/baton/loaded,/obj/item/storage/belt/security/tactical,/obj/item/gun/energy/stunrevolver,/obj/item/clothing/glasses/tacgoggles,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"aAm" = (/obj/structure/table/reinforced,/obj/item/device/megaphone,/obj/item/storage/box/trackimp,/obj/item/storage/box/cdeathalarm_kit,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"aAn" = (/obj/structure/table/reinforced,/obj/item/aicard,/obj/item/pinpointer/advpinpointer,/obj/item/stamp/centcomm,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"aAo" = (/obj/structure/table/reinforced,/obj/item/device/pda/ert,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"aAp" = (/obj/structure/table/reinforced,/obj/item/gun/energy/gun/nuclear,/obj/prefab/hand_teleporter,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"aAq" = (/obj/item/clothing/glasses/hud/standard/meson,/obj/item/clothing/glasses/hud/standard/meson,/obj/item/clothing/glasses/hud/standard/meson,/obj/item/clothing/glasses/hud/standard/meson,/obj/item/storage/belt/utility/full,/obj/item/storage/belt/utility/full,/obj/item/storage/belt/utility/full,/obj/item/storage/belt/utility/full,/obj/item/clothing/gloves/insulated,/obj/item/clothing/gloves/insulated,/obj/item/clothing/gloves/insulated,/obj/item/clothing/gloves/insulated,/obj/item/grenade/chem_grenade/metalfoam,/obj/item/grenade/chem_grenade/metalfoam,/obj/item/taperoll/engineering,/obj/item/clothing/glasses/welding/superior,/obj/item/clothing/glasses/welding/superior,/obj/item/clothing/glasses/welding/superior,/obj/item/clothing/glasses/welding/superior,/obj/item/clothing/glasses/welding/superior,/obj/structure/table/steel_reinforced,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"aAr" = (/obj/machinery/door/airlock/centcom{name = "Special Operations"; opacity = 1; req_access = list(103)},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
+"aAs" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/control)
"aAt" = (/obj/structure/shuttle/engine/heater{dir = 4},/obj/structure/window/reinforced/crescent{dir = 8},/turf/simulated/floor/plating/airless,/area/supply/dock)
"aAv" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced/crescent{dir = 1},/turf/simulated/floor/plating/airless,/area/syndicate_station/start)
"aAw" = (/obj/effect/floor_decal/industrial/warning/red/corner{dir = 8},/obj/effect/floor_decal/industrial/warning/red/corner{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
@@ -1360,146 +1136,145 @@
"aAy" = (/obj/machinery/door/unpowered/simple/wood,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/holding)
"aAz" = (/obj/structure/table/standard,/obj/item/storage/firstaid/surgery/syndie,/obj/effect/floor_decal/spline/fancy{dir = 5},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/centcom/holding)
"aAA" = (/obj/machinery/turret/network/centcomm,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/creed)
-"aAB" = (/obj/machinery/door/blast/regular{dir = 4; id = "ASSAULT1"; name = "Launch Bay #1"},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
-"aAC" = (/obj/machinery/mass_driver{dir = 8; id = "ASSAULT1"; name = "gravpult"},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
-"aAD" = (/obj/item/mecha_parts/mecha_equipment/tool/drill/diamonddrill,/obj/item/mecha_parts/mecha_equipment/tool/cable_layer,/obj/structure/table/steel_reinforced,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"aAE" = (/obj/structure/table/rack,/obj/item/storage/backpack/ert/commander,/obj/item/clothing/suit/armor/vest/ert,/obj/item/clothing/head/helmet/ert,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"aAF" = (/obj/structure/table/rack,/obj/item/rig/ert/assetprotection,/obj/item/clothing/accessory/holochip/deathsquad,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"aAG" = (/obj/structure/table/rack,/obj/item/gun/energy/stunrevolver,/obj/item/gun/energy/stunrevolver,/obj/item/device/flash,/obj/item/device/flash,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"aAH" = (/obj/structure/table/rack,/obj/item/clothing/suit/armor/vest/ert/engineer,/obj/item/clothing/suit/armor/vest/ert/engineer,/obj/item/clothing/suit/armor/vest/ert/engineer,/obj/item/clothing/suit/armor/vest/ert/engineer,/obj/item/clothing/head/helmet/ert/engineer,/obj/item/clothing/head/helmet/ert/engineer,/obj/item/clothing/head/helmet/ert/engineer,/obj/item/clothing/head/helmet/ert/engineer,/obj/item/storage/backpack/ert/engineer,/obj/item/storage/backpack/ert/engineer,/obj/item/storage/backpack/ert/engineer,/obj/item/storage/backpack/ert/engineer,/obj/item/clothing/accessory/holochip/deathsquad,/obj/item/clothing/accessory/holochip/deathsquad,/obj/item/clothing/accessory/holochip/deathsquad,/obj/item/clothing/accessory/holochip/deathsquad,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"aAI" = (/obj/machinery/portable_atmospherics/powered/scrubber,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
+"aAB" = (/obj/machinery/door/blast/regular{name = "Launch Bay #1"; dir = 4; id = "ASSAULT1"},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
+"aAC" = (/obj/machinery/mass_driver{name = "gravpult"; dir = 8; id = "ASSAULT1"},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
+"aAD" = (/obj/item/mecha_parts/mecha_equipment/tool/drill/diamonddrill,/obj/item/mecha_parts/mecha_equipment/tool/cable_layer,/obj/structure/table/steel_reinforced,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"aAE" = (/obj/structure/table/rack,/obj/item/storage/backpack/ert/commander,/obj/item/clothing/suit/armor/vest/ert,/obj/item/clothing/head/helmet/ert,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"aAF" = (/obj/structure/table/rack,/obj/item/rig/ert/assetprotection,/obj/item/clothing/accessory/holochip/deathsquad,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"aAG" = (/obj/structure/table/rack,/obj/item/gun/energy/stunrevolver,/obj/item/gun/energy/stunrevolver,/obj/item/device/flash,/obj/item/device/flash,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"aAH" = (/obj/structure/table/rack,/obj/item/clothing/suit/armor/vest/ert/engineer,/obj/item/clothing/suit/armor/vest/ert/engineer,/obj/item/clothing/suit/armor/vest/ert/engineer,/obj/item/clothing/suit/armor/vest/ert/engineer,/obj/item/clothing/head/helmet/ert/engineer,/obj/item/clothing/head/helmet/ert/engineer,/obj/item/clothing/head/helmet/ert/engineer,/obj/item/clothing/head/helmet/ert/engineer,/obj/item/storage/backpack/ert/engineer,/obj/item/storage/backpack/ert/engineer,/obj/item/storage/backpack/ert/engineer,/obj/item/storage/backpack/ert/engineer,/obj/item/clothing/accessory/holochip/deathsquad,/obj/item/clothing/accessory/holochip/deathsquad,/obj/item/clothing/accessory/holochip/deathsquad,/obj/item/clothing/accessory/holochip/deathsquad,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"aAI" = (/obj/machinery/portable_atmospherics/powered/scrubber,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
"aAJ" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced/crescent{dir = 1},/turf/simulated/floor/plating,/area/rescue_base/start)
"aAK" = (/turf/unsimulated/wall{icon_state = "riveted_straight"},/area/space)
"aAL" = (/obj/effect/floor_decal/corner/green{dir = 4},/obj/effect/floor_decal/industrial/warning/corner,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
"aAM" = (/obj/structure/window/reinforced/crescent{dir = 8},/turf/unsimulated/floor{icon_state = "bcircuit"},/area/centcom/control)
"aAN" = (/obj/machinery/turret/network/centcomm,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "steel_rough"},/area/centcom/control)
-"aAO" = (/obj/item/device/radio/intercom/specops{pixel_y = 22},/mob/living/silicon/decoy{name = "A.L.I.C.E."},/turf/unsimulated/floor{icon_state = "bcircuit"},/area/centcom/control)
-"aAP" = (/obj/machinery/turret/network/centcomm,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
+"aAP" = (/obj/machinery/turret/network/centcomm,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
"aAQ" = (/obj/structure/window/reinforced/crescent{dir = 4},/turf/unsimulated/floor{icon_state = "bcircuit"},/area/centcom/control)
"aAS" = (/obj/structure/bed/chair/shuttle/red{dir = 4},/obj/effect/floor_decal/industrial/warning/red{dir = 4},/turf/simulated/floor,/area/syndicate_station/start)
"aAT" = (/turf/unsimulated/wall{icon_state = "riveted_straight"},/area/thunderfield)
-"aAU" = (/obj/structure/bed/chair{dir = 8},/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/centcom/control)
+"aAU" = (/obj/structure/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/control)
"aAV" = (/obj/structure/bed/chair,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding)
"aAW" = (/obj/structure/bed/roller,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding)
"aAX" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/rescue_base/base)
"aAY" = (/obj/effect/floor_decal/industrial/warning,/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/rescue_base/base)
"aAZ" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/rescue_base/base)
"aBa" = (/obj/mecha/working/hoverpod,/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
-"aBb" = (/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay,/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay,/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay,/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay,/obj/item/mecha_parts/mecha_equipment/repair_droid,/obj/item/mecha_parts/mecha_equipment/repair_droid,/obj/item/mecha_parts/mecha_equipment/repair_droid,/obj/item/mecha_parts/mecha_equipment/repair_droid,/obj/structure/table/steel_reinforced,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"aBc" = (/obj/structure/table/rack,/obj/item/rig_module/mounted/taser,/obj/item/rig_module/mounted/taser,/obj/item/rig_module/mounted/taser,/obj/item/rig_module/maneuvering_jets,/obj/item/rig_module/maneuvering_jets,/obj/item/rig_module/grenade_launcher,/obj/item/rig_module/device/drill,/obj/item/rig_module/device/drill,/obj/item/rig_module/device/healthscanner,/obj/item/rig_module/device/healthscanner,/obj/item/rig_module/device/rcd,/obj/item/rig_module/device/rcd,/obj/item/rig_module/chem_dispenser/injector,/obj/item/rig_module/chem_dispenser/injector,/obj/item/rig_module/chem_dispenser/combat,/obj/item/rig_module/chem_dispenser/combat,/obj/item/rig_module/mounted/egun,/obj/item/rig_module/mounted/egun,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"aBd" = (/obj/machinery/door/airlock/centcom{name = "Armory Special Operations"; opacity = 1; req_access = list(103)},/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/centcom/specops)
-"aBe" = (/obj/machinery/door/airlock/centcom{name = "Engineering Special Operations"; opacity = 1; req_access = list(103)},/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/centcom/specops)
-"aBf" = (/obj/machinery/door/blast/regular{dir = 4; id = "CREED"; name = "Ready Room"},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/specops)
+"aBb" = (/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay,/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay,/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay,/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay,/obj/item/mecha_parts/mecha_equipment/repair_droid,/obj/item/mecha_parts/mecha_equipment/repair_droid,/obj/item/mecha_parts/mecha_equipment/repair_droid,/obj/item/mecha_parts/mecha_equipment/repair_droid,/obj/structure/table/steel_reinforced,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"aBc" = (/obj/structure/table/rack,/obj/item/rig_module/mounted/taser,/obj/item/rig_module/mounted/taser,/obj/item/rig_module/mounted/taser,/obj/item/rig_module/maneuvering_jets,/obj/item/rig_module/maneuvering_jets,/obj/item/rig_module/grenade_launcher,/obj/item/rig_module/device/drill,/obj/item/rig_module/device/drill,/obj/item/rig_module/device/healthscanner,/obj/item/rig_module/device/healthscanner,/obj/item/rig_module/device/rcd,/obj/item/rig_module/device/rcd,/obj/item/rig_module/chem_dispenser/injector,/obj/item/rig_module/chem_dispenser/injector,/obj/item/rig_module/chem_dispenser/combat,/obj/item/rig_module/chem_dispenser/combat,/obj/item/rig_module/mounted/egun,/obj/item/rig_module/mounted/egun,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"aBd" = (/obj/machinery/door/airlock/centcom{name = "Armory Special Operations"; opacity = 1; req_access = list(103)},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
+"aBe" = (/obj/machinery/door/airlock/centcom{name = "Engineering Special Operations"; opacity = 1; req_access = list(103)},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
+"aBf" = (/obj/machinery/door/blast/regular{name = "Ready Room"; dir = 4; id = "CREED"},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/specops)
"aBg" = (/obj/effect/floor_decal/industrial/outline/yellow,/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "steel_rough"},/area/centcom/specops)
-"aBh" = (/obj/machinery/door/airlock/centcom{name = "Special Operations"; opacity = 1; req_access = list(103)},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{dir = 4; id = "CREED"; name = "Ready Room"},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/specops)
+"aBh" = (/obj/machinery/door/airlock/centcom{name = "Special Operations"; opacity = 1; req_access = list(103)},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{name = "Ready Room"; dir = 4; id = "CREED"},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/specops)
"aBi" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
"aBj" = (/obj/machinery/door/airlock/centcom{name = "Bridge"; opacity = 1; req_access = list(109)},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
"aBk" = (/obj/structure/window/reinforced/crescent{dir = 8},/obj/structure/window/reinforced/crescent,/turf/unsimulated/floor{icon_state = "bcircuit"},/area/centcom/control)
-"aBl" = (/obj/machinery/door/window{dir = 2; name = "AI Core Door"; req_access = list(109)},/turf/unsimulated/floor{icon_state = "bcircuit"},/area/centcom/control)
+"aBl" = (/obj/machinery/door/window{name = "AI Core Door"; dir = 2; req_access = list(109)},/turf/unsimulated/floor{icon_state = "bcircuit"},/area/centcom/control)
"aBm" = (/obj/structure/closet/athletic_mixed,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/holding)
"aBn" = (/obj/structure/window/reinforced/crescent{dir = 4},/obj/structure/window/reinforced/crescent,/turf/unsimulated/floor{icon_state = "bcircuit"},/area/centcom/control)
"aBo" = (/turf/unsimulated/beach/sand{icon_state = "desert2"},/turf/unsimulated/beach/sand{icon_state = "coconuts"},/area/centcom/holding)
"aBq" = (/obj/machinery/optable,/obj/effect/floor_decal/industrial/outline/red,/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/centcom/holding)
-"aBr" = (/obj/machinery/door/blast/regular{dir = 4; id = "ASSAULT0"; name = "Launch Bay #0"},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
-"aBs" = (/obj/machinery/mass_driver{dir = 8; id = "ASSAULT0"; name = "gravpult"},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
-"aBt" = (/obj/machinery/camera/network/ert{c_tag = "Assault Armor South"; dir = 1},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
-"aBu" = (/obj/machinery/door/airlock/centcom{name = "Special Operations Command"; opacity = 1; req_access = list(103)},/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/centcom/specops)
-"aBv" = (/obj/structure/sign/warning/secure_area/armory{pixel_y = 32},/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/centcom/specops)
-"aBw" = (/obj/structure/sign/warning/engineering_access{pixel_y = 32},/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/centcom/specops)
-"aBx" = (/obj/item/device/radio/intercom/specops{pixel_y = 22},/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/centcom/specops)
-"aBy" = (/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = 32},/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/centcom/specops)
-"aBz" = (/obj/structure/table/rack,/obj/item/clothing/head/beret/centcom/officer,/obj/item/clothing/head/beret/centcom/officer,/obj/item/clothing/head/beret/centcom/officer,/obj/item/clothing/head/beret/centcom/officer,/obj/item/clothing/head/beret/centcom/officer,/obj/item/clothing/head/beret/centcom/officer,/obj/item/clothing/mask/balaclava,/obj/item/clothing/mask/balaclava,/obj/item/clothing/mask/balaclava,/obj/item/clothing/mask/balaclava,/obj/item/clothing/mask/balaclava,/obj/item/clothing/mask/balaclava,/obj/item/clothing/accessory/holster/waist,/obj/item/clothing/accessory/holster/waist,/obj/item/clothing/accessory/holster/waist,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
+"aBr" = (/obj/machinery/door/blast/regular{name = "Launch Bay #0"; dir = 4; id = "ASSAULT0"},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
+"aBs" = (/obj/machinery/mass_driver{name = "gravpult"; dir = 8; id = "ASSAULT0"},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
+"aBt" = (/obj/machinery/camera/network/ert{dir = 1; c_tag = "Assault Armor South"},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
+"aBu" = (/obj/machinery/door/airlock/centcom{name = "Special Operations Command"; opacity = 1; req_access = list(103)},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
+"aBv" = (/obj/structure/sign/warning/secure_area/armory{pixel_y = 32},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
+"aBw" = (/obj/structure/sign/warning/engineering_access{pixel_y = 32},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
+"aBx" = (/obj/item/device/radio/intercom/specops{pixel_y = 22},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
+"aBy" = (/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = 32},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
+"aBz" = (/obj/structure/table/rack,/obj/item/clothing/head/beret/centcom/officer,/obj/item/clothing/head/beret/centcom/officer,/obj/item/clothing/head/beret/centcom/officer,/obj/item/clothing/head/beret/centcom/officer,/obj/item/clothing/head/beret/centcom/officer,/obj/item/clothing/head/beret/centcom/officer,/obj/item/clothing/mask/balaclava,/obj/item/clothing/mask/balaclava,/obj/item/clothing/mask/balaclava,/obj/item/clothing/mask/balaclava,/obj/item/clothing/mask/balaclava,/obj/item/clothing/mask/balaclava,/obj/item/clothing/accessory/holster/waist,/obj/item/clothing/accessory/holster/waist,/obj/item/clothing/accessory/holster/waist,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
"aBA" = (/obj/structure/sign/warning/nosmoking_2,/turf/unsimulated/wall{icon_state = "riveted"},/area/centcom/specops)
"aBB" = (/obj/effect/floor_decal/corner/green,/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
-"aBC" = (/obj/structure/bed/chair{dir = 4},/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/centcom/control)
-"aBF" = (/obj/effect/floor_decal/corner/green{dir = 6},/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/centcom/holding)
+"aBC" = (/obj/structure/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/control)
+"aBF" = (/obj/effect/floor_decal/corner/green{dir = 6},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/holding)
"aBG" = (/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/centcom/holding)
"aBH" = (/obj/structure/gas_stand/anesthetic,/obj/effect/floor_decal/spline/fancy,/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/centcom/holding)
-"aBI" = (/obj/structure/sign/redcross{pixel_y = -32},/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/centcom/specops)
+"aBI" = (/obj/structure/sign/redcross{pixel_y = -32},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
"aBJ" = (/obj/structure/bed/chair,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"aBK" = (/obj/structure/table/reinforced,/obj/item/device/megaphone,/obj/item/device/megaphone,/obj/item/device/megaphone,/obj/item/device/megaphone,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
+"aBK" = (/obj/structure/table/reinforced,/obj/item/device/megaphone,/obj/item/device/megaphone,/obj/item/device/megaphone,/obj/item/device/megaphone,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
"aBL" = (/obj/structure/table/standard,/obj/machinery/recharger{pixel_y = 4},/obj/item/handcuffs,/obj/item/storage/pill_bottle/dice,/obj/item/deck/cards,/obj/item/rig/light/internalaffairs/equipped,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
"aBM" = (/obj/structure/bed/chair/office/light,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
"aBN" = (/obj/machinery/computer/arcade,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
"aBO" = (/obj/structure/undies_wardrobe,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"aBQ" = (/obj/structure/bed/chair,/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/centcom/control)
-"aBR" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/centcom/control)
+"aBQ" = (/obj/structure/bed/chair,/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/control)
+"aBR" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/control)
"aBS" = (/obj/effect/floor_decal/corner/paleblue/three_quarters{dir = 4},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding)
"aBT" = (/obj/effect/floor_decal/corner/paleblue/three_quarters,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding)
"aBU" = (/obj/item/modular_computer/console/preset/security,/turf/simulated/floor/shuttle/blue,/area/shuttle/escape/centcom)
"aBW" = (/obj/structure/sign/warning/nosmoking_2,/turf/unsimulated/wall{icon_state = "riveted"; dir = 4},/area/centcom/control)
-"aBX" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp,/obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp,/obj/item/mecha_parts/mecha_equipment/tool/passenger,/obj/item/mecha_parts/mecha_equipment/tool/passenger,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"aBY" = (/obj/machinery/door/airlock/centcom{name = "Medical Special Operations"; opacity = 1; req_access = list(103)},/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/centcom/specops)
-"aBZ" = (/obj/machinery/autolathe{desc = "Your typical Autolathe. It appears to have much more options than your regular one, however..."; hacked = 1; name = "Unlocked Autolathe"},/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
+"aBX" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp,/obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp,/obj/item/mecha_parts/mecha_equipment/tool/passenger,/obj/item/mecha_parts/mecha_equipment/tool/passenger,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"aBY" = (/obj/machinery/door/airlock/centcom{name = "Medical Special Operations"; opacity = 1; req_access = list(103)},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
+"aBZ" = (/obj/machinery/autolathe{name = "Unlocked Autolathe"; desc = "Your typical Autolathe. It appears to have much more options than your regular one, however..."; hacked = 1},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
"aCa" = (/obj/structure/table/reinforced,/obj/item/storage/box/donut,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
"aCb" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
"aCc" = (/obj/structure/table/reinforced,/obj/item/crowbar,/obj/item/screwdriver,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"aCd" = (/obj/structure/table/reinforced,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
+"aCd" = (/obj/structure/table/reinforced,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/obj/item/device/pda/ert,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
"aCe" = (/obj/machinery/status_display,/turf/unsimulated/wall,/area/centcom/specops)
-"aCf" = (/obj/structure/table/rack,/obj/item/device/lightreplacer,/obj/item/device/lightreplacer,/obj/item/rig/ert/janitor,/obj/item/rig/ert/janitor,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"aCg" = (/obj/structure/bed/chair,/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/centcom/control)
+"aCf" = (/obj/structure/table/rack,/obj/item/device/lightreplacer,/obj/item/device/lightreplacer,/obj/item/rig/ert/janitor,/obj/item/rig/ert/janitor,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"aCg" = (/obj/structure/bed/chair,/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/control)
"aCi" = (/obj/effect/floor_decal/corner/paleblue/three_quarters{dir = 1},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding)
"aCj" = (/obj/effect/floor_decal/carpet{dir = 1},/obj/structure/bed/couch/middle/sofa,/obj/structure/bed/couch/left/sofa,/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet{dir = 5},/turf/unsimulated/floor{icon_state = "carpet"},/area/centcom/holding)
"aCk" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "steel_rough"},/area/centcom/holding)
"aCm" = (/obj/structure/bed/chair/shuttle/red{dir = 8},/obj/effect/floor_decal/industrial/warning/red{dir = 5},/turf/simulated/floor,/area/syndicate_station/start)
"aCn" = (/obj/structure/flora/pottedplant/minitree,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding)
-"aCo" = (/obj/item/modular_computer/console/preset/command,/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/centcom/control)
-"aCq" = (/obj/structure/table/reinforced,/obj/item/storage/belt/medical,/obj/item/storage/belt/medical,/obj/item/storage/belt/medical,/obj/item/reagent_containers/vessel/bottle/chemical/inaprovaline,/obj/item/reagent_containers/vessel/bottle/chemical/inaprovaline,/obj/item/reagent_containers/vessel/bottle/chemical/inaprovaline,/obj/item/reagent_containers/hypospray,/obj/item/reagent_containers/hypospray,/obj/item/reagent_containers/hypospray,/obj/item/storage/box/syringes,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"aCr" = (/obj/structure/table/reinforced,/obj/item/storage/belt/medical,/obj/item/storage/belt/medical,/obj/item/storage/belt/medical,/obj/item/reagent_containers/vessel/bottle/chemical/inaprovaline,/obj/item/reagent_containers/vessel/bottle/chemical/inaprovaline,/obj/item/reagent_containers/vessel/bottle/chemical/inaprovaline,/obj/item/reagent_containers/hypospray,/obj/item/reagent_containers/hypospray,/obj/item/reagent_containers/hypospray,/obj/item/storage/box/syringes,/obj/item/reagent_containers/vessel/beaker/large,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"aCs" = (/obj/structure/table/reinforced,/obj/item/storage/box/autoinjectors,/obj/item/storage/box/beakers,/obj/item/storage/box/gloves,/obj/item/storage/box/pillbottles,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"aCt" = (/obj/machinery/chemical_dispenser/ert,/obj/item/reagent_containers/vessel/beaker/large,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"aCu" = (/obj/machinery/chem_master,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"aCv" = (/obj/structure/closet/crate,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
+"aCo" = (/obj/item/modular_computer/console/preset/command,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/control)
+"aCq" = (/obj/structure/table/reinforced,/obj/item/storage/belt/medical,/obj/item/storage/belt/medical,/obj/item/storage/belt/medical,/obj/item/reagent_containers/vessel/bottle/chemical/inaprovaline,/obj/item/reagent_containers/vessel/bottle/chemical/inaprovaline,/obj/item/reagent_containers/vessel/bottle/chemical/inaprovaline,/obj/item/reagent_containers/hypospray,/obj/item/reagent_containers/hypospray,/obj/item/reagent_containers/hypospray,/obj/item/storage/box/syringes,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"aCr" = (/obj/structure/table/reinforced,/obj/item/storage/belt/medical,/obj/item/storage/belt/medical,/obj/item/storage/belt/medical,/obj/item/reagent_containers/vessel/bottle/chemical/inaprovaline,/obj/item/reagent_containers/vessel/bottle/chemical/inaprovaline,/obj/item/reagent_containers/vessel/bottle/chemical/inaprovaline,/obj/item/reagent_containers/hypospray,/obj/item/reagent_containers/hypospray,/obj/item/reagent_containers/hypospray,/obj/item/storage/box/syringes,/obj/item/reagent_containers/vessel/beaker/large,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"aCs" = (/obj/structure/table/reinforced,/obj/item/storage/box/autoinjectors,/obj/item/storage/box/beakers,/obj/item/storage/box/gloves,/obj/item/storage/box/pillbottles,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"aCt" = (/obj/machinery/chemical_dispenser/ert,/obj/item/reagent_containers/vessel/beaker/large,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"aCu" = (/obj/machinery/chem_master,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"aCv" = (/obj/structure/closet/crate,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
"aCw" = (/obj/structure/table/reinforced,/obj/item/stamp/centcomm,/obj/item/pen,/obj/item/paper_bin{pixel_x = 1; pixel_y = 9},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
"aCx" = (/obj/structure/table/reinforced,/obj/item/device/paicard,/obj/item/device/paicard,/obj/item/device/paicard,/obj/item/device/paicard,/obj/item/device/paicard,/obj/item/device/paicard,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"aCy" = (/obj/effect/landmark/start/antags/deathsquad,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"aCz" = (/obj/structure/closet{icon_closed = "syndicate1"; icon_opened = "syndicate1open"; icon_state = "syndicate1"; name = "emergency response team wardrobe"},/obj/item/clothing/under/ert,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/under/rank/centcom/officer,/obj/item/clothing/accessory/holochip/deathsquad,/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/centcom/specops)
+"aCy" = (/obj/effect/landmark/start/antags/deathsquad,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"aCz" = (/obj/structure/closet{name = "emergency response team wardrobe"; icon_state = "syndicate1"; icon_closed = "syndicate1"; icon_opened = "syndicate1open"},/obj/item/clothing/under/ert,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/under/rank/centcom/officer,/obj/item/clothing/accessory/holochip/deathsquad,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
"aCA" = (/obj/structure/sink{dir = 4; pixel_x = 11},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
"aCC" = (/obj/effect/floor_decal/spline/fancy/wood{dir = 4},/obj/machinery/door/airlock/glass{name = "Swimming Pool"},/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/holding)
"aCD" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "steel_rough"},/area/centcom/holding)
"aCE" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "steel_rough"},/area/centcom/holding)
"aCF" = (/turf/unsimulated/wall,/area/centcom/holding)
-"aCG" = (/obj/structure/closet/crate,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
+"aCG" = (/obj/structure/closet/crate,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
"aCH" = (/obj/structure/bed/chair{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"aCI" = (/obj/structure/table/rack,/obj/item/storage/backpack/security,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/shoes/galoshes,/obj/item/clothing/head/bio_hood/janitor,/obj/item/clothing/suit/bio_suit/janitor,/obj/item/clothing/gloves/color,/obj/item/clothing/glasses/hud/standard/science,/obj/item/storage/backpack/security,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/shoes/galoshes,/obj/item/clothing/head/bio_hood/janitor,/obj/item/clothing/suit/bio_suit/janitor,/obj/item/clothing/gloves/color,/obj/item/clothing/glasses/hud/standard/science,/obj/item/reagent_containers/spray/cleaner{pixel_x = 6; pixel_y = 3},/obj/item/reagent_containers/spray/cleaner{pixel_x = 6; pixel_y = 3},/obj/item/reagent_containers/spray/plantbgone,/obj/item/reagent_containers/spray/plantbgone,/obj/item/storage/box/lights/mixed,/obj/item/storage/box/lights/mixed,/obj/item/grenade/chem_grenade/cleaner,/obj/item/grenade/chem_grenade/cleaner,/obj/item/grenade/chem_grenade/cleaner,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"aCJ" = (/obj/item/mop,/obj/structure/mopbucket,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"aCK" = (/obj/structure/reagent_dispensers/watertank,/obj/item/reagent_containers/vessel/bucket{amount_per_transfer_from_this = 50},/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
+"aCI" = (/obj/structure/table/rack,/obj/item/storage/backpack/security,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/shoes/galoshes,/obj/item/clothing/head/bio_hood/janitor,/obj/item/clothing/suit/bio_suit/janitor,/obj/item/clothing/gloves/color,/obj/item/clothing/glasses/hud/standard/science,/obj/item/storage/backpack/security,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/shoes/galoshes,/obj/item/clothing/head/bio_hood/janitor,/obj/item/clothing/suit/bio_suit/janitor,/obj/item/clothing/gloves/color,/obj/item/clothing/glasses/hud/standard/science,/obj/item/reagent_containers/spray/cleaner{pixel_x = 6; pixel_y = 3},/obj/item/reagent_containers/spray/cleaner{pixel_x = 6; pixel_y = 3},/obj/item/reagent_containers/spray/plantbgone,/obj/item/reagent_containers/spray/plantbgone,/obj/item/storage/box/lights/mixed,/obj/item/storage/box/lights/mixed,/obj/item/grenade/chem_grenade/cleaner,/obj/item/grenade/chem_grenade/cleaner,/obj/item/grenade/chem_grenade/cleaner,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"aCJ" = (/obj/item/mop,/obj/structure/mopbucket,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"aCK" = (/obj/structure/reagent_dispensers/watertank,/obj/item/reagent_containers/vessel/bucket{amount_per_transfer_from_this = 50},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
"aCL" = (/obj/effect/floor_decal/corner/green{dir = 4},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
"aCM" = (/obj/effect/floor_decal/corner/green{dir = 5},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
"aCO" = (/obj/structure/bed/chair/office/dark{dir = 1},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding)
"aCP" = (/obj/machinery/computer/shuttle_control/emergency,/turf/simulated/floor/shuttle/blue,/area/shuttle/escape/centcom)
-"aCQ" = (/obj/structure/table/reinforced,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"aCR" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "deathsquad_centcom_dock"; name = "docking port controller"; pixel_y = -25; req_one_access = list(103); tag_door = "deathsquad_centcom_dock_door"},/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/centcom/specops)
-"aCS" = (/obj/machinery/door/airlock/centcom{name = "Holding Cell"; opacity = 1; req_access = list(101)},/obj/machinery/door/blast/regular{id = "crescent_checkpoint_access"; name = "Crescent Checkpoint"},/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/centcom/control)
+"aCQ" = (/obj/structure/table/reinforced,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"aCR" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{name = "docking port controller"; pixel_y = -25; frequency = 1380; req_one_access = list(103); id_tag = "deathsquad_centcom_dock"; tag_door = "deathsquad_centcom_dock_door"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
+"aCS" = (/obj/machinery/door/airlock/centcom{name = "Holding Cell"; opacity = 1; req_access = list(101)},/obj/machinery/door/blast/regular{name = "Crescent Checkpoint"; id = "crescent_checkpoint_access"},/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/centcom/control)
"aCT" = (/obj/machinery/door/airlock/glass_medical{name = "Escape Shuttle Infirmary"; req_access = list(5)},/turf/simulated/floor/shuttle/white,/area/shuttle/escape/centcom)
-"aCW" = (/obj/structure/table/reinforced,/obj/item/storage/box/bodybags,/obj/item/storage/firstaid/o2,/obj/item/storage/firstaid/regular,/obj/item/device/flash,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/device/flash,/obj/item/storage/firstaid/regular,/obj/item/storage/firstaid/regular,/obj/item/storage/pill_bottle/dylovene,/obj/item/storage/pill_bottle/kelotane,/obj/item/storage/pill_bottle/kelotane,/obj/item/storage/pill_bottle/dylovene,/obj/item/storage/pill_bottle/kelotane,/obj/item/storage/firstaid/adv,/obj/item/storage/firstaid/adv,/obj/item/storage/firstaid/toxin,/obj/item/storage/firstaid/fire,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"aCX" = (/obj/structure/table/reinforced,/obj/item/roller,/obj/item/roller,/obj/item/roller,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"aCY" = (/obj/structure/closet/crate/medical,/obj/item/circular_saw,/obj/item/surgicaldrill,/obj/item/bonegel{pixel_x = 4; pixel_y = 3},/obj/item/bonesetter,/obj/item/scalpel,/obj/item/retractor{pixel_y = 6},/obj/item/hemostat{pixel_y = 4},/obj/item/cautery{pixel_y = 4},/obj/item/FixOVein{pixel_x = -6; pixel_y = 1},/obj/item/stack/nanopaste,/obj/item/tank/anesthetic,/obj/item/clothing/mask/breath/medical,/obj/item/clothing/mask/surgical,/obj/item/clothing/mask/surgical,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"aCZ" = (/obj/structure/table/rack,/obj/item/gun/energy/stunrevolver,/obj/item/gun/energy/stunrevolver,/obj/item/device/flash,/obj/item/device/flash,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"aDa" = (/obj/structure/table/rack,/obj/item/clothing/suit/armor/vest/ert/medical,/obj/item/clothing/suit/armor/vest/ert/medical,/obj/item/clothing/suit/armor/vest/ert/medical,/obj/item/clothing/suit/armor/vest/ert/medical,/obj/item/clothing/head/helmet/ert/medical,/obj/item/clothing/head/helmet/ert/medical,/obj/item/clothing/head/helmet/ert/medical,/obj/item/clothing/head/helmet/ert/medical,/obj/item/storage/backpack/ert/medical,/obj/item/storage/backpack/ert/medical,/obj/item/storage/backpack/ert/medical,/obj/item/storage/backpack/ert/medical,/obj/item/clothing/accessory/holochip/deathsquad,/obj/item/clothing/accessory/holochip/deathsquad,/obj/item/clothing/accessory/holochip/deathsquad,/obj/item/clothing/accessory/holochip/deathsquad,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"aDb" = (/obj/structure/table/rack,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
-"aDc" = (/obj/structure/table/rack,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/specops)
+"aCW" = (/obj/structure/table/reinforced,/obj/item/storage/box/bodybags,/obj/item/storage/firstaid/o2,/obj/item/storage/firstaid/regular,/obj/item/device/flash,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/device/flash,/obj/item/storage/firstaid/regular,/obj/item/storage/firstaid/regular,/obj/item/storage/pill_bottle/dylovene,/obj/item/storage/pill_bottle/kelotane,/obj/item/storage/pill_bottle/kelotane,/obj/item/storage/pill_bottle/dylovene,/obj/item/storage/pill_bottle/kelotane,/obj/item/storage/firstaid/adv,/obj/item/storage/firstaid/adv,/obj/item/storage/firstaid/toxin,/obj/item/storage/firstaid/fire,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"aCX" = (/obj/structure/table/reinforced,/obj/item/roller,/obj/item/roller,/obj/item/roller,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"aCY" = (/obj/structure/closet/crate/medical,/obj/item/circular_saw,/obj/item/surgicaldrill,/obj/item/bonegel{pixel_x = 4; pixel_y = 3},/obj/item/bonesetter,/obj/item/scalpel,/obj/item/retractor{pixel_y = 6},/obj/item/hemostat{pixel_y = 4},/obj/item/cautery{pixel_y = 4},/obj/item/FixOVein{pixel_x = -6; pixel_y = 1},/obj/item/stack/nanopaste,/obj/item/tank/anesthetic,/obj/item/clothing/mask/breath/medical,/obj/item/clothing/mask/surgical,/obj/item/clothing/mask/surgical,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"aCZ" = (/obj/structure/table/rack,/obj/item/gun/energy/stunrevolver,/obj/item/gun/energy/stunrevolver,/obj/item/device/flash,/obj/item/device/flash,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"aDa" = (/obj/structure/table/rack,/obj/item/clothing/suit/armor/vest/ert/medical,/obj/item/clothing/suit/armor/vest/ert/medical,/obj/item/clothing/suit/armor/vest/ert/medical,/obj/item/clothing/suit/armor/vest/ert/medical,/obj/item/clothing/head/helmet/ert/medical,/obj/item/clothing/head/helmet/ert/medical,/obj/item/clothing/head/helmet/ert/medical,/obj/item/clothing/head/helmet/ert/medical,/obj/item/storage/backpack/ert/medical,/obj/item/storage/backpack/ert/medical,/obj/item/storage/backpack/ert/medical,/obj/item/storage/backpack/ert/medical,/obj/item/clothing/accessory/holochip/deathsquad,/obj/item/clothing/accessory/holochip/deathsquad,/obj/item/clothing/accessory/holochip/deathsquad,/obj/item/clothing/accessory/holochip/deathsquad,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"aDb" = (/obj/structure/table/rack,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"aDc" = (/obj/structure/table/rack,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
"aDd" = (/obj/machinery/light/small{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
"aDe" = (/obj/machinery/vending/snack{name = "hacked Getmore Chocolate Corp"; prices = list()},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"aDf" = (/obj/structure/bed/chair{dir = 4},/turf/unsimulated/floor{dir = 5; icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_rough"},/area/centcom/holding)
-"aDh" = (/obj/structure/table/reinforced,/obj/item/paper_bin,/obj/item/pen/blue,/turf/unsimulated/floor{dir = 5; icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_rough"},/area/centcom/holding)
+"aDf" = (/obj/structure/bed/chair{dir = 4},/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_rough"; dir = 5},/area/centcom/holding)
+"aDh" = (/obj/structure/table/reinforced,/obj/item/paper_bin,/obj/item/pen/blue,/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_rough"; dir = 5},/area/centcom/holding)
"aDi" = (/obj/structure/window_frame/indestructible,/turf/unsimulated/floor{name = "plating"},/area/tdome)
-"aDj" = (/obj/effect/floor_decal/corner/grey{dir = 6},/obj/effect/floor_decal/corner/red{dir = 9},/turf/unsimulated/floor{dir = 5; icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_rough"},/area/centcom/holding)
-"aDl" = (/obj/effect/floor_decal/corner/red{dir = 9},/obj/structure/table/reinforced,/obj/item/device/taperecorder,/turf/unsimulated/floor{dir = 5; icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_rough"},/area/centcom/holding)
+"aDj" = (/obj/effect/floor_decal/corner/grey{dir = 6},/obj/effect/floor_decal/corner/red{dir = 9},/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_rough"; dir = 5},/area/centcom/holding)
+"aDl" = (/obj/effect/floor_decal/corner/red{dir = 9},/obj/structure/table/reinforced,/obj/item/device/taperecorder,/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_rough"; dir = 5},/area/centcom/holding)
"aDn" = (/obj/structure/sign/warning/lethal_turrets,/turf/unsimulated/wall{icon_state = "riveted_straight"; dir = 8},/area/centcom/control)
-"aDo" = (/obj/machinery/door/airlock/centcom{name = "General Access"; opacity = 1; req_access = list(101)},/obj/machinery/door/blast/regular{id = "crescent_checkpoint_access"; name = "Crescent Checkpoint"},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
-"aDp" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_throwdown"; tiles = 0},/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_throwdown"; tiles = 0},/obj/effect/step_trigger/teleporter/random/admin,/obj/effect/step_trigger/teleporter/random/admin,/turf/space,/area/space)
-"aDq" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "deathsquad_centcom_dock_door"; locked = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"aDo" = (/obj/machinery/door/airlock/centcom{name = "General Access"; opacity = 1; req_access = list(101)},/obj/machinery/door/blast/regular{name = "Crescent Checkpoint"; id = "crescent_checkpoint_access"},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
+"aDp" = (/obj/effect/step_trigger/thrower{name = "thrower_throwdown"; tiles = 0; affect_ghosts = 1},/obj/effect/step_trigger/thrower{name = "thrower_throwdown"; tiles = 0; affect_ghosts = 1},/obj/effect/step_trigger/teleporter/random/admin,/obj/effect/step_trigger/teleporter/random/admin,/turf/space,/area/space)
+"aDq" = (/obj/machinery/door/airlock/external{icon_state = "door_locked"; frequency = 1380; locked = 1; id_tag = "deathsquad_centcom_dock_door"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
"aDr" = (/obj/machinery/vending/cola{prices = list()},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"aDs" = (/turf/unsimulated/floor{dir = 5; icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_rough"},/area/centcom/holding)
+"aDs" = (/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_rough"; dir = 5},/area/centcom/holding)
"aDt" = (/obj/effect/floor_decal/corner/green/three_quarters{dir = 8},/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "steel_rough"},/area/centcom/holding)
"aDu" = (/obj/effect/floor_decal/corner/green{dir = 1},/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "steel_rough"},/area/centcom/holding)
"aDv" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "steel_rough"},/area/centcom/holding)
"aDw" = (/obj/effect/floor_decal/corner/green{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "steel_rough"},/area/centcom/holding)
"aDx" = (/obj/effect/floor_decal/corner/green/three_quarters{dir = 1},/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "steel_rough"},/area/centcom/holding)
-"aDz" = (/obj/structure/shuttle/engine/propulsion{dir = 8; icon_state = "burst_l"},/turf/space,/area/shuttle/deathsquad/centcom)
-"aDA" = (/turf/simulated/shuttle/wall/syndi{dir = 4; icon_state = "syndiwall_straight"},/area/shuttle/deathsquad/centcom)
-"aDB" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "deathsquad_shuttle_port_hatch"; locked = 1; name = "Port Docking Hatch"; req_access = list(103)},/turf/unsimulated/floor{icon_state = "dark"},/area/shuttle/deathsquad/centcom)
+"aDz" = (/obj/structure/shuttle/engine/propulsion{icon_state = "burst_l"; dir = 8},/turf/space,/area/shuttle/deathsquad/centcom)
+"aDA" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_straight"; dir = 4},/area/shuttle/deathsquad/centcom)
+"aDB" = (/obj/machinery/door/airlock/external{name = "Port Docking Hatch"; icon_state = "door_locked"; frequency = 1380; locked = 1; req_access = list(103); id_tag = "deathsquad_shuttle_port_hatch"},/turf/unsimulated/floor{icon_state = "dark"},/area/shuttle/deathsquad/centcom)
"aDC" = (/turf/space,/turf/simulated/shuttle/wall/corner/syndi/ne,/area/shuttle/deathsquad/centcom)
"aDD" = (/obj/machinery/vending/cigarette{name = "cigarette machine"; prices = list()},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
"aDE" = (/obj/effect/floor_decal/corner/green{dir = 9},/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "steel_rough"},/area/centcom/holding)
@@ -1507,49 +1282,47 @@
"aDG" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "steel_rough"},/area/centcom/holding)
"aDH" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "steel_rough"},/area/centcom/holding)
"aDI" = (/obj/structure/bed/chair/shuttle/blue{dir = 1},/turf/simulated/floor/shuttle/blue,/area/shuttle/escape/centcom)
-"aDJ" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "centcom_dock"; name = "docking port controller"; pixel_y = -25; req_one_access = list(13); tag_door = "centcom_dock_airlock"},/obj/effect/floor_decal/industrial/warning,/obj/structure/flora/pottedplant/minitree,/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "steel_rough"},/area/centcom/holding)
+"aDJ" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{name = "docking port controller"; pixel_y = -25; frequency = 1380; req_one_access = list(13); id_tag = "centcom_dock"; tag_door = "centcom_dock_airlock"},/obj/effect/floor_decal/industrial/warning,/obj/structure/flora/pottedplant/minitree,/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "steel_rough"},/area/centcom/holding)
"aDN" = (/obj/structure/shuttle/engine/propulsion{dir = 8},/turf/space,/area/shuttle/deathsquad/centcom)
"aDO" = (/obj/structure/shuttle/engine/heater{dir = 8},/obj/structure/window/reinforced/crescent{dir = 4},/turf/simulated/floor/plating/airless,/area/shuttle/deathsquad/centcom)
"aDP" = (/obj/machinery/computer/shuttle_control/specops,/turf/simulated/floor/shuttle/red,/area/shuttle/deathsquad/centcom)
"aDQ" = (/obj/structure/bed/chair/shuttle/red,/turf/simulated/floor/shuttle/red,/area/shuttle/deathsquad/centcom)
-"aDR" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "deathsquad_shuttle_port"; name = "port docking hatch controller"; pixel_y = 25; tag_door = "deathsquad_shuttle_port_hatch"},/obj/structure/bed/chair/shuttle/red,/turf/simulated/floor/shuttle/red,/area/shuttle/deathsquad/centcom)
+"aDR" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{name = "port docking hatch controller"; pixel_y = 25; frequency = 1380; id_tag = "deathsquad_shuttle_port"; tag_door = "deathsquad_shuttle_port_hatch"},/obj/structure/bed/chair/shuttle/red,/turf/simulated/floor/shuttle/red,/area/shuttle/deathsquad/centcom)
"aDS" = (/turf/simulated/floor/shuttle/red,/area/shuttle/deathsquad/centcom)
"aDT" = (/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = 32},/turf/simulated/floor/shuttle/red,/area/shuttle/deathsquad/centcom)
-"aDU" = (/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = 32},/obj/machinery/vending/wallmed1{layer = 3.3; name = "Emergency NanoMed"; pixel_x = -28},/obj/machinery/light/small/readylight{dir = 4},/turf/simulated/floor/shuttle/red,/area/shuttle/deathsquad/centcom)
-"aDV" = (/obj/machinery/door/airlock/centcom{name = "Special Operations"; opacity = 1; req_access = list(103)},/obj/machinery/door/blast/regular{id = "CREED"; name = "Ready Room"},/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/centcom/specops)
-"aDW" = (/obj/machinery/camera/network/crescent{c_tag = "Crescent Arrivals - Holding Cell"; dir = 4},/obj/effect/floor_decal/corner/red{dir = 6},/obj/effect/floor_decal/corner/red{dir = 10},/turf/unsimulated/floor{dir = 5; icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_rough"},/area/centcom/holding)
-"aDX" = (/obj/effect/floor_decal/corner/red{dir = 10},/turf/unsimulated/floor{dir = 5; icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_rough"},/area/centcom/holding)
+"aDU" = (/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = 32},/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; layer = 3.3; pixel_x = -28},/obj/machinery/light/small/readylight{dir = 4},/turf/simulated/floor/shuttle/red,/area/shuttle/deathsquad/centcom)
+"aDV" = (/obj/machinery/door/airlock/centcom{name = "Special Operations"; opacity = 1; req_access = list(103)},/obj/machinery/door/blast/regular{name = "Ready Room"; id = "CREED"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
+"aDW" = (/obj/machinery/camera/network/crescent{dir = 4; c_tag = "Crescent Arrivals - Holding Cell"},/obj/effect/floor_decal/corner/red{dir = 6},/obj/effect/floor_decal/corner/red{dir = 10},/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_rough"; dir = 5},/area/centcom/holding)
+"aDX" = (/obj/effect/floor_decal/corner/red{dir = 10},/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_rough"; dir = 5},/area/centcom/holding)
"aDY" = (/obj/structure/window_frame/indestructible/grille,/turf/unsimulated/floor{name = "plating"},/area/centcom/holding)
-"aDZ" = (/obj/machinery/door/blast/regular{id = "CentComPort"; name = "Security Doors"},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/holding)
+"aDZ" = (/obj/machinery/door/blast/regular{name = "Security Doors"; id = "CentComPort"},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/holding)
"aEb" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"; dir = 9},/area/shuttle/escape/centcom)
"aEg" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"; dir = 5},/area/shuttle/escape/centcom)
"aEh" = (/obj/structure/bed/chair{dir = 4},/obj/effect/shuttle_landmark/deathsquad/centcom,/turf/simulated/floor/shuttle/red,/area/shuttle/deathsquad/centcom)
-"aEj" = (/obj/effect/floor_decal/corner/grey{dir = 9},/obj/effect/floor_decal/corner/grey{dir = 6},/turf/unsimulated/floor{dir = 5; icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_rough"},/area/centcom/holding)
-"aEk" = (/obj/machinery/door/window/northleft{base_state = "right"; dir = 8; icon_state = "right"; name = "Arrivals Processing"; req_access = list(101)},/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/centcom/holding)
-"aEl" = (/obj/item/modular_computer/console/preset/command,/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/centcom/holding)
+"aEj" = (/obj/effect/floor_decal/corner/grey{dir = 9},/obj/effect/floor_decal/corner/grey{dir = 6},/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_rough"; dir = 5},/area/centcom/holding)
+"aEk" = (/obj/machinery/door/window/northleft{name = "Arrivals Processing"; icon_state = "right"; dir = 8; req_access = list(101); base_state = "right"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/holding)
+"aEl" = (/obj/item/modular_computer/console/preset/command,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/holding)
"aEm" = (/obj/structure/table/rack,/obj/item/roller,/obj/item/bodybag/cryobag{pixel_x = 6},/obj/effect/floor_decal/corner/pink{dir = 10},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding)
-"aEn" = (/obj/machinery/door/airlock/centcom{name = "Thunderdome"; opacity = 1; req_access = list(101)},/obj/machinery/door/blast/regular{id = "crescent_thunderdome"; name = "Thunderdome"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome)
+"aEn" = (/obj/machinery/door/airlock/centcom{name = "Thunderdome"; opacity = 1; req_access = list(101)},/obj/machinery/door/blast/regular{name = "Thunderdome"; id = "crescent_thunderdome"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome)
"aEo" = (/obj/structure/bed/chair/shuttle/blue,/turf/simulated/floor/shuttle/blue,/area/shuttle/escape/centcom)
-"aEp" = (/obj/structure/bed/roller,/obj/machinery/vending/wallmed1{layer = 3.3; name = "Emergency NanoMed"; pixel_x = -28},/turf/simulated/floor/shuttle/white,/area/shuttle/escape/centcom)
+"aEp" = (/obj/structure/bed/roller,/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; layer = 3.3; pixel_x = -28},/turf/simulated/floor/shuttle/white,/area/shuttle/escape/centcom)
"aEq" = (/obj/item/modular_computer/console/preset/command,/obj/item/device/radio/intercom/specops{dir = 1; pixel_y = -22},/turf/simulated/floor/shuttle/red,/area/shuttle/deathsquad/centcom)
"aEr" = (/obj/machinery/computer/prisoner{name = "Implant Management"},/turf/simulated/floor/shuttle/red,/area/shuttle/deathsquad/centcom)
"aEs" = (/obj/machinery/hologram/holopad,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/holding)
"aEt" = (/obj/structure/bed/chair/shuttle/red{dir = 1},/turf/simulated/floor/shuttle/red,/area/shuttle/deathsquad/centcom)
"aEu" = (/turf/space,/turf/simulated/shuttle/wall/corner/syndi/se,/area/shuttle/deathsquad/centcom)
-"aEv" = (/obj/structure/window/reinforced/crescent{dir = 8},/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/centcom/holding)
-"aEw" = (/obj/structure/bed/chair/office/dark,/obj/machinery/button/remote/blast_door{desc = "A remote control switch for port-side blast doors."; id = "CentComPort"; name = "Security Doors"; pixel_x = -12; pixel_y = -25; req_access = list(101)},/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/centcom/holding)
-"aEx" = (/obj/machinery/camera/network/crescent{c_tag = "Crescent Arrivals North"; dir = 8},/obj/item/modular_computer/console/preset/security,/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/centcom/holding)
-"aEy" = (/obj/effect/floor_decal/corner/red{dir = 6},/obj/item/beach_ball/holoball,/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/centcom/holding)
+"aEv" = (/obj/structure/window/reinforced/crescent{dir = 8},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/holding)
+"aEw" = (/obj/structure/bed/chair/office/dark,/obj/machinery/button/remote/blast_door{name = "Security Doors"; desc = "A remote control switch for port-side blast doors."; pixel_x = -12; pixel_y = -25; id = "CentComPort"; req_access = list(101)},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/holding)
+"aEx" = (/obj/machinery/camera/network/crescent{dir = 8; c_tag = "Crescent Arrivals North"},/obj/item/modular_computer/console/preset/security,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/holding)
"aEz" = (/obj/structure/table/standard,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
-"aEA" = (/obj/structure/holohoop{dir = 8},/obj/effect/floor_decal/corner/green{dir = 6},/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/centcom/holding)
-"aEB" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "CentComPort"; name = "Security Doors"; opacity = 0},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/unsimulated/floor{dir = 5; icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_rough"},/area/centcom/holding)
+"aEB" = (/obj/machinery/door/blast/regular{name = "Security Doors"; icon_state = "pdoor0"; opacity = 0; density = 0; id = "CentComPort"},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_rough"; dir = 5},/area/centcom/holding)
"aEC" = (/obj/structure/table/rack,/obj/item/clothing/mask/gas,/obj/item/tank/oxygen,/obj/item/device/radio/intercom{pixel_y = 22},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
"aED" = (/obj/structure/table/rack,/obj/item/clothing/mask/gas,/obj/item/tank/oxygen,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
-"aEG" = (/obj/structure/shuttle/engine/propulsion{dir = 8; icon_state = "burst_r"},/turf/space,/area/shuttle/deathsquad/centcom)
-"aEJ" = (/obj/structure/closet/secure_closet/security,/obj/effect/floor_decal/corner/red{dir = 5},/turf/unsimulated/floor{dir = 5; icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_rough"},/area/centcom/holding)
+"aEG" = (/obj/structure/shuttle/engine/propulsion{icon_state = "burst_r"; dir = 8},/turf/space,/area/shuttle/deathsquad/centcom)
+"aEJ" = (/obj/structure/closet/secure_closet/security,/obj/effect/floor_decal/corner/red{dir = 5},/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_rough"; dir = 5},/area/centcom/holding)
"aEK" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "steel_rough"},/area/centcom/holding)
"aEL" = (/obj/structure/window_frame/indestructible/hull,/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
-"aEM" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced/crescent{dir = 8},/obj/structure/window/reinforced/crescent,/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/centcom/holding)
+"aEM" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced/crescent{dir = 8},/obj/structure/window/reinforced/crescent,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/holding)
"aEN" = (/turf/simulated/shuttle/wall{icon_state = "whiteship_t"; dir = 4},/area/shuttle/escape/centcom)
"aEO" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/item/folder/white{pixel_x = 4},/obj/item/storage/box/bodybags,/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_mono"},/area/centcom/holding)
"aEP" = (/obj/machinery/light/small/readylight,/obj/structure/bed/chair/shuttle/red{dir = 1},/turf/simulated/floor/shuttle/red,/area/shuttle/deathsquad/centcom)
@@ -1565,76 +1338,47 @@
"aFb" = (/turf/simulated/shuttle/wall{icon_state = "syndiwall_b"; dir = 1},/area/shuttle/escape/centcom)
"aFc" = (/turf/simulated/shuttle/wall{icon_state = "whiteship_straight"; dir = 4},/area/shuttle/escape/centcom)
"aFd" = (/obj/structure/grille,/obj/structure/window/shuttle{icon_state = "6"; dir = 4},/turf/simulated/floor/plating,/area/shuttle/escape/centcom)
-"aFe" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access = list(13)},/obj/machinery/mech_sensor{dir = 8; frequency = 1380; id_tag = "shuttle_dock_south_mech"; pixel_x = -30},/turf/simulated/floor/shuttle/white,/area/shuttle/escape/centcom)
+"aFe" = (/obj/machinery/door/airlock/external{name = "Shuttle Hatch"; icon_state = "door_locked"; frequency = 1380; locked = 1; req_access = list(13); id_tag = "escape_shuttle_hatch"},/obj/machinery/mech_sensor{dir = 8; pixel_x = -30; frequency = 1380; id_tag = "shuttle_dock_south_mech"},/turf/simulated/floor/shuttle/white,/area/shuttle/escape/centcom)
"aFf" = (/turf/simulated/shuttle/wall{icon_state = "syndiwall_d"; dir = 4},/area/shuttle/escape/centcom)
-"aFg" = (/turf/simulated/floor/holofloor/space,/area/space)
"aFi" = (/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_mono"},/area/centcom/holding)
"aFk" = (/obj/structure/table/woodentable{dir = 5},/obj/item/reagent_containers/food/tofukabob,/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/holding)
"aFl" = (/obj/structure/table/woodentable{dir = 5},/obj/item/clothing/accessory/wcoat,/obj/item/clothing/head/that{pixel_x = 4; pixel_y = 6},/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/holding)
-"aFm" = (/obj/machinery/door/window/westleft{dir = 2; name = "Bar"},/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/holding)
-"aFn" = (/obj/structure/flora/tree/dead,/turf/simulated/floor/holofloor/snow,/area/space)
+"aFm" = (/obj/machinery/door/window/westleft{name = "Bar"; dir = 2},/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/holding)
"aFo" = (/mob/living/simple_animal/crab{name = "Coffee"},/turf/unsimulated/beach/sand{icon_state = "desert2"},/area/centcom/holding)
"aFp" = (/obj/item/beach_ball,/turf/unsimulated/beach/sand{icon_state = "desert3"},/area/centcom/holding)
"aFq" = (/obj/structure/grille,/obj/structure/window/shuttle{icon_state = "window-whiteship"},/turf/simulated/floor/plating,/area/centcom/evac)
"aFr" = (/obj/structure/grille,/obj/structure/window/shuttle{icon_state = "window-whiteship-straight"; dir = 4},/turf/simulated/floor/plating,/area/shuttle/escape/centcom)
-"aFs" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access = list(13)},/obj/machinery/mech_sensor{dir = 8; frequency = 1380; id_tag = "shuttle_dock_north_mech"; pixel_x = 30},/turf/simulated/floor/shuttle/white,/area/shuttle/escape/centcom)
-"aFt" = (/obj/effect/floor_decal/corner/green{dir = 10},/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/centcom/holding)
+"aFs" = (/obj/machinery/door/airlock/external{name = "Shuttle Hatch"; icon_state = "door_locked"; frequency = 1380; locked = 1; req_access = list(13); id_tag = "escape_shuttle_hatch"},/obj/machinery/mech_sensor{dir = 8; pixel_x = 30; frequency = 1380; id_tag = "shuttle_dock_north_mech"},/turf/simulated/floor/shuttle/white,/area/shuttle/escape/centcom)
+"aFt" = (/obj/effect/floor_decal/corner/green{dir = 10},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/holding)
"aFu" = (/obj/effect/floor_decal/corner/brown{dir = 9},/obj/item/modular_computer/console/preset/civilian,/turf/simulated/floor/tiled/dark,/area/shuttle/merchant/home)
"aFv" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atm{pixel_x = -32},/turf/simulated/floor/tiled,/area/merchant_station)
"aFw" = (/obj/machinery/cryopod/robot{time_till_despawn = 10},/obj/machinery/computer/cryopod/robot{pixel_x = -32; pixel_y = -32},/turf/simulated/floor/shuttle/blue,/area/shuttle/escape/centcom)
-"aFx" = (/obj/machinery/camera/network/crescent{c_tag = "Crescent Bar West"; dir = 4},/turf/unsimulated/beach/sand{icon_state = "desert2"},/area/centcom/holding)
-"aFy" = (/turf/simulated/floor/holofloor/snow,/area/space)
-"aFz" = (/obj/structure/flora/grass/green,/turf/simulated/floor/holofloor/snow,/area/space)
-"aFA" = (/obj/structure/flora/tree/pine,/turf/simulated/floor/holofloor/snow,/area/space)
-"aFB" = (/obj/structure/flora/ausbushes/fernybush,/turf/simulated/floor/natural/grass{name = "artificial grass patch"},/area/space)
-"aFC" = (/obj/structure/flora/ausbushes/fullgrass,/turf/simulated/floor/natural/grass{name = "artificial grass patch"},/area/space)
-"aFD" = (/obj/structure/flora/ausbushes/ppflowers,/turf/simulated/floor/natural/grass{name = "artificial grass patch"},/area/space)
-"aFE" = (/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/natural/grass{name = "artificial grass patch"},/area/space)
-"aFF" = (/obj/structure/flora/ausbushes/brflowers,/obj/structure/flora/ausbushes/fullgrass,/turf/simulated/floor/natural/grass{name = "artificial grass patch"},/area/space)
-"aFG" = (/obj/structure/window/reinforced/crescent{dir = 1},/turf/unsimulated/beach/sand{dir = 6; icon_state = "beach"},/area/centcom/holding)
-"aFH" = (/obj/effect/floor_decal/corner/green/three_quarters{dir = 4},/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/centcom/holding)
-"aFI" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "centcom_dock_airlock"; locked = 1; name = "Arrivals Airlock"; req_access = list(13)},/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/centcom/holding)
-"aFJ" = (/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/centcom/holding)
+"aFx" = (/obj/machinery/camera/network/crescent{dir = 4; c_tag = "Crescent Bar West"},/turf/unsimulated/beach/sand{icon_state = "desert2"},/area/centcom/holding)
+"aFG" = (/obj/structure/window/reinforced/crescent{dir = 1},/turf/unsimulated/beach/sand{icon_state = "beach"; dir = 6},/area/centcom/holding)
+"aFH" = (/obj/effect/floor_decal/corner/green/three_quarters{dir = 4},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/holding)
+"aFI" = (/obj/machinery/door/airlock/external{name = "Arrivals Airlock"; icon_state = "door_locked"; frequency = 1380; locked = 1; req_access = list(13); id_tag = "centcom_dock_airlock"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/holding)
+"aFJ" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/holding)
"aFK" = (/obj/structure/closet/crate/freezer/rations,/obj/structure/closet/walllocker/emerglocker{pixel_x = 28},/turf/simulated/floor/shuttle/blue,/area/shuttle/escape/centcom)
"aFL" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/shuttle/white,/area/shuttle/escape/centcom)
"aFM" = (/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 10},/obj/structure/bed/couch/left/sofa{dir = 1},/turf/unsimulated/floor{icon_state = "carpet"},/area/centcom/holding)
-"aFP" = (/obj/structure/flora/ausbushes/grassybush,/turf/simulated/floor/natural/grass{name = "artificial grass patch"},/area/space)
-"aFQ" = (/obj/structure/flora/ausbushes/ppflowers,/obj/structure/holostool,/turf/simulated/floor/natural/grass{name = "artificial grass patch"},/area/space)
-"aFR" = (/obj/structure/flora/ausbushes/leafybush,/turf/simulated/floor/natural/grass{name = "artificial grass patch"},/area/space)
-"aFS" = (/obj/structure/flora/ausbushes/palebush,/turf/simulated/floor/natural/grass{name = "artificial grass patch"},/area/space)
-"aFT" = (/turf/simulated/floor/natural/grass{name = "artificial grass patch"},/area/space)
-"aFU" = (/obj/structure/flora/ausbushes/sunnybush,/turf/simulated/floor/natural/grass{name = "artificial grass patch"},/area/space)
-"aFV" = (/obj/structure/flora/ausbushes/genericbush,/turf/simulated/floor/natural/grass{name = "artificial grass patch"},/area/space)
-"aFW" = (/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/natural/grass{name = "artificial grass patch"},/area/space)
"aFX" = (/obj/item/stool/bar_new/padded,/turf/unsimulated/floor{icon_state = "carpet"},/area/centcom/holding)
"aFY" = (/obj/effect/floor_decal/industrial/warning/corner,/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "steel_rough"},/area/centcom/holding)
"aFZ" = (/obj/effect/floor_decal/industrial/warning,/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "steel_rough"},/area/centcom/holding)
"aGa" = (/obj/effect/floor_decal/spline/fancy/wood{dir = 8},/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/holding)
"aGb" = (/obj/item/device/radio/intercom{pixel_y = 22},/turf/simulated/floor/tiled,/area/merchant_station)
"aGc" = (/obj/machinery/vending/engivend{req_one_access = list()},/turf/simulated/floor/tiled,/area/merchant_station)
-"aGd" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"; name = "Clothing Storage"},/obj/item/clothing/glasses/sunglasses,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/holding)
+"aGd" = (/obj/structure/closet{name = "Clothing Storage"; icon_state = "cabinet_closed"; icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"},/obj/item/clothing/glasses/sunglasses,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/holding)
"aGe" = (/obj/machinery/vending/cigarette{prices = list()},/turf/simulated/floor/trim/wood,/area/merchant_station)
-"aGf" = (/obj/structure/flora/ausbushes/reedbush,/obj/structure/holostool,/turf/simulated/floor/natural/grass{name = "artificial grass patch"},/area/space)
-"aGg" = (/obj/structure/flora/ausbushes/sunnybush,/obj/structure/holostool,/turf/simulated/floor/natural/grass{name = "artificial grass patch"},/area/space)
"aGh" = (/obj/structure/window/reinforced/crescent{dir = 1},/turf/unsimulated/beach/sand{icon_state = "seashallow"},/area/centcom/holding)
-"aGi" = (/obj/random/pottedplant,/obj/machinery/camera/network/crescent{c_tag = "Crescent Arrivals North"; dir = 8},/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "steel_rough"},/area/centcom/holding)
-"aGj" = (/turf/simulated/floor/holofloor/tiled,/area/space)
-"aGk" = (/obj/structure/flora/ausbushes/lavendergrass,/obj/structure/window/reinforced/crescent{dir = 8},/obj/structure/window/reinforced/crescent{dir = 4},/obj/structure/window/reinforced/crescent{dir = 1},/turf/unsimulated/floor{icon_state = "grass0"; name = "grass"},/area/centcom/holding)
-"aGl" = (/obj/structure/flora/ausbushes/brflowers,/obj/structure/window/reinforced/crescent{dir = 8},/obj/structure/window/reinforced/crescent{dir = 4},/turf/unsimulated/floor{icon_state = "grass0"; name = "grass"},/area/centcom/holding)
+"aGi" = (/obj/random/pottedplant,/obj/machinery/camera/network/crescent{dir = 8; c_tag = "Crescent Arrivals North"},/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "steel_rough"},/area/centcom/holding)
+"aGk" = (/obj/structure/flora/ausbushes/lavendergrass,/obj/structure/window/reinforced/crescent{dir = 8},/obj/structure/window/reinforced/crescent{dir = 4},/obj/structure/window/reinforced/crescent{dir = 1},/turf/unsimulated/floor{name = "grass"; icon_state = "grass0"},/area/centcom/holding)
+"aGl" = (/obj/structure/flora/ausbushes/brflowers,/obj/structure/window/reinforced/crescent{dir = 8},/obj/structure/window/reinforced/crescent{dir = 4},/turf/unsimulated/floor{name = "grass"; icon_state = "grass0"},/area/centcom/holding)
"aGm" = (/turf/unsimulated/floor{icon_state = "carpet"},/area/centcom/holding)
-"aGn" = (/obj/structure/flora/ausbushes/ppflowers,/obj/structure/window/reinforced/crescent{dir = 8},/obj/structure/window/reinforced/crescent{dir = 4},/turf/unsimulated/floor{icon_state = "grass0"; name = "grass"},/area/centcom/holding)
+"aGn" = (/obj/structure/flora/ausbushes/ppflowers,/obj/structure/window/reinforced/crescent{dir = 8},/obj/structure/window/reinforced/crescent{dir = 4},/turf/unsimulated/floor{name = "grass"; icon_state = "grass0"},/area/centcom/holding)
"aGo" = (/obj/structure/window_frame/indestructible,/turf/simulated/floor/trim/wood,/area/thunderfield)
"aGp" = (/obj/machinery/status_display,/turf/unsimulated/wall,/area/centcom/holding)
"aGq" = (/obj/structure/sign/warning/lethal_turrets,/turf/unsimulated/wall{icon_state = "riveted"; dir = 1},/area/centcom/holding)
"aGr" = (/obj/structure/closet/crate,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
-"aGs" = (/obj/structure/flora/pottedplant{icon_state = "plant-10"},/turf/simulated/floor/holofloor/tiled,/area/space)
-"aGt" = (/obj/structure/flora/pottedplant{icon_state = "plant-20"},/turf/simulated/floor/holofloor/tiled,/area/space)
-"aGu" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet{dir = 9},/turf/simulated/floor/holofloor/carpet,/area/space)
-"aGv" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet{dir = 1},/turf/simulated/floor/holofloor/carpet,/area/space)
-"aGw" = (/obj/structure/flora/pottedplant{icon_state = "plant-06"},/turf/simulated/floor/holofloor/tiled,/area/space)
-"aGx" = (/obj/structure/flora/pottedplant,/turf/simulated/floor/holofloor/tiled,/area/space)
-"aGy" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet{dir = 5},/turf/simulated/floor/holofloor/carpet,/area/space)
-"aGz" = (/obj/structure/table/holo_woodentable,/obj/effect/floor_decal/carpet{dir = 8},/turf/simulated/floor/holofloor/carpet,/area/space)
"aGA" = (/obj/machinery/shieldwallgen,/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/unsimulated/floor,/area/centcom/control)
"aGD" = (/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/holding)
"aGE" = (/obj/effect/floor_decal/spline/fancy/wood{dir = 1},/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/holding)
@@ -1642,14 +1386,11 @@
"aGG" = (/obj/effect/overlay/palmtree_l,/turf/unsimulated/beach/sand{icon_state = "desert2"},/area/centcom/holding)
"aGH" = (/obj/machinery/recharge_station,/turf/simulated/floor/shuttle/blue,/area/shuttle/escape/centcom)
"aGI" = (/obj/structure/table/standard,/obj/item/device/radio/intercom{dir = 8; pixel_x = 22},/turf/simulated/floor/shuttle/blue,/area/shuttle/escape/centcom)
-"aGJ" = (/obj/effect/floor_decal/corner/red/three_quarters{dir = 4},/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/centcom/holding)
-"aGK" = (/obj/effect/floor_decal/corner/green/three_quarters,/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/centcom/holding)
+"aGJ" = (/obj/effect/floor_decal/corner/red/three_quarters{dir = 4},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/holding)
+"aGK" = (/obj/effect/floor_decal/corner/green/three_quarters,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/holding)
"aGL" = (/obj/structure/flora/pottedplant/stoutbush,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/holding)
"aGM" = (/obj/structure/table/standard,/obj/item/storage/firstaid/fire,/obj/item/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/crowbar,/obj/item/device/radio/intercom{dir = 4; pixel_x = -22},/obj/machinery/light,/turf/simulated/floor/shuttle/blue,/area/shuttle/escape/centcom)
"aGN" = (/turf/unsimulated/wall,/area/skipjack_station/base)
-"aGO" = (/obj/structure/table/holo_woodentable,/turf/simulated/floor/holofloor/carpet,/area/space)
-"aGP" = (/obj/structure/table/holo_woodentable,/obj/effect/floor_decal/carpet{dir = 4},/turf/simulated/floor/holofloor/carpet,/area/space)
-"aGQ" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet{dir = 10},/turf/simulated/floor/holofloor/carpet,/area/space)
"aGR" = (/obj/machinery/shieldwallgen,/obj/machinery/shieldwallgen,/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/unsimulated/floor,/area/centcom/control)
"aGS" = (/obj/machinery/door/airlock/glass{name = "Basketball Court"},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/holding)
"aGU" = (/obj/structure/sink{dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/mirror{pixel_x = -28},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/centcom/holding)
@@ -1663,7 +1404,7 @@
"aHc" = (/obj/structure/bed/chair/lime{dir = 4},/turf/unsimulated/beach/sand{icon_state = "desert1"},/area/centcom/holding)
"aHd" = (/obj/machinery/door/airlock{name = "Unisex Restrooms"},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/centcom/holding)
"aHe" = (/obj/item/bikehorn/rubberducky{name = "toilet ducky"},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/centcom/holding)
-"aHf" = (/obj/structure/window_frame/indestructible,/obj/structure/barricade/material{layer = 6},/turf/simulated/floor/trim/wood,/area/thunderfield)
+"aHf" = (/obj/structure/window_frame/indestructible,/obj/structure/barricade/material,/turf/simulated/floor/trim/wood,/area/thunderfield)
"aHg" = (/obj/machinery/door/airlock{name = "Unit 1"},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/centcom/holding)
"aHh" = (/obj/structure/table/standard,/obj/structure/closet/hydrant{pixel_x = -30},/obj/machinery/light,/turf/simulated/floor/shuttle/blue,/area/shuttle/escape/centcom)
"aHi" = (/obj/structure/closet/walllocker/emerglocker{pixel_x = 28},/obj/structure/table/standard,/obj/machinery/light,/turf/simulated/floor/shuttle/blue,/area/shuttle/escape/centcom)
@@ -1672,7 +1413,7 @@
"aHl" = (/obj/machinery/vending/cola,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/holding)
"aHm" = (/obj/machinery/hologram/holopad,/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "steel_rough"},/area/centcom/holding)
"aHn" = (/obj/machinery/vending/snack,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/holding)
-"aHo" = (/obj/structure/undies_wardrobe,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/holding)
+"aHo" = (/obj/structure/undies_wardrobe,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/holding)
"aHp" = (/obj/machinery/door/airlock/hatch{req_access = list(150)},/turf/unsimulated/floor{icon_state = "dark"},/area/skipjack_station/base)
"aHq" = (/obj/structure/sign/double/picturesky/left{pixel_y = 32},/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_mono"},/area/centcom/holding)
"aHr" = (/obj/structure/sign/double/picturesky/right{pixel_y = 32},/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_mono"},/area/centcom/holding)
@@ -1691,8 +1432,8 @@
"aHE" = (/turf/unsimulated/beach/sand{icon_state = "desert3"},/area/centcom/holding)
"aHF" = (/obj/structure/bed/padded,/obj/structure/curtain/open/bed{anchored = 1},/obj/item/bedsheet/rainbow,/turf/unsimulated/floor{icon_state = "carpet"},/area/centcom/holding)
"aHG" = (/obj/structure/sign/redcross,/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 4},/area/centcom/holding)
-"aHH" = (/obj/structure/closet/wardrobe/pjs,/obj/structure/sign/poster{pixel_x = -32; poster_type = "/datum/poster/bay_9"},/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/holding)
-"aHI" = (/obj/machinery/door/airlock{id_tag = "Dormitory 1"; name = "Dormitory"},/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/holding)
+"aHH" = (/obj/structure/closet/wardrobe/pjs,/obj/structure/sign/poster{pixel_x = -32; poster_type = "/datum/poster/bay_9"},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/holding)
+"aHI" = (/obj/machinery/door/airlock{name = "Dormitory"; id_tag = "Dormitory 1"},/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/holding)
"aHJ" = (/obj/effect/floor_decal/spline/fancy/wood{dir = 4},/obj/machinery/hologram/holopad,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/holding)
"aHK" = (/obj/structure/table/woodentable{dir = 5},/obj/random/plushie,/turf/unsimulated/floor{icon_state = "carpet"},/area/centcom/holding)
"aHL" = (/obj/structure/table/standard,/obj/machinery/cell_charger{pixel_y = 5},/obj/item/cell/high{layer = 4; pixel_x = -5; pixel_y = 12},/obj/item/screwdriver{layer = 4; pixel_y = 4},/obj/effect/floor_decal/corner/beige{dir = 6},/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "steel_rough"},/area/centcom/holding)
@@ -1705,21 +1446,21 @@
"aHT" = (/obj/machinery/bodyscanner{dir = 8},/obj/effect/floor_decal/corner/blue{dir = 9},/obj/effect/floor_decal/corner/blue{dir = 6},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding)
"aHU" = (/obj/machinery/body_scanconsole{dir = 8},/obj/effect/floor_decal/corner/blue{dir = 9},/obj/effect/floor_decal/industrial/warning{dir = 4; layer = 3},/obj/effect/floor_decal/corner/blue{dir = 6},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding)
"aHV" = (/obj/machinery/shieldwallgen,/turf/unsimulated/floor,/area/centcom/control)
-"aHW" = (/obj/structure/bed/chair{dir = 4},/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/holding)
-"aHX" = (/obj/structure/bed/chair{dir = 8},/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/holding)
+"aHW" = (/obj/structure/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/holding)
+"aHX" = (/obj/structure/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/holding)
"aHY" = (/obj/machinery/door/window/eastright{name = "Holding Cell"; req_access = list(2)},/turf/simulated/floor/shuttle/red,/area/shuttle/escape/centcom)
"aHZ" = (/obj/structure/bed/chair/shuttle/blue{dir = 8},/obj/item/device/radio/intercom{dir = 8; pixel_x = 22},/turf/simulated/floor/shuttle/red,/area/shuttle/escape/centcom)
"aIa" = (/obj/item/modular_computer/console/preset/research,/turf/simulated/floor/shuttle/blue,/area/shuttle/escape/centcom)
-"aIb" = (/obj/structure/closet/wardrobe/pjs,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/holding)
+"aIb" = (/obj/structure/closet/wardrobe/pjs,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/holding)
"aIc" = (/obj/item/inflatable_duck,/turf/unsimulated/beach/sand{icon_state = "desert2"},/area/centcom/holding)
"aId" = (/obj/effect/floor_decal/corner/grey{dir = 6},/obj/random/pottedplant,/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_mono"},/area/centcom/holding)
-"aIe" = (/obj/structure/sign/poster{pixel_x = -32; poster_type = "/datum/poster/bay_9"},/obj/machinery/button/remote/airlock{dir = 4; id = "Dormitory 1"; name = "Door Bolts"; pixel_x = -25; specialfunctions = 4},/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/holding)
+"aIe" = (/obj/structure/sign/poster{pixel_x = -32; poster_type = "/datum/poster/bay_9"},/obj/machinery/button/remote/airlock{name = "Door Bolts"; dir = 4; pixel_x = -25; id = "Dormitory 1"; specialfunctions = 4},/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/holding)
"aIg" = (/obj/structure/bed/chair/shuttle/blue{dir = 8},/turf/simulated/floor/shuttle/white,/area/shuttle/escape/centcom)
"aIh" = (/obj/item/modular_computer/console/preset/command,/turf/simulated/floor/shuttle/blue,/area/shuttle/escape/centcom)
"aIi" = (/obj/structure/bed/chair/shuttle/blue{dir = 4},/turf/simulated/floor/shuttle/white,/area/shuttle/escape/centcom)
"aIj" = (/obj/structure/table/rack,/obj/item/tank/jetpack/carbondioxide,/obj/item/tank/jetpack/carbondioxide,/obj/item/tank/jetpack/carbondioxide,/obj/item/tank/jetpack/carbondioxide,/obj/item/tank/jetpack/carbondioxide,/obj/item/tank/jetpack/carbondioxide,/obj/effect/floor_decal/industrial/hatch/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"aIk" = (/obj/structure/window_frame/indestructible,/turf/simulated/floor/tiled/dark,/area/thunderfield)
-"aIl" = (/obj/structure/flora/ausbushes/ywflowers,/obj/structure/window/reinforced/crescent{dir = 8},/obj/structure/window/reinforced/crescent{dir = 4},/obj/structure/window/reinforced/crescent,/turf/unsimulated/floor{icon_state = "grass0"; name = "grass"},/area/centcom/holding)
+"aIl" = (/obj/structure/flora/ausbushes/ywflowers,/obj/structure/window/reinforced/crescent{dir = 8},/obj/structure/window/reinforced/crescent{dir = 4},/obj/structure/window/reinforced/crescent,/turf/unsimulated/floor{name = "grass"; icon_state = "grass0"},/area/centcom/holding)
"aIn" = (/obj/machinery/door/airlock/medical{name = "Operating Theatre"; req_access = list(45)},/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "white_rough"},/area/centcom/holding)
"aIp" = (/obj/machinery/computer/arcade,/obj/effect/floor_decal/corner/grey{dir = 6},/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_mono"},/area/centcom/holding)
"aIq" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding)
@@ -1727,11 +1468,11 @@
"aIs" = (/obj/effect/floor_decal/spline/plain/grey{dir = 4},/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "steel_rough"},/area/centcom/holding)
"aIt" = (/obj/effect/floor_decal/corner/grey{dir = 6},/obj/item/stool/padded,/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_mono"},/area/centcom/holding)
"aIv" = (/obj/machinery/shieldwallgen,/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/unsimulated/floor,/area/centcom/control)
-"aIy" = (/obj/machinery/computer/teleporter,/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/centcom/control)
+"aIy" = (/obj/machinery/computer/teleporter,/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/centcom/control)
"aIz" = (/obj/structure/window/reinforced,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding)
"aIA" = (/obj/structure/closet/secure_closet/personal,/obj/structure/sign/poster{pixel_x = -32; poster_type = "/datum/poster/bay_9"},/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/holding)
"aIB" = (/obj/effect/floor_decal/corner/paleblue/three_quarters{dir = 8},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding)
-"aIC" = (/obj/structure/table/standard,/obj/machinery/recharger,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/turf/simulated/floor/shuttle/red,/area/shuttle/escape/centcom)
+"aIC" = (/obj/structure/table/standard,/obj/machinery/recharger,/obj/structure/window/reinforced{dir = 1; health = 1e+06},/turf/simulated/floor/shuttle/red,/area/shuttle/escape/centcom)
"aID" = (/obj/machinery/light{dir = 4},/turf/simulated/floor/shuttle/white,/area/shuttle/escape/centcom)
"aIE" = (/obj/item/modular_computer/console/preset/command,/obj/machinery/light{dir = 8},/turf/simulated/floor/shuttle/blue,/area/shuttle/escape/centcom)
"aIF" = (/obj/structure/table/standard,/obj/machinery/light{dir = 8},/obj/item/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/storage/firstaid/adv{pixel_x = -2},/turf/simulated/floor/shuttle/white,/area/shuttle/escape/centcom)
@@ -1753,7 +1494,7 @@
"aIY" = (/obj/structure/bed/couch/right/brown{dir = 8},/turf/unsimulated/floor{icon_state = "carpet"},/area/centcom/holding)
"aIZ" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"; dir = 10},/area/shuttle/escape/centcom)
"aJa" = (/obj/structure/bed/chair/comfy/captain,/turf/simulated/floor/shuttle/white,/area/shuttle/escape/centcom)
-"aJb" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "escape_shuttle"; pixel_x = 28; pixel_y = -28; req_one_access = list(13); tag_door = "escape_shuttle_hatch"},/turf/simulated/floor/shuttle/white,/area/shuttle/escape/centcom)
+"aJb" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{pixel_x = 28; pixel_y = -28; frequency = 1380; req_one_access = list(13); id_tag = "escape_shuttle"; tag_door = "escape_shuttle_hatch"},/turf/simulated/floor/shuttle/white,/area/shuttle/escape/centcom)
"aJc" = (/obj/structure/table/standard,/obj/random/medical/lite,/obj/random/medical/lite,/turf/simulated/floor/shuttle/blue,/area/shuttle/escape/centcom)
"aJd" = (/obj/structure/table/standard,/obj/item/bodybag/cryobag{pixel_x = 2; pixel_y = 4},/obj/item/bodybag/cryobag{pixel_x = 5},/obj/item/storage/box/masks,/obj/item/storage/box/gloves{pixel_x = 3; pixel_y = 4},/turf/simulated/floor/shuttle/white,/area/shuttle/escape/centcom)
"aJe" = (/obj/structure/table/standard,/obj/item/storage/firstaid/o2{layer = 2.8; pixel_x = 4; pixel_y = 6},/obj/item/storage/firstaid/fire{layer = 2.9; pixel_x = 2; pixel_y = 3},/obj/item/storage/firstaid/toxin,/turf/simulated/floor/shuttle/white,/area/shuttle/escape/centcom)
@@ -1765,7 +1506,7 @@
"aJl" = (/obj/structure/table/woodentable,/obj/item/deck/cards,/obj/structure/sign/poster{pixel_y = -32},/turf/unsimulated/floor{icon_state = "carpet"},/area/centcom/holding)
"aJm" = (/obj/item/reagent_containers/vessel/beaker/cryoxadone{pixel_x = 7; pixel_y = 1},/obj/item/reagent_containers/vessel/beaker/cryoxadone{pixel_x = -3; pixel_y = -3},/obj/structure/table/standard{name = "plastic table frame"},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/centcom/holding)
"aJn" = (/obj/machinery/washing_machine,/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/centcom/holding)
-"aJr" = (/obj/machinery/teleporter_gate,/obj/effect/floor_decal/industrial/warning{dir = 5},/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/centcom/control)
+"aJr" = (/obj/machinery/teleporter_gate,/obj/effect/floor_decal/industrial/warning{dir = 5},/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/centcom/control)
"aJs" = (/obj/structure/bed/chair/shuttle/blue{dir = 1},/turf/simulated/floor/shuttle/red,/area/shuttle/escape/centcom)
"aJt" = (/obj/structure/flora/pottedplant/largeleaves,/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "steel_rough"},/area/centcom/holding)
"aJv" = (/obj/effect/floor_decal/industrial/warning/red{dir = 5},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
@@ -1774,7 +1515,7 @@
"aJy" = (/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "steel_rough"},/area/centcom/holding)
"aJz" = (/obj/machinery/organ_printer/flesh/mapped,/obj/effect/floor_decal/corner/pink/three_quarters{dir = 4},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding)
"aJA" = (/obj/machinery/media/jukebox,/obj/structure/sign/poster{pixel_x = 32},/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/holding)
-"aJB" = (/obj/machinery/atmospherics/unary/freezer{dir = 1; icon_state = "freezer"},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/centcom/holding)
+"aJB" = (/obj/machinery/atmospherics/unary/freezer{icon_state = "freezer"; dir = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/centcom/holding)
"aJC" = (/obj/machinery/hologram/holopad,/turf/unsimulated/beach/sand{icon_state = "desert2"},/area/centcom/holding)
"aJD" = (/turf/unsimulated/beach/sand{icon_state = "beachcorner"},/area/centcom/holding)
"aJE" = (/turf/unsimulated/beach/sand{icon_state = "beach"},/area/centcom/holding)
@@ -1782,66 +1523,63 @@
"aJG" = (/obj/machinery/turret/network/centcomm,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/holding)
"aJH" = (/turf/unsimulated/wall{icon_state = "riveted_straight"},/area/tdome)
"aJI" = (/obj/structure/lattice,/obj/structure/window/reinforced/crescent{dir = 4},/turf/space,/area/space)
-"aJJ" = (/obj/machinery/door/airlock/centcom{name = "Thunderdome"; opacity = 1; req_access = list(101)},/obj/machinery/door/blast/regular{id = "crescent_thunderdome"; name = "Thunderdome"},/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/tdome)
+"aJJ" = (/obj/machinery/door/airlock/centcom{name = "Thunderdome"; opacity = 1; req_access = list(101)},/obj/machinery/door/blast/regular{name = "Thunderdome"; id = "crescent_thunderdome"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome)
"aJK" = (/obj/machinery/atmospherics/unary/cryo_cell,/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/centcom/holding)
"aJL" = (/obj/effect/floor_decal/industrial/outline/yellow,/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "steel_rough"},/area/centcom/holding)
"aJM" = (/obj/effect/floor_decal/industrial/warning/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"aJN" = (/obj/effect/floor_decal/industrial/warning/red/corner{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"aJO" = (/obj/structure/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome)
-"aJP" = (/obj/effect/floor_decal/corner/red/three_quarters{dir = 8},/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/centcom/holding)
+"aJP" = (/obj/effect/floor_decal/corner/red/three_quarters{dir = 8},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/holding)
"aJQ" = (/obj/structure/bed/chair/purp{dir = 4},/turf/unsimulated/beach/sand{icon_state = "desert1"},/area/centcom/holding)
"aJR" = (/obj/structure/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome)
"aJS" = (/obj/structure/table/standard,/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = 29},/obj/item/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/extinguisher,/turf/simulated/floor/shuttle/blue,/area/shuttle/escape/centcom)
"aJT" = (/obj/effect/floor_decal/spline/plain/grey{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/holding)
"aJU" = (/obj/effect/floor_decal/spline/fancy,/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "steel_rough"},/area/centcom/holding)
-"aJV" = (/obj/structure/flora/ausbushes/ppflowers,/turf/unsimulated/floor{icon_state = "grass0"; name = "grass"},/area/centcom/holding)
+"aJV" = (/obj/structure/flora/ausbushes/ppflowers,/turf/unsimulated/floor{name = "grass"; icon_state = "grass0"},/area/centcom/holding)
"aJW" = (/obj/effect/floor_decal/spline/fancy/corner{dir = 8},/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "steel_rough"},/area/centcom/holding)
"aJX" = (/obj/structure/lattice,/obj/structure/window/reinforced/crescent{dir = 8},/turf/space,/area/skipjack_station/base)
"aJY" = (/obj/structure/bed/couch/left/brown{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/holding)
"aJZ" = (/obj/structure/bed/couch/right/brown{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/holding)
"aKa" = (/obj/effect/floor_decal/industrial/warning/red/corner,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
-"aKb" = (/turf/unsimulated/beach/sand{dir = 6; icon_state = "beach"},/area/centcom/holding)
+"aKb" = (/turf/unsimulated/beach/sand{icon_state = "beach"; dir = 6},/area/centcom/holding)
"aKc" = (/turf/unsimulated/beach/sand{icon_state = "seashallow"},/area/centcom/holding)
-"aKd" = (/obj/structure/table/standard,/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/tdome)
-"aKe" = (/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/tdome)
-"aKf" = (/obj/structure/flora/ausbushes/lavendergrass,/turf/unsimulated/floor{icon_state = "grass0"; name = "grass"},/area/centcom/holding)
+"aKd" = (/obj/structure/table/standard,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome)
+"aKe" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome)
+"aKf" = (/obj/structure/flora/ausbushes/lavendergrass,/turf/unsimulated/floor{name = "grass"; icon_state = "grass0"},/area/centcom/holding)
"aKg" = (/obj/effect/floor_decal/sign/armory/energy,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"aKh" = (/obj/effect/floor_decal/industrial/warning/red{dir = 9},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"aKi" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/effect/floor_decal/industrial/hatch/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"aKj" = (/obj/structure/table/rack,/obj/item/storage/box/handcuffs{pixel_x = 4; pixel_y = 2},/obj/item/storage/box/flashbangs,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/effect/floor_decal/industrial/hatch/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"aKk" = (/obj/structure/table/rack,/obj/item/pinpointer/nukeop,/obj/item/pinpointer/nukeop,/obj/item/pinpointer/nukeop,/obj/item/pinpointer/nukeop,/obj/item/pinpointer/nukeop,/obj/item/pinpointer/nukeop,/obj/item/shield/energy,/obj/item/shield/energy,/obj/item/shield/energy,/obj/item/shield/energy,/obj/item/shield/energy,/obj/item/shield/energy,/obj/effect/floor_decal/industrial/hatch/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
-"aKl" = (/obj/effect/floor_decal/corner/red{dir = 9},/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/centcom/holding)
+"aKl" = (/obj/effect/floor_decal/corner/red{dir = 9},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/holding)
"aKm" = (/obj/effect/floor_decal/sign/armory/suits,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"aKn" = (/obj/structure/table/rack,/obj/item/gun/energy/gun,/obj/item/gun/energy/gun,/obj/item/gun/energy/gun,/obj/machinery/recharger/wallcharger{pixel_x = 5; pixel_y = -32},/obj/effect/floor_decal/industrial/hatch/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"aKo" = (/obj/structure/table/rack,/obj/item/gun/energy/ionrifle,/obj/item/gun/energy/ionrifle,/obj/effect/floor_decal/industrial/hatch/red,/obj/machinery/recharger/wallcharger{pixel_x = 5; pixel_y = -32},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
-"aKp" = (/obj/structure/bed/chair{dir = 4},/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/tdome)
-"aKq" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/tdome)
-"aKr" = (/obj/structure/bed/chair{dir = 8},/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/tdome)
-"aKs" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet,/turf/simulated/floor/holofloor/carpet,/area/space)
-"aKt" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet{dir = 6},/turf/simulated/floor/holofloor/carpet,/area/space)
+"aKp" = (/obj/structure/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome)
+"aKq" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome)
+"aKr" = (/obj/structure/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome)
"aKu" = (/turf/space,/area/space)
"aKv" = (/obj/structure/table/rack,/obj/item/clothing/mask/gas/syndicate,/obj/item/clothing/suit/space/void/syndi/prepared,/obj/effect/floor_decal/industrial/hatch/red,/obj/item/clothing/accessory/holochip/nuke,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"aKw" = (/mob/living/simple_animal/faithful_hound,/obj/effect/floor_decal/industrial/warning/wiz{dir = 5},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/wizard_station)
"aKx" = (/obj/effect/floor_decal/industrial/warning/red/corner{dir = 1},/obj/effect/floor_decal/industrial/warning/red/corner{dir = 4},/obj/effect/floor_decal/industrial/warning/red{dir = 8},/obj/effect/floor_decal/industrial/warning/red{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
-"aKy" = (/obj/effect/floor_decal/corner/red{dir = 5},/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/centcom/holding)
+"aKy" = (/obj/effect/floor_decal/corner/red{dir = 5},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/holding)
"aKz" = (/obj/effect/floor_decal/industrial/warning/red{dir = 8},/obj/effect/floor_decal/industrial/warning/red{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"aKA" = (/obj/effect/floor_decal/sign/armory,/obj/effect/floor_decal/industrial/warning/red{dir = 4},/obj/effect/floor_decal/industrial/warning/red{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
-"aKB" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "syndieshutters_workshop"; name = "Shuttle Blast Shutters"; opacity = 0},/obj/structure/window/syndi{icon_state = "ws3"},/turf/simulated/floor/plating,/area/syndicate_station/start)
+"aKB" = (/obj/machinery/door/blast/regular{name = "Shuttle Blast Shutters"; icon_state = "pdoor0"; opacity = 0; density = 0; id = "syndieshutters_workshop"},/obj/structure/window/syndi{icon_state = "ws3"},/turf/simulated/floor/plating,/area/syndicate_station/start)
"aKC" = (/obj/structure/table/rack,/obj/item/rig/syndi/empty,/obj/effect/floor_decal/industrial/hatch/red,/obj/effect/floor_decal/industrial/warning/full,/obj/item/clothing/accessory/holochip/nuke,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
-"aKD" = (/obj/structure/holohoop{dir = 4},/obj/effect/floor_decal/corner/red{dir = 9},/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/centcom/holding)
"aKE" = (/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding)
-"aKF" = (/obj/structure/window_frame/reinforced/hull,/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "skipjackshutters"; name = "Skipjack Blast Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/skipjack_station/start)
-"aKJ" = (/obj/effect/floor_decal/corner/red/three_quarters,/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/centcom/holding)
-"aKK" = (/obj/effect/floor_decal/corner/red{dir = 9},/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/tdome)
-"aKL" = (/obj/effect/floor_decal/corner/green{dir = 6},/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/tdome)
-"aKM" = (/obj/effect/floor_decal/corner/red{dir = 10},/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/centcom/holding)
+"aKF" = (/obj/structure/window_frame/reinforced/hull,/obj/machinery/door/blast/regular{name = "Skipjack Blast Shutters"; icon_state = "pdoor0"; opacity = 0; density = 0; dir = 4; id = "skipjackshutters"},/turf/simulated/floor/plating,/area/skipjack_station/start)
+"aKJ" = (/obj/effect/floor_decal/corner/red/three_quarters,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/holding)
+"aKK" = (/obj/effect/floor_decal/corner/red{dir = 9},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome)
+"aKL" = (/obj/effect/floor_decal/corner/green{dir = 6},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome)
+"aKM" = (/obj/effect/floor_decal/corner/red{dir = 10},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/holding)
"aKO" = (/obj/structure/lattice,/obj/structure/window/reinforced/crescent{dir = 4},/turf/space,/area/skipjack_station/base)
"aKP" = (/obj/structure/lattice,/obj/structure/window/reinforced/crescent{dir = 8},/turf/space,/area/space)
-"aKS" = (/obj/structure/closet/crate/bin,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"aKT" = (/obj/effect/floor_decal/corner/red/three_quarters,/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/tdome)
-"aKU" = (/obj/effect/floor_decal/corner/red{dir = 10},/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/tdome)
-"aKV" = (/obj/effect/floor_decal/corner/green{dir = 10},/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/tdome)
-"aKW" = (/obj/effect/floor_decal/corner/green/three_quarters{dir = 4},/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/tdome)
+"aKS" = (/obj/structure/closet/crate/bin,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"aKT" = (/obj/effect/floor_decal/corner/red/three_quarters,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome)
+"aKU" = (/obj/effect/floor_decal/corner/red{dir = 10},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome)
+"aKV" = (/obj/effect/floor_decal/corner/green{dir = 10},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome)
+"aKW" = (/obj/effect/floor_decal/corner/green/three_quarters{dir = 4},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome)
"aKX" = (/obj/item/clothing/head/wizard/violetwizard,/obj/item/clothing/suit/wizrobe/violetwizard,/obj/item/staff/broom,/obj/structure/closet/cabinet/wizcabinet,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
"aKY" = (/obj/effect/floor_decal/spline/plain/grey{dir = 1},/obj/effect/floor_decal/spline/fancy{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/holding)
"aKZ" = (/obj/structure/window_frame/indestructible/grille,/turf/unsimulated/floor{name = "plating"},/area/wizard_station)
@@ -1855,39 +1593,39 @@
"aLi" = (/obj/structure/window_frame/indestructible/hull,/turf/simulated/floor/plating,/area/merchant_station)
"aLj" = (/obj/structure/window_frame/indestructible,/turf/simulated/floor/tiled,/area/merchant_station)
"aLk" = (/obj/structure/window_frame/indestructible/hull,/turf/unsimulated/floor{name = "plating"},/area/merchant_station)
-"aLl" = (/obj/structure/window_frame/indestructible/hull,/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/unsimulated/floor{name = "plating"},/area/merchant_station)
+"aLl" = (/obj/structure/window_frame/indestructible/hull,/obj/structure/cable/blue{icon_state = "4-8"; d2 = 8; d1 = 4},/turf/unsimulated/floor{name = "plating"},/area/merchant_station)
"aLm" = (/obj/effect/floor_decal/spline/fancy/corner{dir = 4},/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "steel_rough"},/area/centcom/holding)
-"aLn" = (/obj/machinery/door/airlock/centcom{name = "General Access"; opacity = 1; req_access = list(101)},/obj/machinery/door/blast/regular{id = "crescent_thunderdome"; name = "Thunderdome"},/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/tdome)
-"aLo" = (/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/obj/structure/window_frame/indestructible,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome)
+"aLn" = (/obj/machinery/door/airlock/centcom{name = "General Access"; opacity = 1; req_access = list(101)},/obj/machinery/door/blast/regular{name = "Thunderdome"; id = "crescent_thunderdome"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome)
+"aLo" = (/obj/effect/forcefield{name = "Blocker"; desc = "You can't get in. Heh."; layer = 1},/obj/structure/window_frame/indestructible,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome)
"aLp" = (/obj/effect/floor_decal/stairs{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/holding)
-"aLq" = (/obj/machinery/door/blast/regular{id = "thunderdomeaxe"; name = "Axe Supply"},/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/tdome)
+"aLq" = (/obj/machinery/door/blast/regular{name = "Axe Supply"; id = "thunderdomeaxe"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome)
"aLr" = (/obj/structure/window/reinforced/crescent{dir = 4},/obj/structure/lattice,/turf/space,/area/space)
-"aLs" = (/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/obj/structure/disposalpipe/segment,/obj/structure/window_frame/indestructible,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome)
+"aLs" = (/obj/effect/forcefield{name = "Blocker"; desc = "You can't get in. Heh."; layer = 1},/obj/structure/disposalpipe/segment,/obj/structure/window_frame/indestructible,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome)
"aLt" = (/obj/structure/window/reinforced/crescent{dir = 8},/obj/structure/lattice,/turf/space,/area/skipjack_station/base)
"aLu" = (/obj/effect/floor_decal/spline/fancy/corner,/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "steel_rough"},/area/centcom/holding)
"aLv" = (/obj/machinery/door/airlock/glass{name = "Arrivals Processing"},/obj/effect/floor_decal/spline/fancy{dir = 4},/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "steel_rough"},/area/centcom/holding)
"aLw" = (/obj/machinery/door/airlock/glass{name = "Arrivals Processing"},/obj/effect/floor_decal/spline/fancy{dir = 8},/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "steel_rough"},/area/centcom/holding)
"aLx" = (/obj/structure/window/reinforced/crescent{dir = 4},/obj/structure/lattice,/turf/space,/area/skipjack_station/base)
-"aLy" = (/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/obj/machinery/atmospherics/pipe/simple/visible,/obj/structure/window_frame/indestructible,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome)
+"aLy" = (/obj/effect/forcefield{name = "Blocker"; desc = "You can't get in. Heh."; layer = 1},/obj/machinery/atmospherics/pipe/simple/visible,/obj/structure/window_frame/indestructible,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome)
"aLz" = (/obj/effect/floor_decal/corner/green{dir = 8},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
-"aLA" = (/obj/structure/flora/ausbushes/brflowers,/turf/unsimulated/floor{icon_state = "grass0"; name = "grass"},/area/centcom/holding)
+"aLA" = (/obj/structure/flora/ausbushes/brflowers,/turf/unsimulated/floor{name = "grass"; icon_state = "grass0"},/area/centcom/holding)
"aLB" = (/obj/structure/closet/secure_closet/bar,/turf/unsimulated/floor{icon_state = "white"},/area/tdome)
"aLC" = (/turf/unsimulated/floor{icon_state = "white"},/area/tdome)
"aLD" = (/obj/machinery/gibber,/turf/unsimulated/floor{icon_state = "white"},/area/tdome)
-"aLE" = (/obj/structure/flora/ausbushes/ywflowers,/turf/unsimulated/floor{icon_state = "grass0"; name = "grass"},/area/centcom/holding)
-"aLF" = (/obj/structure/bed/chair,/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/centcom/control)
+"aLE" = (/obj/structure/flora/ausbushes/ywflowers,/turf/unsimulated/floor{name = "grass"; icon_state = "grass0"},/area/centcom/holding)
+"aLF" = (/obj/structure/bed/chair,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/control)
"aLG" = (/obj/effect/floor_decal/corner/green{dir = 1},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
-"aLH" = (/obj/machinery/door/blast/regular{id = "thunderdomegen"; name = "General Supply"},/obj/machinery/door/blast/regular{dir = 8; id = "thunderdomegen"; name = "General Supply"},/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/tdome)
+"aLH" = (/obj/machinery/door/blast/regular{name = "General Supply"; id = "thunderdomegen"},/obj/machinery/door/blast/regular{name = "General Supply"; dir = 8; id = "thunderdomegen"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome)
"aLI" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
-"aLJ" = (/obj/machinery/door/airlock/command{name = "Thunderdome"},/obj/machinery/door/blast/regular{id = "crescent_thunderdome"; name = "Thunderdome"},/turf/unsimulated/floor{icon_state = "lino"},/area/tdome)
+"aLJ" = (/obj/machinery/door/airlock/command{name = "Thunderdome"},/obj/machinery/door/blast/regular{name = "Thunderdome"; id = "crescent_thunderdome"},/turf/unsimulated/floor{icon_state = "lino"},/area/tdome)
"aLK" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeobserve)
"aLL" = (/obj/effect/floor_decal/corner/green{dir = 6},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome)
"aLM" = (/turf/simulated/shuttle/wall/corner/dark/nw,/area/skipjack_station/start)
"aLN" = (/turf/simulated/shuttle/wall/corner/dark/ne,/area/skipjack_station/start)
"aLO" = (/turf/unsimulated/wall{icon_state = "riveted_straight"; dir = 8},/area/acting/backstage)
-"aLP" = (/obj/machinery/button/remote/blast_door{id = "crescent_checkpoint_access"; name = "Crescent Checkpoint Access"; pixel_x = -6; pixel_y = -24; req_access = list(101)},/obj/machinery/button/remote/blast_door{id = "crescent_thunderdome"; name = "Thunderdome Access"; pixel_x = 6; pixel_y = -24; req_access = list(101)},/obj/machinery/button/remote/blast_door{id = "crescent_vip_shuttle"; name = "VIP Shuttle Access"; pixel_x = 6; pixel_y = -34; req_access = list(101)},/obj/machinery/button/remote/blast_door{id = "CREED"; name = "Spec Ops Ready Room"; pixel_x = -6; pixel_y = -34; req_access = list(108)},/obj/machinery/turret_control_panel/centcomm{pixel_x = 28; pixel_y = -28},/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/centcom/control)
+"aLP" = (/obj/machinery/button/remote/blast_door{name = "Crescent Checkpoint Access"; pixel_x = -6; pixel_y = -24; id = "crescent_checkpoint_access"; req_access = list(101)},/obj/machinery/button/remote/blast_door{name = "Thunderdome Access"; pixel_x = 6; pixel_y = -24; id = "crescent_thunderdome"; req_access = list(101)},/obj/machinery/button/remote/blast_door{name = "VIP Shuttle Access"; pixel_x = 6; pixel_y = -34; id = "crescent_vip_shuttle"; req_access = list(101)},/obj/machinery/button/remote/blast_door{name = "Spec Ops Ready Room"; pixel_x = -6; pixel_y = -34; id = "CREED"; req_access = list(108)},/obj/machinery/turret_control_panel/centcomm{pixel_x = 28; pixel_y = -28},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/control)
"aLQ" = (/obj/effect/floor_decal/corner/green{dir = 8},/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
-"aLR" = (/obj/machinery/door/blast/regular{dir = 8; id = "thunderdome"; name = "Thunderdome Blast Door"},/obj/machinery/door/blast/regular{dir = 8; id = "thunderdome"; name = "Thunderdome Blast Door"},/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/tdome)
+"aLR" = (/obj/machinery/door/blast/regular{name = "Thunderdome Blast Door"; dir = 8; id = "thunderdome"},/obj/machinery/door/blast/regular{name = "Thunderdome Blast Door"; dir = 8; id = "thunderdome"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome)
"aLS" = (/obj/structure/table/standard,/obj/item/reagent_containers/vessel/bottle/small/beer,/obj/item/reagent_containers/vessel/bottle/small/beer,/obj/item/reagent_containers/vessel/bottle/small/beer,/obj/item/flame/lighter/zippo,/obj/item/storage/fancy/cigarettes,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeobserve)
"aLT" = (/obj/item/reagent_containers/vessel/can/cola,/obj/item/reagent_containers/vessel/can/cola,/obj/item/reagent_containers/vessel/can/cola,/obj/structure/table/standard,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeobserve)
"aLU" = (/turf/simulated/wall/voxshuttle,/area/skipjack_station/start)
@@ -1900,11 +1638,11 @@
"aMc" = (/obj/structure/table/rack,/obj/item/stack/tile/floor_freezer{amount = 50},/obj/item/stack/tile/floor_freezer{amount = 50},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
"aMd" = (/obj/structure/table/rack,/obj/item/stack/tile/carpet{amount = 50},/obj/item/stack/tile/carpet{amount = 50},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
"aMe" = (/obj/structure/table/rack,/obj/item/stack/tile/grass{amount = 50},/obj/item/stack/tile/grass{amount = 50},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
-"aMf" = (/obj/structure/table/rack,/obj/item/stack/material/steel{amount = 50; pixel_x = 5; pixel_y = 5},/obj/item/stack/material/steel{amount = 50; pixel_x = 5; pixel_y = 5},/obj/item/stack/material/steel{amount = 50; pixel_x = 5; pixel_y = 5},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
+"aMf" = (/obj/structure/table/rack,/obj/item/stack/material/steel{pixel_x = 5; pixel_y = 5; amount = 50},/obj/item/stack/material/steel{pixel_x = 5; pixel_y = 5; amount = 50},/obj/item/stack/material/steel{pixel_x = 5; pixel_y = 5; amount = 50},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
"aMg" = (/obj/structure/table/rack,/obj/item/stack/material/plasteel{amount = 50},/obj/item/stack/material/plasteel{amount = 50},/obj/item/stack/material/plasteel{amount = 50},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
"aMh" = (/obj/structure/table/rack,/obj/item/stack/material/wood{amount = 50},/obj/item/stack/material/wood{amount = 50},/obj/item/stack/material/wood{amount = 50},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
"aMi" = (/obj/structure/table/rack,/obj/item/stack/material/sandstone{amount = 50},/obj/item/stack/material/sandstone{amount = 50},/obj/item/stack/material/sandstone{amount = 50},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
-"aMj" = (/obj/structure/table/rack,/obj/item/stack/material/glass{amount = 50; pixel_x = 3; pixel_y = 3},/obj/item/stack/material/glass{amount = 50; pixel_x = 3; pixel_y = 3},/obj/item/stack/material/glass{amount = 50; pixel_x = 3; pixel_y = 3},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
+"aMj" = (/obj/structure/table/rack,/obj/item/stack/material/glass{pixel_x = 3; pixel_y = 3; amount = 50},/obj/item/stack/material/glass{pixel_x = 3; pixel_y = 3; amount = 50},/obj/item/stack/material/glass{pixel_x = 3; pixel_y = 3; amount = 50},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
"aMk" = (/obj/structure/table/rack,/obj/item/stack/material/glass/reinforced{amount = 50},/obj/item/stack/material/glass/reinforced{amount = 50},/obj/item/stack/material/glass/reinforced{amount = 50},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
"aMl" = (/obj/structure/table/rack,/obj/item/stack/material/marble{amount = 50},/obj/item/stack/material/marble{amount = 50},/obj/item/stack/material/marble{amount = 50},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
"aMm" = (/obj/structure/table/rack,/obj/item/stack/material/plastic{amount = 50},/obj/item/stack/material/plastic{amount = 50},/obj/item/stack/material/plastic{amount = 50},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
@@ -1923,32 +1661,32 @@
"aMz" = (/obj/structure/bed/chair/shuttle/blue,/obj/machinery/status_display{pixel_y = 30},/obj/machinery/camera/network/crescent{c_tag = "Shuttle East"},/turf/simulated/floor/shuttle/blue,/area/shuttle/escape/centcom)
"aMA" = (/obj/structure/bed/chair/shuttle/blue{dir = 8},/obj/machinery/camera/network/crescent{c_tag = "Shuttle Security"},/turf/simulated/floor/shuttle/red,/area/shuttle/escape/centcom)
"aMB" = (/obj/machinery/computer/crew,/obj/machinery/camera/network/crescent{c_tag = "Shuttle Bridge East"},/obj/item/device/radio/intercom{pixel_y = 22},/turf/simulated/floor/shuttle/blue,/area/shuttle/escape/centcom)
-"aMC" = (/obj/machinery/camera/network/crescent{c_tag = "Shuttle Medical"; dir = 4},/obj/structure/bed/roller,/obj/item/device/radio/intercom{dir = 4; pixel_x = -22},/turf/simulated/floor/shuttle/white,/area/shuttle/escape/centcom)
-"aMD" = (/obj/item/paper{info = "\[center]\[b]READ INSTRUCTIONS CAREFULLY\[/b]\[/center]\[br]\[br]Hello! Welcome and congratulations on being hired for NanoTrasen's new Television initiative. You are now tasked with the creation and production of NanoTrasen brand television that is to be broadcasted to all of our stations!\[br]\[br] We've outfitted these facilities with all the materials and objects you will need.\[br]On the port side you'll find various venders and machines, namely the Wardrobe Dispenser, which will dispense holoclothing and items for you to use, and a Quickee brand plastic surgery machine (which I would remind you you are contractually obligated to \[b]not\[/b] report to the authorities.) which can change your appearance into anything you want, even other races. Stern and aft you'll find all the materials we could muster up on short notice. Use it to decorate the stage to your liking. Starboard you'll find gases, microwaves, hydroponic trays and the like. Go silly! This is already paid for (as are you) so do what you want and entertain!"; name = "Actor's Guild Instruction Pamphlet"},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
+"aMC" = (/obj/machinery/camera/network/crescent{dir = 4; c_tag = "Shuttle Medical"},/obj/structure/bed/roller,/obj/item/device/radio/intercom{dir = 4; pixel_x = -22},/turf/simulated/floor/shuttle/white,/area/shuttle/escape/centcom)
+"aMD" = (/obj/item/paper{name = "Actor's Guild Instruction Pamphlet"; info = "\[center]\[b]READ INSTRUCTIONS CAREFULLY\[/b]\[/center]\[br]\[br]Hello! Welcome and congratulations on being hired for NanoTrasen's new Television initiative. You are now tasked with the creation and production of NanoTrasen brand television that is to be broadcasted to all of our stations!\[br]\[br] We've outfitted these facilities with all the materials and objects you will need.\[br]On the port side you'll find various venders and machines, namely the Wardrobe Dispenser, which will dispense holoclothing and items for you to use, and a Quickee brand plastic surgery machine (which I would remind you you are contractually obligated to \[b]not\[/b] report to the authorities.) which can change your appearance into anything you want, even other races. Stern and aft you'll find all the materials we could muster up on short notice. Use it to decorate the stage to your liking. Starboard you'll find gases, microwaves, hydroponic trays and the like. Go silly! This is already paid for (as are you) so do what you want and entertain!"},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
"aME" = (/obj/structure/window_frame/indestructible/hull,/turf/unsimulated/floor{name = "plating"},/area/centcom/holding)
"aMF" = (/obj/effect/floor_decal/corner/red{dir = 9},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome)
"aMG" = (/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeobserve)
"aMH" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/item/storage/box/sinpockets,/obj/structure/closet/secure_closet/freezer/kitchen,/obj/item/reagent_containers/vessel/condiment/enzyme,/turf/unsimulated/floor{icon_state = "white"},/area/rescue_base/base)
-"aMI" = (/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/centcom/living)
-"aMM" = (/obj/structure/table/reinforced,/obj/item/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/pen,/obj/machinery/door/window/southright{name = "Arrivals Processing"; req_access = list(101)},/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/centcom/holding)
-"aMN" = (/obj/machinery/door/airlock/centcom{name = "General Access"; opacity = 1; req_access = list(101)},/obj/machinery/door/blast/regular{id = "crescent_checkpoint_access"; name = "Crescent Checkpoint"},/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/centcom/control)
-"aMO" = (/obj/effect/floor_decal/industrial/outline/yellow,/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/centcom/control)
+"aMI" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/living)
+"aMM" = (/obj/structure/table/reinforced,/obj/item/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/pen,/obj/machinery/door/window/southright{name = "Arrivals Processing"; req_access = list(101)},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/holding)
+"aMN" = (/obj/machinery/door/airlock/centcom{name = "General Access"; opacity = 1; req_access = list(101)},/obj/machinery/door/blast/regular{name = "Crescent Checkpoint"; id = "crescent_checkpoint_access"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/control)
+"aMO" = (/obj/effect/floor_decal/industrial/outline/yellow,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/control)
"aMR" = (/obj/machinery/vending/tool,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
"aMT" = (/obj/machinery/biogenerator,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
-"aMU" = (/obj/machinery/door/blast/regular{id = "thunderdomehea"; name = "Heavy Supply"},/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/tdome)
+"aMU" = (/obj/machinery/door/blast/regular{name = "Heavy Supply"; id = "thunderdomehea"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome)
"aMV" = (/obj/machinery/igniter,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome)
"aMW" = (/turf/unsimulated/floor{icon_state = "dark"},/area/tdome)
"aMX" = (/obj/structure/disposalpipe/segment,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome)
-"aNb" = (/obj/structure/table/woodentable,/obj/item/book/wiki/nuclear,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
+"aNb" = (/obj/structure/table/woodentable,/obj/item/book/wiki/nuclear,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
"aNe" = (/obj/machinery/vending/hydroseeds,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
"aNf" = (/turf/simulated/floor/tiled,/area/acting/stage)
"aNg" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/acting/stage)
"aNh" = (/obj/machinery/microwave,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
"aNi" = (/obj/machinery/vending/coffee,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeobserve)
"aNj" = (/obj/structure/closet/secure_closet/freezer/meat,/turf/unsimulated/floor{icon_state = "white"},/area/tdome)
-"aNk" = (/obj/structure/table/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet/swat,/obj/item/gun/energy/laser,/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/tdome)
+"aNk" = (/obj/structure/table/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet/swat,/obj/item/gun/energy/laser,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome)
"aNl" = (/turf/unsimulated/wall{icon_state = "riveted_straight"; dir = 8},/area/space)
-"aNo" = (/obj/structure/table/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet/swat,/obj/item/gun/energy/laser,/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/tdome)
+"aNo" = (/obj/structure/table/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet/swat,/obj/item/gun/energy/laser,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome)
"aNp" = (/obj/structure/closet/secure_closet/freezer/fridge,/turf/unsimulated/floor{icon_state = "white"},/area/tdome)
"aNt" = (/turf/unsimulated/wall{icon_state = "riveted_d"; dir = 8},/area/centcom/holding)
"aNB" = (/obj/machinery/vending/hydronutrients,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
@@ -1963,13 +1701,13 @@
"aNR" = (/obj/item/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/structure/table/standard,/turf/unsimulated/floor{icon_state = "white"},/area/tdome)
"aNV" = (/obj/machinery/vending/robotics,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
"aOa" = (/turf/unsimulated/wall{icon_state = "riveted_d"; dir = 4},/area/tdome)
-"aOb" = (/obj/item/book/wiki/robotics_cyborgs,/obj/structure/table/glass,/turf/unsimulated/floor{icon_state = "cult"; name = "plating"},/area/wizard_station)
+"aOb" = (/obj/item/book/wiki/robotics_cyborgs,/obj/structure/table/glass,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/wizard_station)
"aOf" = (/obj/machinery/vending/engivend,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
-"aOg" = (/obj/machinery/camera/network/thunder{anchored = 0; c_tag = "Television"; name = "Movable Camera"},/turf/simulated/floor/tiled,/area/acting/stage)
+"aOg" = (/obj/machinery/camera/network/thunder{name = "Movable Camera"; anchored = 0; c_tag = "Television"},/turf/simulated/floor/tiled,/area/acting/stage)
"aOh" = (/obj/machinery/portable_atmospherics/hydroponics,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
-"aOi" = (/obj/machinery/computer/pod{id = "thunderdomehea"; name = "Thunderdome Heavy Supply"},/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin)
+"aOi" = (/obj/machinery/computer/pod{name = "Thunderdome Heavy Supply"; id = "thunderdomehea"},/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin)
"aOj" = (/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin)
-"aOk" = (/obj/machinery/computer/pod{id = "thunderdome"; name = "Thunderdome Blast Door Control"},/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin)
+"aOk" = (/obj/machinery/computer/pod{name = "Thunderdome Blast Door Control"; id = "thunderdome"},/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin)
"aOs" = (/obj/machinery/vending/dinnerware,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
"aOt" = (/obj/structure/table/standard,/obj/machinery/microwave,/turf/unsimulated/floor{icon_state = "white"},/area/tdome)
"aOH" = (/obj/machinery/vending/cola{name = "hacked Robust Softdrinks"; prices = list()},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
@@ -1981,27 +1719,27 @@
"aOQ" = (/obj/machinery/chemical_dispenser/bar_alc/full,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
"aOR" = (/obj/structure/disposalpipe/segment,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeobserve)
"aOS" = (/obj/structure/bed/chair,/obj/structure/disposalpipe/segment,/obj/effect/landmark/event/tdome/tdomeobserve,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeobserve)
-"aOT" = (/obj/structure/table/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/melee/energy/axe,/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/tdome)
-"aOV" = (/obj/structure/table/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/melee/energy/axe,/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/tdome)
-"aOW" = (/obj/structure/table/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/tdome/red,/obj/item/clothing/head/helmet/thunderdome,/obj/item/melee/baton/loaded,/obj/item/melee/energy/sword/one_hand/red,/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/tdome)
+"aOT" = (/obj/structure/table/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/melee/energy/axe,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome)
+"aOV" = (/obj/structure/table/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/melee/energy/axe,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome)
+"aOW" = (/obj/structure/table/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/tdome/red,/obj/item/clothing/head/helmet/thunderdome,/obj/item/melee/baton/loaded,/obj/item/melee/energy/sword/one_hand/red,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome)
"aOX" = (/obj/structure/shuttle/engine/propulsion,/turf/simulated/floor/plating/airless,/area/skipjack_station/start)
"aOY" = (/obj/effect/overlay/palmtree_r,/turf/unsimulated/beach/sand{icon_state = "desert2"},/turf/unsimulated/beach/sand{icon_state = "coconuts"},/area/centcom/holding)
-"aPb" = (/obj/machinery/vending/cigarette{name = "hacked cigarette machine"; prices = list(); products = list(/obj/item/storage/fancy/cigarettes=10,/obj/item/storage/box/matches=10,/obj/item/flame/lighter/zippo=4,/obj/item/clothing/mask/smokable/cigarette/cigar/havana=2)},/turf/unsimulated/floor{icon_state = "cult"; name = "plating"},/area/syndicate_mothership)
+"aPb" = (/obj/machinery/vending/cigarette{name = "hacked cigarette machine"; products = list(/obj/item/storage/fancy/cigarettes=10, /obj/item/storage/box/matches=10, /obj/item/flame/lighter/zippo=4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana=2); prices = list()},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_mothership)
"aPc" = (/obj/machinery/vending/containers,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
"aPd" = (/obj/machinery/light,/turf/simulated/floor/tiled,/area/acting/stage)
"aPe" = (/obj/machinery/chemical_dispenser/full,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
-"aPf" = (/obj/structure/table/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/tdome/green,/obj/item/clothing/head/helmet/thunderdome,/obj/item/melee/baton/loaded,/obj/item/melee/energy/sword/one_hand/green,/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/tdome)
-"aPg" = (/obj/effect/landmark/event/tdome/tdome2,/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/tdome/tdome2)
-"aPh" = (/obj/effect/landmark/event/tdome/tdome1,/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/tdome/tdome1)
-"aPi" = (/obj/effect/landmark/event/tdome/tdome2,/obj/machinery/camera/network/thunder{c_tag = "Thunderdome - Red Team"; invisibility = 101},/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/tdome/tdome2)
+"aPf" = (/obj/structure/table/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/tdome/green,/obj/item/clothing/head/helmet/thunderdome,/obj/item/melee/baton/loaded,/obj/item/melee/energy/sword/one_hand/green,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome)
+"aPg" = (/obj/effect/landmark/event/tdome/tdome2,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome/tdome2)
+"aPh" = (/obj/effect/landmark/event/tdome/tdome1,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome/tdome1)
+"aPi" = (/obj/effect/landmark/event/tdome/tdome2,/obj/machinery/camera/network/thunder{invisibility = 101; c_tag = "Thunderdome - Red Team"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome/tdome2)
"aPj" = (/turf/unsimulated/floor{icon_state = "bcircuit"},/area/tdome)
"aPm" = (/obj/machinery/pipedispenser,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
"aPn" = (/obj/machinery/chemical_dispenser/bar_soft/full,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
-"aPo" = (/obj/machinery/flasher{id = "flash"; name = "Thunderdome Flash"},/turf/unsimulated/floor{icon_state = "bcircuit"},/area/tdome)
-"aPp" = (/obj/effect/landmark/event/tdome/tdome1,/obj/machinery/camera/network/thunder{c_tag = "Green Team"; invisibility = 101},/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/tdome/tdome1)
+"aPo" = (/obj/machinery/flasher{name = "Thunderdome Flash"; id = "flash"},/turf/unsimulated/floor{icon_state = "bcircuit"},/area/tdome)
+"aPp" = (/obj/effect/landmark/event/tdome/tdome1,/obj/machinery/camera/network/thunder{invisibility = 101; c_tag = "Green Team"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome/tdome1)
"aPq" = (/obj/machinery/atmospherics/pipe/vent,/turf/unsimulated/floor{icon_state = "bcircuit"},/area/tdome)
"aPw" = (/obj/machinery/acting/changer,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
-"aPx" = (/obj/machinery/camera/network/thunder{c_tag = "Thunderdome Arena"; invisibility = 101},/turf/unsimulated/floor{icon_state = "bcircuit"},/area/tdome)
+"aPx" = (/obj/machinery/camera/network/thunder{invisibility = 101; c_tag = "Thunderdome Arena"},/turf/unsimulated/floor{icon_state = "bcircuit"},/area/tdome)
"aPy" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 5},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome)
"aPE" = (/obj/machinery/vending/props,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
"aPF" = (/obj/machinery/newscaster{pixel_y = -27},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
@@ -2012,10 +1750,10 @@
"aPK" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome)
"aPL" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 9},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome)
"aPM" = (/obj/machinery/atmospherics/pipe/simple/visible,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome)
-"aPN" = (/obj/machinery/door/airlock/command{name = "Thunderdome Administration"; req_access = list(102)},/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/tdome)
-"aPO" = (/obj/effect/floor_decal/corner/red{dir = 8},/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/tdome)
+"aPN" = (/obj/machinery/door/airlock/command{name = "Thunderdome Administration"; req_access = list(102)},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome)
+"aPO" = (/obj/effect/floor_decal/corner/red{dir = 8},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome)
"aPP" = (/obj/machinery/door/airlock/command{name = "Thunderdome Administration"; req_access = list(102)},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome)
-"aPR" = (/obj/effect/floor_decal/corner/green,/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/tdome)
+"aPR" = (/obj/effect/floor_decal/corner/green,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome)
"aPS" = (/obj/structure/bed/chair{dir = 1},/obj/effect/landmark/event/tdome/tdomeadmin,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin)
"aPT" = (/obj/item/extinguisher,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin)
"aPU" = (/obj/machinery/atmospherics/valve,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin)
@@ -2027,9 +1765,9 @@
"aQe" = (/obj/machinery/cryopod{dir = 4},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled/white,/area/merchant_station)
"aQf" = (/obj/machinery/light/small{dir = 1},/obj/machinery/computer/cryopod{pixel_y = 32},/obj/item/roller,/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled/white,/area/merchant_station)
"aQg" = (/obj/item/device/radio/intercom{pixel_y = 22},/obj/structure/table/reinforced,/obj/item/storage/firstaid/toxin,/obj/item/storage/firstaid/o2{layer = 2.8; pixel_x = 4; pixel_y = 6},/obj/item/storage/firstaid/fire{layer = 2.9; pixel_x = 2; pixel_y = 3},/obj/item/storage/firstaid/adv{pixel_x = -2},/obj/item/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/bodybag/cryobag{pixel_x = 5},/obj/effect/floor_decal/industrial/outline/blue,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/white,/area/merchant_station)
-"aQh" = (/obj/structure/flora/ausbushes/fullgrass,/turf/simulated/floor/holofloor/grass,/area/merchant_station)
-"aQi" = (/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/holofloor/grass,/area/merchant_station)
-"aQj" = (/obj/structure/flora/ausbushes/fullgrass,/obj/machinery/light{dir = 1},/turf/simulated/floor/holofloor/grass,/area/merchant_station)
+"aQh" = (/obj/structure/flora/ausbushes/fullgrass,/turf/simulated/floor/natural/jungle,/area/merchant_station)
+"aQi" = (/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/natural/jungle,/area/merchant_station)
+"aQj" = (/obj/structure/flora/ausbushes/fullgrass,/obj/machinery/light{dir = 1},/turf/simulated/floor/natural/jungle,/area/merchant_station)
"aQk" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled/white,/area/merchant_station)
"aQl" = (/obj/machinery/sleeper{dir = 8},/obj/effect/floor_decal/industrial/outline/blue,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/tiled/white,/area/merchant_station)
"aQo" = (/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/obj/structure/table/reinforced,/obj/effect/floor_decal/corner/blue/three_quarters{dir = 8},/turf/simulated/floor/tiled,/area/merchant_station)
@@ -2068,20 +1806,19 @@
"aQV" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/merchant_station)
"aQW" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/merchant_station)
"aQX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9},/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/merchant_station)
-"aQY" = (/obj/structure/flora/ausbushes/ywflowers,/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/holofloor/grass,/area/merchant_station)
-"aQZ" = (/obj/structure/flora/ausbushes/ywflowers,/mob/living/simple_animal/tindalos{name = "Eddy"},/turf/simulated/floor/holofloor/grass,/area/merchant_station)
-"aRa" = (/obj/structure/flora/ausbushes/fullgrass,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/holofloor/grass,/area/merchant_station)
-"aRb" = (/obj/structure/flora/ausbushes/ywflowers,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor/grass,/area/merchant_station)
+"aQY" = (/obj/structure/flora/ausbushes/ywflowers,/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/natural/jungle,/area/merchant_station)
+"aRa" = (/obj/structure/flora/ausbushes/fullgrass,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/natural/jungle,/area/merchant_station)
+"aRb" = (/obj/structure/flora/ausbushes/ywflowers,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/natural/jungle,/area/merchant_station)
"aRc" = (/obj/structure/table/reinforced,/obj/item/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/pen,/obj/effect/floor_decal/corner/blue/three_quarters,/turf/simulated/floor/tiled,/area/merchant_station)
"aRe" = (/obj/structure/table/reinforced,/obj/random/loot,/obj/effect/floor_decal/corner/blue{dir = 10},/turf/simulated/floor/tiled,/area/merchant_station)
"aRf" = (/obj/machinery/photocopier,/obj/effect/floor_decal/corner/blue{dir = 8},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/merchant_station)
-"aRg" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "merchant_station_interior"; locked = 1; name = "Station Exterior"; req_access = list(201)},/turf/simulated/floor/plating,/area/merchant_station)
+"aRg" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/door/airlock/external{name = "Station Exterior"; icon_state = "door_locked"; frequency = 1379; locked = 1; req_access = list(201); id_tag = "merchant_station_interior"},/turf/simulated/floor/plating,/area/merchant_station)
"aRh" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor,/turf/simulated/floor/tiled,/area/merchant_station)
"aRi" = (/obj/machinery/door/firedoor,/turf/simulated/floor/tiled,/area/merchant_station)
-"aRj" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "merchant_station_vent"},/obj/machinery/embedded_controller/radio/airlock/docking_port{id_tag = "merchant_station_dock"; pixel_x = 26; plane = -13; req_access = list(201); tag_airpump = "merchant_station_vent"; tag_chamber_sensor = "merchant_station_sensor"; tag_exterior_door = "merchant_station_exterior"; tag_interior_door = "merchant_station_interior"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/merchant_station)
+"aRj" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "merchant_station_vent"},/obj/machinery/embedded_controller/radio/airlock/docking_port{pixel_x = 26; plane = -13; req_access = list(201); id_tag = "merchant_station_dock"; tag_exterior_door = "merchant_station_exterior"; tag_interior_door = "merchant_station_interior"; tag_airpump = "merchant_station_vent"; tag_chamber_sensor = "merchant_station_sensor"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/merchant_station)
"aRk" = (/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/merchant_station)
"aRm" = (/obj/machinery/door/window/southright{req_access = list(201)},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/window/northleft{req_access = list(201)},/turf/simulated/floor/plating,/area/merchant_station)
-"aRn" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "merchant_station_interior"; locked = 1; name = "Station Exterior"; req_access = list(201)},/turf/simulated/floor/plating,/area/merchant_station)
+"aRn" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/external{name = "Station Exterior"; icon_state = "door_locked"; frequency = 1379; locked = 1; req_access = list(201); id_tag = "merchant_station_interior"},/turf/simulated/floor/plating,/area/merchant_station)
"aRo" = (/obj/effect/decal/cleanable/dirt,/obj/structure/extinguisher_cabinet{pixel_x = -26},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/merchant_station)
"aRp" = (/obj/machinery/constructable_frame/machine_frame,/obj/effect/floor_decal/corner/green/three_quarters{dir = 8},/obj/item/storage/toolbox/mechanical,/turf/simulated/floor/tiled/dark,/area/merchant_station)
"aRq" = (/obj/effect/floor_decal/corner/green{dir = 5},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/dark,/area/merchant_station)
@@ -2090,32 +1827,32 @@
"aRt" = (/obj/effect/decal/cleanable/dirt,/obj/effect/floor_decal/corner/green{dir = 5},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled/dark,/area/merchant_station)
"aRu" = (/obj/effect/floor_decal/industrial/outline/grey,/obj/structure/table/rack,/obj/random/plushie,/obj/effect/decal/cleanable/dirt,/obj/effect/floor_decal/corner/green/three_quarters{dir = 1},/turf/simulated/floor/tiled/dark,/area/merchant_station)
"aRv" = (/obj/structure/shuttle/engine/propulsion/burst/right{dir = 1},/turf/space,/area/shuttle/merchant/home)
-"aRy" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "merchant_ship_dock"; pixel_x = -28},/obj/effect/shuttle_landmark/merchant/start,/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "merchant_ship_exterior"; locked = 1; name = "Ship Exterior"; req_access = list(201)},/obj/machinery/door/blast/shutters{density = 0; icon_state = "shutter0"; id = "merchantshuttle1"; name = "Merchant Window Shutters"; opacity = 0},/obj/machinery/button/remote/blast_door{id = "merchantshuttle1"; name = "Privacy Shutters"; pixel_x = -28; pixel_y = -8; req_access = list(201)},/turf/simulated/floor/plating,/area/shuttle/merchant/home)
+"aRy" = (/obj/machinery/access_button{pixel_x = -28; frequency = 1379; command = "cycle_exterior"; master_tag = "merchant_ship_dock"},/obj/effect/shuttle_landmark/merchant/start,/obj/machinery/door/airlock/external{name = "Ship Exterior"; icon_state = "door_locked"; frequency = 1379; locked = 1; req_access = list(201); id_tag = "merchant_ship_exterior"},/obj/machinery/door/blast/shutters{name = "Merchant Window Shutters"; icon_state = "shutter0"; opacity = 0; density = 0; id = "merchantshuttle1"},/obj/machinery/button/remote/blast_door{name = "Privacy Shutters"; pixel_x = -28; pixel_y = -8; id = "merchantshuttle1"; req_access = list(201)},/turf/simulated/floor/plating,/area/shuttle/merchant/home)
"aRB" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor/tiled,/area/merchant_station)
"aRC" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/dark,/area/merchant_station)
"aRD" = (/obj/effect/floor_decal/corner/green{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/dark,/area/merchant_station)
"aRE" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled/dark,/area/merchant_station)
"aRF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/dark,/area/merchant_station)
"aRH" = (/obj/structure/table/steel,/obj/item/spacecash/bundle/c1000,/obj/effect/floor_decal/corner/green{dir = 6},/turf/simulated/floor/tiled/dark,/area/merchant_station)
-"aRK" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "merchant_ship_dock"; name = "interior access button"; pixel_x = -28; pixel_y = -6},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "merchant_ship_dock"; name = "exterior access button"; pixel_x = -28; pixel_y = 6},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/shuttle/merchant/home)
+"aRK" = (/obj/machinery/access_button{name = "interior access button"; pixel_x = -28; pixel_y = -6; frequency = 1379; command = "cycle_interior"; master_tag = "merchant_ship_dock"},/obj/machinery/access_button{name = "exterior access button"; pixel_x = -28; pixel_y = 6; frequency = 1379; command = "cycle_exterior"; master_tag = "merchant_ship_dock"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/shuttle/merchant/home)
"aRL" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{frequency = 1379; id_tag = "merchant_ship_vent"},/turf/simulated/floor/plating,/area/shuttle/merchant/home)
-"aRM" = (/obj/machinery/airlock_sensor{id_tag = "merchant_ship_sensor"; pixel_x = 28},/obj/structure/closet/emcloset{anchored = 1},/turf/simulated/floor/plating,/area/shuttle/merchant/home)
+"aRM" = (/obj/machinery/airlock_sensor{pixel_x = 28; id_tag = "merchant_ship_sensor"},/obj/structure/closet/emcloset{anchored = 1},/turf/simulated/floor/plating,/area/shuttle/merchant/home)
"aRN" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/tiled,/area/merchant_station)
"aRO" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/merchant_station)
-"aRP" = (/obj/machinery/door/airlock/multi_tile/glass{dir = 2; name = "Warehouse"},/turf/simulated/floor/tiled/dark,/area/merchant_station)
+"aRP" = (/obj/machinery/door/airlock/multi_tile/glass{name = "Warehouse"; dir = 2},/turf/simulated/floor/tiled/dark,/area/merchant_station)
"aRQ" = (/obj/effect/decal/cleanable/dirt,/obj/effect/floor_decal/corner/green{dir = 9},/turf/simulated/floor/tiled/dark,/area/merchant_station)
"aRR" = (/turf/simulated/floor/tiled/dark,/area/merchant_station)
"aRS" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/dark,/area/merchant_station)
"aRT" = (/obj/structure/bed/chair/office/dark{dir = 4},/turf/simulated/floor/tiled/dark,/area/merchant_station)
"aRU" = (/obj/structure/table/steel,/obj/item/paper,/obj/item/pen,/obj/effect/floor_decal/corner/green{dir = 6},/turf/simulated/floor/tiled/dark,/area/merchant_station)
-"aRZ" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "merchant_ship_interior"; locked = 1; name = "Ship Exterior"; req_access = list(201)},/obj/machinery/door/blast/shutters{density = 0; icon_state = "shutter0"; id = "merchantshuttle1"; name = "Merchant Window Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/shuttle/merchant/home)
+"aRZ" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/door/airlock/external{name = "Ship Exterior"; icon_state = "door_locked"; frequency = 1379; locked = 1; req_access = list(201); id_tag = "merchant_ship_interior"},/obj/machinery/door/blast/shutters{name = "Merchant Window Shutters"; icon_state = "shutter0"; opacity = 0; density = 0; id = "merchantshuttle1"},/turf/simulated/floor/plating,/area/shuttle/merchant/home)
"aSb" = (/obj/structure/table/reinforced,/obj/effect/floor_decal/corner/blue{dir = 10},/obj/item/gun/energy/gun/taser,/obj/item/gun/energy/gun/taser,/turf/simulated/floor/tiled,/area/merchant_station)
"aSd" = (/obj/structure/closet/crate/freezer/rations,/obj/effect/decal/cleanable/dirt,/obj/effect/floor_decal/corner/green{dir = 10},/obj/machinery/light/small,/turf/simulated/floor/tiled/dark,/area/merchant_station)
"aSe" = (/obj/effect/floor_decal/industrial/outline/grey,/obj/structure/reagent_dispensers{anchored = 1},/obj/effect/decal/cleanable/dirt,/obj/effect/floor_decal/corner/green{dir = 10},/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/dark,/area/merchant_station)
"aSf" = (/obj/structure/filingcabinet,/obj/effect/floor_decal/corner/green{dir = 10},/turf/simulated/floor/tiled/dark,/area/merchant_station)
"aSg" = (/obj/structure/table/steel,/obj/structure/flora/pottedplant/shoot{pixel_y = 7},/obj/effect/floor_decal/corner/green{dir = 10},/obj/machinery/firealarm{dir = 1; pixel_y = -28},/obj/machinery/light/small,/turf/simulated/floor/tiled/dark,/area/merchant_station)
"aSh" = (/obj/structure/table/steel,/obj/item/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/clipboard,/obj/effect/floor_decal/corner/green/three_quarters{dir = 4},/turf/simulated/floor/tiled/dark,/area/merchant_station)
-"aSj" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/floor_decal/corner/green/three_quarters{dir = 8},/obj/machinery/button/remote/blast_door{id = "merchantshuttle1"; name = "Privacy Shutters"; pixel_x = -28; pixel_y = 28; req_access = list(201)},/turf/simulated/floor/tiled,/area/shuttle/merchant/home)
+"aSj" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/floor_decal/corner/green/three_quarters{dir = 8},/obj/machinery/button/remote/blast_door{name = "Privacy Shutters"; pixel_x = -28; pixel_y = 28; id = "merchantshuttle1"; req_access = list(201)},/turf/simulated/floor/tiled,/area/shuttle/merchant/home)
"aSk" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9},/obj/effect/floor_decal/industrial/loading,/turf/simulated/floor/tiled,/area/shuttle/merchant/home)
"aSl" = (/obj/effect/floor_decal/corner/brown/three_quarters{dir = 1},/turf/simulated/floor/tiled,/area/shuttle/merchant/home)
"aSn" = (/turf/unsimulated/wall{icon_state = "riveted_straight"; dir = 4},/area/wizard_station)
@@ -2128,10 +1865,10 @@
"aSv" = (/obj/machinery/light/small{dir = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/dark,/area/merchant_station)
"aSy" = (/obj/machinery/light/small{dir = 1},/obj/effect/decal/cleanable/spiderling_remains,/turf/simulated/floor/tiled/dark,/area/merchant_station)
"aSz" = (/obj/effect/floor_decal/industrial/outline/grey,/obj/structure/largecrate,/obj/random/loot,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/tiled/dark,/area/merchant_station)
-"aSA" = (/obj/structure/bookcase{name = "Forbidden Knowledge"},/obj/effect/decal/cleanable/cobweb,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"aSB" = (/obj/structure/bookcase{name = "Forbidden Knowledge"},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"aSC" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"aSD" = (/obj/structure/table/woodentable,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
+"aSA" = (/obj/structure/bookcase{name = "Forbidden Knowledge"},/obj/effect/decal/cleanable/cobweb,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"aSB" = (/obj/structure/bookcase{name = "Forbidden Knowledge"},/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"aSC" = (/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"aSD" = (/obj/structure/table/woodentable,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
"aSF" = (/obj/structure/bed/chair/shuttle/red{dir = 4},/obj/effect/floor_decal/industrial/warning/red{dir = 9},/turf/simulated/floor,/area/syndicate_station/start)
"aSG" = (/obj/structure/table/woodentable,/turf/simulated/floor/trim/carpet,/area/wizard_station)
"aSH" = (/obj/structure/toilet{pixel_y = 8},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/wizard_station)
@@ -2152,14 +1889,14 @@
"aTb" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled/dark,/area/merchant_station)
"aTc" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled/dark,/area/merchant_station)
"aTe" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/tiled/dark,/area/merchant_station)
-"aTf" = (/obj/structure/bookcase{name = "bookcase (Tactics)"},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"aTg" = (/obj/structure/closet/coffin,/obj/item/device/radio/intercom/syndicate{dir = 8; pixel_x = 22},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"aTh" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green{on = 0; pixel_x = -3; pixel_y = 8},/obj/item/reagent_containers/vessel/flask/barflask,/obj/item/device/radio/intercom/syndicate{dir = 8; pixel_x = 22},/turf/simulated/floor/trim/carpet,/area/wizard_station)
+"aTf" = (/obj/structure/bookcase{name = "bookcase (Tactics)"},/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"aTg" = (/obj/structure/closet/coffin,/obj/item/device/radio/intercom/syndicate{dir = 8; pixel_x = 22},/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"aTh" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green{pixel_x = -3; pixel_y = 8; on = 0},/obj/item/reagent_containers/vessel/flask/barflask,/obj/item/device/radio/intercom/syndicate{dir = 8; pixel_x = 22},/turf/simulated/floor/trim/carpet,/area/wizard_station)
"aTj" = (/obj/structure/table/rack,/obj/random/action_figure,/obj/effect/floor_decal/industrial/outline/grey,/obj/item/clothing/accessory/holster,/turf/simulated/floor/tiled/dark,/area/merchant_station)
"aTk" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/dark,/area/merchant_station)
"aTl" = (/obj/machinery/light/small,/obj/machinery/alarm{dir = 1; pixel_y = -24},/turf/simulated/floor/tiled/dark,/area/merchant_station)
-"aTm" = (/obj/structure/table/rack,/obj/effect/floor_decal/industrial/outline/grey,/obj/item/card/id{access = list(201); desc = "A visitor's access card, this one is for the Merchant's Station."; icon_state = "guest"; name = "Visitor's Card - Merchant's Station"},/obj/item/card/id{access = list(201); desc = "A visitor's access card, this one is for the Merchant's Station."; icon_state = "guest"; name = "Visitor's Card - Merchant's Station"},/obj/item/card/id{access = list(201); desc = "A visitor's access card, this one is for the Merchant's Station."; icon_state = "guest"; name = "Visitor's Card - Merchant's Station"},/turf/simulated/floor/tiled/dark,/area/merchant_station)
-"aTn" = (/obj/structure/table/woodentable,/obj/item/storage/bag/cash,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
+"aTm" = (/obj/structure/table/rack,/obj/effect/floor_decal/industrial/outline/grey,/obj/item/card/id{name = "Visitor's Card - Merchant's Station"; desc = "A visitor's access card, this one is for the Merchant's Station."; icon_state = "guest"; access = list(201)},/obj/item/card/id{name = "Visitor's Card - Merchant's Station"; desc = "A visitor's access card, this one is for the Merchant's Station."; icon_state = "guest"; access = list(201)},/obj/item/card/id{name = "Visitor's Card - Merchant's Station"; desc = "A visitor's access card, this one is for the Merchant's Station."; icon_state = "guest"; access = list(201)},/turf/simulated/floor/tiled/dark,/area/merchant_station)
+"aTn" = (/obj/structure/table/woodentable,/obj/item/storage/bag/cash,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
"aTo" = (/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
"aTp" = (/obj/structure/bed,/obj/item/bedsheet/rd,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
"aTq" = (/obj/item/clothing/suit/wizrobe/red,/obj/item/clothing/shoes/sandal,/obj/item/clothing/head/wizard/red,/obj/item/staff,/obj/structure/closet/cabinet/wizcabinet,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
@@ -2170,123 +1907,123 @@
"aTw" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled,/area/merchant_station)
"aTx" = (/obj/machinery/door/airlock/hatch{name = "Storage"; req_access = list(201)},/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/dark,/area/merchant_station)
"aTy" = (/turf/simulated/floor/asteroid,/area/merchant_station)
-"aTz" = (/obj/structure/bookcase,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"aTA" = (/obj/machinery/vending/magivend,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
+"aTz" = (/obj/structure/bookcase,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"aTA" = (/obj/machinery/vending/magivend,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
"aTB" = (/obj/machinery/door/unpowered/simple/wood,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
"aTC" = (/obj/item/device/radio/intercom/syndicate{dir = 8; pixel_x = 22},/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
"aTF" = (/turf/unsimulated/wall{icon_state = "riveted"; dir = 1},/area/centcom/suppy)
"aTG" = (/obj/machinery/alarm{dir = 8; pixel_x = 25; req_one_access = list(201)},/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/merchant_station)
"aTH" = (/obj/structure/table/steel,/turf/simulated/floor/tiled,/area/merchant_station)
-"aTI" = (/obj/machinery/alarm{pixel_y = 23; req_one_access = list(201)},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/merchant_station)
+"aTI" = (/obj/machinery/alarm{pixel_y = 23; req_one_access = list(201)},/obj/structure/disposalpipe/segment{icon_state = "pipe-c"; dir = 4},/turf/simulated/floor/tiled,/area/merchant_station)
"aTJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/merchant_station)
"aTK" = (/obj/structure/closet/emcloset,/obj/machinery/light/small{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/merchant_station)
"aTN" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/merchant_station)
"aTO" = (/obj/structure/disposaloutlet{dir = 4},/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/asteroid,/area/merchant_station)
-"aTP" = (/obj/structure/table/woodentable,/obj/machinery/chemical_dispenser/bar_soft/full,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
+"aTP" = (/obj/structure/table/woodentable,/obj/machinery/chemical_dispenser/bar_soft/full,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
"aTQ" = (/obj/structure/table/woodentable,/obj/item/storage/backpack/cultpack,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
"aTR" = (/obj/structure/table/woodentable,/obj/item/clothing/glasses/monocle,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
"aTS" = (/obj/structure/table/woodentable,/obj/item/storage/backpack,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
"aTT" = (/obj/item/clothing/under/psysuit,/obj/item/clothing/suit/wizrobe/psypurple,/obj/item/clothing/head/wizard/amp,/obj/structure/closet/cabinet/wizcabinet,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
-"aTU" = (/obj/item/clothing/shoes/sandal/marisa{desc = "A set of fancy shoes that are as functional as they are comfortable."; name = "Gentlemans Shoes"},/obj/item/clothing/under/gentlesuit,/obj/item/clothing/suit/wizrobe/gentlecoat,/obj/item/clothing/head/wizard/cap,/obj/item/staff/gentcane,/obj/structure/closet/cabinet/wizcabinet,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
+"aTU" = (/obj/item/clothing/shoes/sandal/marisa{name = "Gentlemans Shoes"; desc = "A set of fancy shoes that are as functional as they are comfortable."},/obj/item/clothing/under/gentlesuit,/obj/item/clothing/suit/wizrobe/gentlecoat,/obj/item/clothing/head/wizard/cap,/obj/item/staff/gentcane,/obj/structure/closet/cabinet/wizcabinet,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
"aTV" = (/obj/item/clothing/suit/wizrobe/magusred,/obj/item/clothing/head/wizard/magus,/obj/item/staff,/obj/structure/closet/cabinet/wizcabinet,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
"aTW" = (/obj/effect/floor_decal/corner/green/three_quarters,/turf/simulated/floor/tiled,/area/shuttle/merchant/home)
"aTX" = (/obj/effect/floor_decal/corner/brown/three_quarters{dir = 4},/turf/simulated/floor/tiled,/area/shuttle/merchant/home)
"aTY" = (/obj/structure/extinguisher_cabinet{pixel_x = -26},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/merchant_station)
"aTZ" = (/obj/machinery/disposal,/obj/machinery/light/small{dir = 8},/obj/structure/disposalpipe/trunk{dir = 4},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/tiled,/area/merchant_station)
-"aUa" = (/obj/structure/disposalpipe/junction{dir = 1; icon_state = "pipe-j2"},/turf/simulated/floor/tiled,/area/merchant_station)
+"aUa" = (/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 1},/turf/simulated/floor/tiled,/area/merchant_station)
"aUb" = (/obj/structure/table/rack,/obj/item/storage/bag/cash,/turf/simulated/floor/tiled,/area/merchant_station)
"aUc" = (/turf/simulated/wall,/area/merchant_station)
"aUd" = (/obj/machinery/door/window/brigdoor/northleft{req_access = list(201)},/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/dark,/area/shuttle/merchant/home)
-"aUe" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8; health = 1e+006},/obj/structure/table/reinforced,/turf/simulated/floor/tiled/dark,/area/shuttle/merchant/home)
+"aUe" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8; health = 1e+06},/obj/structure/table/reinforced,/turf/simulated/floor/tiled/dark,/area/shuttle/merchant/home)
"aUf" = (/obj/machinery/door/window/brigdoor/northleft{req_access = list(201)},/obj/structure/table/reinforced,/obj/item/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/pen,/obj/structure/closet/walllocker/emerglocker/east,/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled/dark,/area/shuttle/merchant/home)
"aUg" = (/obj/structure/fireaxecabinet{pixel_x = -32},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/merchant_station)
"aUh" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/merchant_station)
"aUi" = (/obj/structure/filingcabinet,/turf/simulated/floor/tiled,/area/merchant_station)
"aUj" = (/obj/structure/table/steel,/obj/item/card/id/merchant,/turf/simulated/floor/tiled,/area/merchant_station)
"aUk" = (/obj/structure/table/steel,/obj/item/spacecash/bundle/c1000,/obj/item/spacecash/bundle/c1000,/obj/item/spacecash/bundle/c1000,/obj/item/spacecash/bundle/c1000,/obj/item/spacecash/bundle/c1000,/obj/item/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/pen,/obj/item/clipboard,/turf/simulated/floor/tiled,/area/merchant_station)
-"aUl" = (/obj/structure/bed/chair/wood/wings{dir = 4; icon_state = "wooden_chair_wings"},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"aUm" = (/obj/structure/table/woodentable,/obj/item/dice/d20,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"aUn" = (/obj/structure/table/woodentable,/obj/item/storage/box/cups,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"aUo" = (/obj/structure/bed/chair/wood/wings{dir = 8; icon_state = "wooden_chair_wings"},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"aUp" = (/obj/item/target,/turf/unsimulated/floor{icon_state = "cult"; name = "plating"},/area/wizard_station)
-"aUq" = (/obj/item/target/syndicate,/turf/unsimulated/floor{icon_state = "cult"; name = "plating"},/area/wizard_station)
-"aUr" = (/obj/item/target/alien,/turf/unsimulated/floor{icon_state = "cult"; name = "plating"},/area/wizard_station)
+"aUl" = (/obj/structure/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 4},/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"aUm" = (/obj/structure/table/woodentable,/obj/item/dice/d20,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"aUn" = (/obj/structure/table/woodentable,/obj/item/storage/box/cups,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"aUo" = (/obj/structure/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 8},/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"aUp" = (/obj/item/target,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/wizard_station)
+"aUq" = (/obj/item/target/syndicate,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/wizard_station)
+"aUr" = (/obj/item/target/alien,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/wizard_station)
"aUt" = (/obj/structure/table/rack,/obj/item/material/knife/ritual,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station)
"aUu" = (/obj/structure/kitchenspike,/obj/structure/table/marble,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station)
"aUv" = (/obj/structure/closet/secure_closet{name = "merchant's locker"; req_access = list(201)},/obj/effect/floor_decal/corner/brown{dir = 6},/turf/simulated/floor/tiled/dark,/area/shuttle/merchant/home)
"aUw" = (/turf/simulated/floor/tiled/dark,/area/shuttle/merchant/home)
-"aUx" = (/obj/structure/window/reinforced{dir = 8; health = 1e+006},/obj/structure/table/reinforced,/obj/structure/flora/pottedplant/shoot{pixel_y = 7},/turf/simulated/floor/tiled/dark,/area/shuttle/merchant/home)
-"aUy" = (/obj/machinery/embedded_controller/radio/airlock/docking_port{id_tag = "merchant_ship_dock"; pixel_x = -32; pixel_y = 32; tag_airpump = "merchant_ship_vent"; tag_chamber_sensor = "merchant_ship_sensor"; tag_exterior_door = "merchant_ship_exterior"; tag_interior_door = "merchant_ship_interior"},/obj/structure/bed/chair/office/dark{dir = 1},/turf/simulated/floor/tiled/dark,/area/shuttle/merchant/home)
+"aUx" = (/obj/structure/window/reinforced{dir = 8; health = 1e+06},/obj/structure/table/reinforced,/obj/structure/flora/pottedplant/shoot{pixel_y = 7},/turf/simulated/floor/tiled/dark,/area/shuttle/merchant/home)
+"aUy" = (/obj/machinery/embedded_controller/radio/airlock/docking_port{pixel_x = -32; pixel_y = 32; id_tag = "merchant_ship_dock"; tag_exterior_door = "merchant_ship_exterior"; tag_interior_door = "merchant_ship_interior"; tag_airpump = "merchant_ship_vent"; tag_chamber_sensor = "merchant_ship_sensor"},/obj/structure/bed/chair/office/dark{dir = 1},/turf/simulated/floor/tiled/dark,/area/shuttle/merchant/home)
"aUz" = (/obj/machinery/vending/boozeomat{req_access = list()},/turf/simulated/floor/trim/wood,/area/merchant_station)
-"aUA" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/multi_tile/glass{dir = 2; name = "Warehouse"},/turf/simulated/floor/tiled,/area/merchant_station)
+"aUA" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/multi_tile/glass{name = "Warehouse"; dir = 2},/turf/simulated/floor/tiled,/area/merchant_station)
"aUB" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/merchant_station)
"aUC" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/tiled,/area/merchant_station)
"aUD" = (/obj/structure/bed/chair/office/dark{dir = 4},/turf/simulated/floor/tiled,/area/merchant_station)
"aUE" = (/obj/item/modular_computer/console/preset/merchant,/obj/machinery/light/small{dir = 4; pixel_y = 8},/turf/simulated/floor/tiled,/area/merchant_station)
-"aUF" = (/obj/structure/table/woodentable,/obj/structure/table/woodentable,/obj/item/reagent_containers/food/milosoup,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"aUG" = (/obj/structure/table/woodentable,/obj/item/dice,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"aUH" = (/turf/unsimulated/floor{icon_state = "cult"; name = "plating"},/area/wizard_station)
+"aUF" = (/obj/structure/table/woodentable,/obj/structure/table/woodentable,/obj/item/reagent_containers/food/milosoup,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"aUG" = (/obj/structure/table/woodentable,/obj/item/dice,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"aUH" = (/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/wizard_station)
"aUJ" = (/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station)
-"aUK" = (/obj/machinery/door/airlock/centcom{name = "EVA"; opacity = 1; req_access = list(103)},/obj/machinery/door/blast/regular/singulo{density = 0; dir = 2; icon_state = "pdoor0"; id = "standardrescue"; name = "EVA"; opacity = 0},/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/rescue_base/base)
+"aUK" = (/obj/machinery/door/airlock/centcom{name = "EVA"; opacity = 1; req_access = list(103)},/obj/machinery/door/blast/regular/singulo{name = "EVA"; icon_state = "pdoor0"; opacity = 0; density = 0; dir = 2; id = "standardrescue"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
"aUL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/decal/cleanable/dirt,/obj/machinery/door/firedoor,/turf/simulated/floor/tiled,/area/merchant_station)
"aUM" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/machinery/door/firedoor,/turf/simulated/floor/tiled,/area/merchant_station)
-"aUN" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/obj/machinery/button/remote/blast_door{id = "merchantbase"; pixel_x = -26},/turf/simulated/floor/tiled,/area/merchant_station)
+"aUN" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/obj/machinery/button/remote/blast_door{pixel_x = -26; id = "merchantbase"},/turf/simulated/floor/tiled,/area/merchant_station)
"aUO" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/extinguisher_cabinet{pixel_y = -28},/turf/simulated/floor/tiled,/area/merchant_station)
"aUP" = (/obj/machinery/merchant_pad,/obj/effect/floor_decal/industrial/hatch/red,/turf/simulated/floor/tiled/dark,/area/merchant_station)
-"aUQ" = (/obj/structure/table/woodentable,/obj/item/device/megaphone,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"aUR" = (/obj/structure/table/woodentable,/obj/item/storage/box/donut,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
+"aUQ" = (/obj/structure/table/woodentable,/obj/item/device/megaphone,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"aUR" = (/obj/structure/table/woodentable,/obj/item/storage/box/donut,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
"aUS" = (/obj/structure/table/reinforced,/obj/item/device/eftpos,/obj/effect/floor_decal/corner/brown{dir = 9},/turf/simulated/floor/tiled/dark,/area/shuttle/merchant/home)
"aUT" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/merchant_station)
"aUU" = (/obj/effect/floor_decal/industrial/loading{dir = 8},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/merchant_station)
"aUV" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/merchant_station)
-"aUW" = (/obj/machinery/door/firedoor,/obj/machinery/door/blast/shutters{dir = 8; id = "merchantbase"; name = "Merchant Loading Shutters"},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled,/area/merchant_station)
+"aUW" = (/obj/machinery/door/firedoor,/obj/machinery/door/blast/shutters{name = "Merchant Loading Shutters"; dir = 8; id = "merchantbase"},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled,/area/merchant_station)
"aUX" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/light/small{dir = 4; pixel_y = 8},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/merchant_station)
"aUY" = (/obj/machinery/door/window/southleft,/obj/machinery/light/small{dir = 8},/obj/effect/floor_decal/industrial/warning,/obj/machinery/conveyor_switch{id = "merchantbelt2"},/turf/simulated/floor/tiled,/area/merchant_station)
"aUZ" = (/obj/machinery/door/window/southright,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/merchant_station)
-"aVa" = (/obj/structure/table/woodentable,/obj/item/reagent_containers/food/chawanmushi,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"aVb" = (/obj/structure/table/woodentable,/obj/item/spacecash/bundle/c1,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"aVd" = (/obj/item/robot_parts/head,/obj/structure/table/glass,/turf/unsimulated/floor{icon_state = "cult"; name = "plating"},/area/wizard_station)
-"aVe" = (/obj/item/device/radio/intercom/syndicate{dir = 8; pixel_x = 22},/turf/unsimulated/floor{icon_state = "cult"; name = "plating"},/area/wizard_station)
+"aVa" = (/obj/structure/table/woodentable,/obj/item/reagent_containers/food/chawanmushi,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"aVb" = (/obj/structure/table/woodentable,/obj/item/spacecash/bundle/c1,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"aVd" = (/obj/item/robot_parts/head,/obj/structure/table/glass,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/wizard_station)
+"aVe" = (/obj/item/device/radio/intercom/syndicate{dir = 8; pixel_x = 22},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/wizard_station)
"aVh" = (/obj/effect/floor_decal/industrial/loading{dir = 8},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/merchant_station)
-"aVi" = (/obj/machinery/door/firedoor,/obj/machinery/door/blast/shutters{dir = 8; id = "merchantbase"; name = "Merchant Loading Shutters"},/obj/effect/decal/cleanable/dirt,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled,/area/merchant_station)
+"aVi" = (/obj/machinery/door/firedoor,/obj/machinery/door/blast/shutters{name = "Merchant Loading Shutters"; dir = 8; id = "merchantbase"},/obj/effect/decal/cleanable/dirt,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled,/area/merchant_station)
"aVj" = (/obj/machinery/conveyor{dir = 8; id = "merchantbelt2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/merchant_station)
"aVk" = (/obj/machinery/conveyor{dir = 8; id = "merchantbelt2"},/turf/simulated/floor/plating,/area/merchant_station)
"aVl" = (/obj/machinery/conveyor{dir = 8; id = "merchantbelt1"},/turf/simulated/floor/plating,/area/merchant_station)
-"aVm" = (/obj/structure/cable/blue{d2 = 4; icon_state = "0-4"},/obj/machinery/power/solar,/turf/simulated/floor/plating/airless,/area/merchant_station)
-"aVn" = (/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating/airless,/area/merchant_station)
-"aVo" = (/obj/structure/cable/blue{d2 = 8; icon_state = "0-8"},/obj/machinery/power/solar,/turf/simulated/floor/plating/airless,/area/merchant_station)
+"aVm" = (/obj/structure/cable/blue{icon_state = "0-4"; d2 = 4},/obj/machinery/power/solar,/turf/simulated/floor/plating/airless,/area/merchant_station)
+"aVn" = (/obj/structure/cable/blue{icon_state = "2-8"; d2 = 8; d1 = 2},/obj/structure/cable/blue{icon_state = "2-4"; d2 = 4; d1 = 2},/turf/simulated/floor/plating/airless,/area/merchant_station)
+"aVo" = (/obj/structure/cable/blue{icon_state = "0-8"; d2 = 8},/obj/machinery/power/solar,/turf/simulated/floor/plating/airless,/area/merchant_station)
"aVp" = (/obj/structure/flora/pottedplant/tropical,/obj/machinery/vending/wallmed1{pixel_x = 7; pixel_y = 32},/obj/structure/extinguisher_cabinet{pixel_x = -7; pixel_y = 32},/obj/item/storage/secure/safe{pixel_x = -26},/obj/machinery/light{dir = 1},/turf/simulated/floor/trim/wood,/area/shuttle/merchant/home)
"aVq" = (/turf/simulated/floor/trim/wood,/area/shuttle/merchant/home)
"aVs" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/merchant_station)
"aVt" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/light/small{dir = 4; pixel_y = 8},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/merchant_station)
"aVu" = (/obj/effect/decal/cleanable/ash,/obj/machinery/conveyor{dir = 1; id = "merchantbelt1"},/turf/simulated/floor/plating,/area/merchant_station)
-"aVz" = (/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/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/airless,/area/merchant_station)
+"aVz" = (/obj/structure/cable/blue{icon_state = "2-8"; d2 = 8; d1 = 2},/obj/structure/cable/blue{icon_state = "2-4"; d2 = 4; d1 = 2},/obj/structure/cable/blue{icon_state = "1-2"; d2 = 2; d1 = 1},/turf/simulated/floor/plating/airless,/area/merchant_station)
"aVA" = (/turf/simulated/floor/trim/carpet/blue,/area/shuttle/merchant/home)
"aVB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small{dir = 8},/obj/machinery/door/firedoor,/turf/simulated/floor/tiled,/area/merchant_station)
"aVC" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/door/firedoor,/turf/simulated/floor/tiled,/area/merchant_station)
-"aVD" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/disposalpipe/segment,/obj/machinery/button/remote/blast_door{id = "merchantbase"; pixel_x = -26},/turf/simulated/floor/tiled,/area/merchant_station)
+"aVD" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/disposalpipe/segment,/obj/machinery/button/remote/blast_door{pixel_x = -26; id = "merchantbase"},/turf/simulated/floor/tiled,/area/merchant_station)
"aVE" = (/obj/structure/table/rack,/obj/item/stack/material/glass/reinforced{amount = 50},/obj/item/stack/material/glass/reinforced{amount = 50},/obj/item/stack/material/glass/reinforced{amount = 50},/obj/item/stack/material/glass/reinforced{amount = 50},/turf/simulated/floor/tiled,/area/merchant_station)
"aVF" = (/obj/structure/table/rack,/obj/item/stack/material/plastic{amount = 50},/obj/item/stack/material/plastic{amount = 50},/obj/item/stack/material/plastic{amount = 50},/obj/item/stack/material/plastic{amount = 50},/turf/simulated/floor/tiled,/area/merchant_station)
"aVG" = (/obj/structure/table/rack,/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/steel{amount = 50},/turf/simulated/floor/tiled,/area/merchant_station)
-"aVH" = (/obj/item/remains/human,/obj/effect/floor_decal/industrial/warning/wiz{dir = 9},/turf/unsimulated/floor{icon_state = "lava"; name = "plating"},/area/wizard_station)
-"aVI" = (/obj/effect/floor_decal/industrial/warning/wiz{dir = 10},/turf/unsimulated/floor{icon_state = "lava"; name = "plating"},/area/wizard_station)
+"aVH" = (/obj/item/remains/human,/obj/effect/floor_decal/industrial/warning/wiz{dir = 9},/turf/unsimulated/floor{name = "plating"; icon_state = "lava"},/area/wizard_station)
+"aVI" = (/obj/effect/floor_decal/industrial/warning/wiz{dir = 10},/turf/unsimulated/floor{name = "plating"; icon_state = "lava"},/area/wizard_station)
"aVJ" = (/obj/effect/floor_decal/industrial/warning/wiz,/turf/unsimulated/floor{icon_state = "asteroid"},/area/wizard_station)
"aVK" = (/mob/living/simple_animal/crab{name = "Experiment 68a"},/obj/effect/floor_decal/industrial/warning/wiz{dir = 1},/turf/unsimulated/floor{icon_state = "asteroid"},/area/wizard_station)
-"aVL" = (/obj/effect/floor_decal/industrial/warning/wiz{dir = 9},/turf/unsimulated/floor{icon_state = "grass0"; name = "grass"},/area/wizard_station)
-"aVM" = (/obj/structure/flora/ausbushes/fullgrass,/obj/effect/floor_decal/industrial/warning/wiz{dir = 5},/turf/unsimulated/floor{icon_state = "grass0"; name = "grass"},/area/wizard_station)
+"aVL" = (/obj/effect/floor_decal/industrial/warning/wiz{dir = 9},/turf/unsimulated/floor{name = "grass"; icon_state = "grass0"},/area/wizard_station)
+"aVM" = (/obj/structure/flora/ausbushes/fullgrass,/obj/effect/floor_decal/industrial/warning/wiz{dir = 5},/turf/unsimulated/floor{name = "grass"; icon_state = "grass0"},/area/wizard_station)
"aVN" = (/obj/effect/decal/cleanable/blood,/obj/effect/floor_decal/industrial/warning/wiz{dir = 9},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/wizard_station)
"aVP" = (/obj/structure/bed/chair/comfy/black,/turf/simulated/floor/trim/carpet/blue,/area/shuttle/merchant/home)
-"aVQ" = (/obj/machinery/button/remote/blast_door{id = "merchantshuttle"; name = "Merchant Window Shutters"; pixel_x = 28; req_access = list(201)},/obj/structure/bed/chair/comfy/black,/turf/simulated/floor/trim/carpet/blue,/area/shuttle/merchant/home)
-"aVS" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor/tiled,/area/merchant_station)
+"aVQ" = (/obj/machinery/button/remote/blast_door{name = "Merchant Window Shutters"; pixel_x = 28; id = "merchantshuttle"; req_access = list(201)},/obj/structure/bed/chair/comfy/black,/turf/simulated/floor/trim/carpet/blue,/area/shuttle/merchant/home)
+"aVS" = (/obj/structure/disposalpipe/segment{icon_state = "pipe-c"; dir = 4},/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor/tiled,/area/merchant_station)
"aVT" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/merchant_station)
"aVU" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/merchant_station)
"aVV" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/merchant_station)
-"aVW" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/merchant_station)
+"aVW" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/structure/disposalpipe/segment{icon_state = "pipe-c"; dir = 8},/turf/simulated/floor/tiled,/area/merchant_station)
"aVX" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled,/area/merchant_station)
"aVY" = (/obj/machinery/light/small{dir = 4; pixel_y = 8},/obj/effect/decal/cleanable/dirt,/obj/machinery/conveyor{dir = 1; id = "merchantbelt1"},/turf/simulated/floor/plating,/area/merchant_station)
-"aVZ" = (/mob/living/simple_animal/hostile/creature{name = "Experiment 35b"},/obj/effect/floor_decal/industrial/warning/wiz,/turf/unsimulated/floor{icon_state = "lava"; name = "plating"},/area/wizard_station)
-"aWa" = (/obj/structure/flora/ausbushes/grassybush,/obj/effect/floor_decal/industrial/warning/wiz{dir = 10},/turf/unsimulated/floor{icon_state = "grass0"; name = "grass"},/area/wizard_station)
-"aWb" = (/mob/living/simple_animal/hostile/retaliate/goat{name = "Experiment 97d"},/obj/effect/floor_decal/industrial/warning/wiz,/turf/unsimulated/floor{icon_state = "grass0"; name = "grass"},/area/wizard_station)
+"aVZ" = (/mob/living/simple_animal/hostile/creature{name = "Experiment 35b"},/obj/effect/floor_decal/industrial/warning/wiz,/turf/unsimulated/floor{name = "plating"; icon_state = "lava"},/area/wizard_station)
+"aWa" = (/obj/structure/flora/ausbushes/grassybush,/obj/effect/floor_decal/industrial/warning/wiz{dir = 10},/turf/unsimulated/floor{name = "grass"; icon_state = "grass0"},/area/wizard_station)
+"aWb" = (/mob/living/simple_animal/hostile/retaliate/goat{name = "Experiment 97d"},/obj/effect/floor_decal/industrial/warning/wiz,/turf/unsimulated/floor{name = "grass"; icon_state = "grass0"},/area/wizard_station)
"aWc" = (/obj/item/caution,/obj/effect/floor_decal/industrial/warning/wiz{dir = 10},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/wizard_station)
"aWd" = (/obj/item/material/knife/ritual,/obj/effect/floor_decal/industrial/warning/wiz{dir = 6},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/wizard_station)
"aWh" = (/obj/structure/table/reinforced,/obj/item/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/pen,/turf/simulated/floor/trim/carpet/blue,/area/shuttle/merchant/home)
@@ -2302,19 +2039,19 @@
"aWt" = (/obj/machinery/firealarm{dir = 1; pixel_y = 24},/turf/simulated/wall/r_wall,/area/merchant_station)
"aWu" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/merchant_station)
"aWw" = (/obj/machinery/alarm{dir = 4; pixel_x = -22},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled,/area/merchant_station)
-"aWx" = (/obj/structure/closet,/obj/item/clothing/shoes/sandal,/obj/item/clothing/shoes/sandal,/obj/item/clothing/under/rank/psych/turtleneck{desc = "A turqouise turtleneck and a pair of dark blue slacks."; name = "turtleneck"},/turf/simulated/floor/tiled,/area/merchant_station)
+"aWx" = (/obj/structure/closet,/obj/item/clothing/shoes/sandal,/obj/item/clothing/shoes/sandal,/obj/item/clothing/under/rank/psych/turtleneck{name = "turtleneck"; desc = "A turqouise turtleneck and a pair of dark blue slacks."},/turf/simulated/floor/tiled,/area/merchant_station)
"aWy" = (/obj/structure/table/rack,/obj/item/stack/material/plasteel{amount = 10},/obj/item/stack/material/plasteel{amount = 10},/obj/item/stack/material/plasteel{amount = 10},/obj/item/stack/material/plasteel{amount = 10},/turf/simulated/floor/tiled,/area/merchant_station)
"aWA" = (/obj/structure/lattice,/obj/machinery/light/small,/turf/space,/area/merchant_station)
-"aWC" = (/obj/machinery/autolathe{desc = "Your typical Autolathe. It appears to have much more options than your regular one, however..."; hacked = 1; name = "Unlocked Autolathe"},/turf/simulated/floor/tiled,/area/merchant_station)
+"aWC" = (/obj/machinery/autolathe{name = "Unlocked Autolathe"; desc = "Your typical Autolathe. It appears to have much more options than your regular one, however..."; hacked = 1},/turf/simulated/floor/tiled,/area/merchant_station)
"aWD" = (/obj/machinery/constructable_frame/machine_frame,/obj/machinery/light/small{dir = 1},/obj/machinery/firealarm{dir = 1; pixel_y = 24},/turf/simulated/floor/tiled,/area/merchant_station)
-"aWE" = (/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/random/powercell,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_y = 24; req_access = list(201)},/obj/structure/cable{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/tiled,/area/merchant_station)
+"aWE" = (/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/random/powercell,/obj/machinery/power/apc{name = "north bump"; dir = 1; pixel_y = 24; req_access = list(201)},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/tiled,/area/merchant_station)
"aWF" = (/obj/machinery/suit_storage_unit/standard_unit{req_access = list(201)},/turf/simulated/floor/tiled,/area/merchant_station)
"aWG" = (/obj/structure/extinguisher_cabinet{pixel_x = -26},/obj/structure/flora/pottedplant/minitree,/turf/simulated/floor/tiled,/area/merchant_station)
"aWH" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/merchant_station)
"aWI" = (/obj/machinery/vending/cola{name = "hacked Robust Softdrinks"; prices = list()},/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/merchant_station)
"aWJ" = (/obj/structure/table/rack,/obj/item/stack/material/wood/fifty,/obj/item/stack/material/wood/fifty,/obj/item/stack/material/wood/fifty,/obj/item/stack/material/wood/fifty,/turf/simulated/floor/tiled,/area/merchant_station)
-"aWN" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled,/area/merchant_station)
-"aWO" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/merchant_station)
+"aWN" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/structure/cable{icon_state = "2-4"; d2 = 4; d1 = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled,/area/merchant_station)
+"aWO" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/structure/cable{icon_state = "1-8"; d2 = 8; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/merchant_station)
"aWP" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/tiled,/area/merchant_station)
"aWQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock/maintenance{name = "Maintenance"; req_access = list(201)},/obj/machinery/door/firedoor,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/merchant_station)
"aWR" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/merchant_station)
@@ -2328,11 +2065,11 @@
"aXa" = (/obj/structure/table/rack,/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/turf/simulated/floor/tiled,/area/merchant_station)
"aXb" = (/obj/structure/table/rack,/obj/item/stack/rods{amount = 50},/obj/item/stack/rods{amount = 50},/obj/item/stack/rods{amount = 50},/obj/item/stack/rods{amount = 50},/turf/simulated/floor/plating,/area/merchant_station)
"aXc" = (/obj/structure/closet,/obj/item/clothing/shoes/laceup,/obj/item/clothing/under/vox/vox_casual,/turf/simulated/floor/plating,/area/merchant_station)
-"aXd" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating/airless,/area/merchant_station)
+"aXd" = (/obj/structure/cable/blue{icon_state = "1-2"; d2 = 2; d1 = 1},/turf/simulated/floor/plating/airless,/area/merchant_station)
"aXe" = (/obj/structure/closet/crate,/obj/machinery/light/small{dir = 8},/obj/item/stack/material/glass{amount = 15},/obj/item/stack/material/plastic{amount = 10},/obj/item/stack/material/steel{amount = 10},/obj/item/device/floor_painter,/turf/simulated/floor/plating,/area/merchant_station)
"aXf" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/tiled,/area/merchant_station)
"aXh" = (/obj/structure/table/steel,/obj/item/storage/box/lights/mixed,/obj/item/reagent_containers/spray/cleaner,/turf/simulated/floor/plating,/area/merchant_station)
-"aXi" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled,/area/merchant_station)
+"aXi" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled,/area/merchant_station)
"aXj" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/merchant_station)
"aXk" = (/obj/machinery/atmospherics/pipe/simple/visible/universal,/obj/machinery/alarm{dir = 8; pixel_x = 25; req_one_access = list(201)},/turf/simulated/floor/tiled,/area/merchant_station)
"aXl" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/merchant_station)
@@ -2343,20 +2080,20 @@
"aXq" = (/obj/structure/closet/crate,/turf/simulated/floor/plating,/area/merchant_station)
"aXr" = (/obj/random/trash,/turf/simulated/floor/plating,/area/merchant_station)
"aXs" = (/obj/structure/table/rack,/obj/random/medical,/turf/simulated/floor/tiled,/area/merchant_station)
-"aXt" = (/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating/airless,/area/merchant_station)
-"aXu" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating/airless,/area/merchant_station)
-"aXv" = (/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/plating/airless,/area/merchant_station)
+"aXt" = (/obj/structure/cable/blue{icon_state = "1-4"; d2 = 4; d1 = 1},/turf/simulated/floor/plating/airless,/area/merchant_station)
+"aXu" = (/obj/structure/cable/blue{icon_state = "4-8"; d2 = 8; d1 = 4},/turf/simulated/floor/plating/airless,/area/merchant_station)
+"aXv" = (/obj/structure/cable/blue{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/structure/cable/blue{icon_state = "2-8"; d2 = 8; d1 = 2},/turf/simulated/floor/plating/airless,/area/merchant_station)
"aXw" = (/obj/structure/table/woodentable,/obj/item/material/ashtray/bronze,/obj/item/clothing/mask/smokable/cigarette/cigar/havana,/turf/simulated/floor/tiled,/area/merchant_station)
-"aXx" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable/blue{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/tiled,/area/merchant_station)
-"aXy" = (/obj/structure/cable{d2 = 4; icon_state = "0-4"},/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/power/smes/buildable{RCon_tag = null; charge = 2.5e+006; input_attempt = 1; input_level = 250000; output_attempt = 1; output_level = 250000},/turf/simulated/floor/plating,/area/merchant_station)
-"aXz" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/merchant_station)
-"aXA" = (/obj/structure/extinguisher_cabinet{pixel_y = 28},/obj/machinery/light/small{dir = 1},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/merchant_station)
+"aXx" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable/blue{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/tiled,/area/merchant_station)
+"aXy" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/power/smes/buildable{charge = 2.5e+06; input_attempt = 1; input_level = 250000; output_attempt = 1; output_level = 250000; RCon_tag = null},/turf/simulated/floor/plating,/area/merchant_station)
+"aXz" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/merchant_station)
+"aXA" = (/obj/structure/extinguisher_cabinet{pixel_y = 28},/obj/machinery/light/small{dir = 1},/obj/structure/cable{icon_state = "2-8"; d2 = 8; d1 = 2},/turf/simulated/floor/tiled,/area/merchant_station)
"aXB" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/plating,/area/merchant_station)
-"aXC" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled,/area/merchant_station)
-"aXD" = (/obj/random/trash,/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/plating,/area/merchant_station)
-"aXE" = (/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/plating,/area/merchant_station)
-"aXF" = (/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,/area/merchant_station)
-"aXG" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled,/area/merchant_station)
+"aXC" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{icon_state = "2-4"; d2 = 4; d1 = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled,/area/merchant_station)
+"aXD" = (/obj/random/trash,/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/merchant_station)
+"aXE" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/merchant_station)
+"aXF" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/merchant_station)
+"aXG" = (/obj/structure/cable{icon_state = "1-8"; d2 = 8; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled,/area/merchant_station)
"aXH" = (/obj/machinery/atmospherics/pipe/simple/visible/universal,/turf/simulated/floor/tiled,/area/merchant_station)
"aXI" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor/plating,/area/merchant_station)
"aXJ" = (/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/plating,/area/merchant_station)
@@ -2366,49 +2103,48 @@
"aXN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/freezer,/area/merchant_station)
"aXO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock{name = "Toilet"},/obj/machinery/door/firedoor,/turf/simulated/floor/tiled,/area/merchant_station)
"aXP" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/merchant_station)
-"aXR" = (/obj/machinery/power/tracker,/obj/structure/cable/blue{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating/airless,/area/merchant_station)
-"aXS" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating/airless,/area/merchant_station)
-"aXU" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/machinery/power/solar_control/autostart,/obj/structure/cable/blue{d2 = 8; icon_state = "0-8"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled,/area/merchant_station)
-"aXV" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/bed/chair/comfy/black{dir = 8},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/floor/tiled,/area/merchant_station)
-"aXW" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/effect/decal/cleanable/dirt,/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/merchant_station)
+"aXR" = (/obj/machinery/power/tracker,/obj/structure/cable/blue{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless,/area/merchant_station)
+"aXS" = (/obj/structure/cable/blue{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/structure/cable/blue{icon_state = "2-4"; d2 = 4; d1 = 2},/obj/structure/cable/blue{icon_state = "1-4"; d2 = 4; d1 = 1},/turf/simulated/floor/plating/airless,/area/merchant_station)
+"aXU" = (/obj/structure/cable/blue{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/machinery/power/solar_control/autostart,/obj/structure/cable/blue{icon_state = "0-8"; d2 = 8},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled,/area/merchant_station)
+"aXV" = (/obj/structure/cable/blue{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/structure/bed/chair/comfy/black{dir = 8},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/floor/tiled,/area/merchant_station)
+"aXW" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/effect/decal/cleanable/dirt,/obj/structure/cable/blue{icon_state = "1-8"; d2 = 8; d1 = 1},/obj/structure/cable/blue{icon_state = "2-8"; d2 = 8; d1 = 2},/turf/simulated/floor/tiled,/area/merchant_station)
"aXX" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/merchant_station)
-"aXY" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/merchant_station)
-"aXZ" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/merchant_station)
-"aYa" = (/obj/machinery/door/airlock/maintenance{name = "Solar Array"; req_access = list(201)},/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/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,/area/merchant_station)
-"aYb" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/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,/area/merchant_station)
-"aYc" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/effect/decal/cleanable/dirt,/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,/area/merchant_station)
-"aYd" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled,/area/merchant_station)
+"aXY" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/effect/decal/cleanable/dirt,/obj/structure/cable{icon_state = "1-4"; d2 = 4; d1 = 1},/obj/structure/cable{icon_state = "2-4"; d2 = 4; d1 = 2},/turf/simulated/floor/plating,/area/merchant_station)
+"aXZ" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/turf/simulated/floor/plating,/area/merchant_station)
+"aYa" = (/obj/machinery/door/airlock/maintenance{name = "Solar Array"; req_access = list(201)},/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/merchant_station)
+"aYb" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/merchant_station)
+"aYc" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/effect/decal/cleanable/dirt,/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/merchant_station)
+"aYd" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/effect/decal/cleanable/dirt,/obj/structure/cable{icon_state = "1-8"; d2 = 8; d1 = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled,/area/merchant_station)
"aYe" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 1},/obj/machinery/meter,/turf/simulated/floor/tiled,/area/merchant_station)
-"aYf" = (/obj/machinery/atmospherics/omni/filter{active_power_usage = 2500; tag_east = 1; tag_south = 4; tag_west = 2},/turf/simulated/floor/plating,/area/merchant_station)
+"aYf" = (/obj/machinery/atmospherics/omni/filter{tag_south = 4; tag_east = 1; tag_west = 2; active_power_usage = 2500},/turf/simulated/floor/plating,/area/merchant_station)
"aYg" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/floor/tiled,/area/merchant_station)
-"aYh" = (/obj/machinery/atmospherics/omni/filter{tag_east = 1; tag_south = 3; tag_west = 2},/turf/simulated/floor/tiled,/area/merchant_station)
+"aYh" = (/obj/machinery/atmospherics/omni/filter{tag_south = 3; tag_east = 1; tag_west = 2},/turf/simulated/floor/tiled,/area/merchant_station)
"aYi" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/visible/red{dir = 9},/turf/simulated/floor/plating,/area/merchant_station)
"aYj" = (/obj/machinery/atmospherics/binary/passive_gate/on{dir = 1},/turf/simulated/floor/plating,/area/merchant_station)
"aYk" = (/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/machinery/light/small{dir = 4; pixel_y = 8},/obj/item/tank/emergency/oxygen/double,/turf/simulated/floor/plating,/area/merchant_station)
-"aYl" = (/obj/machinery/shower{dir = 4; pixel_x = 5},/obj/structure/curtain/open/shower,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/machinery/door/window,/turf/simulated/floor/tiled/freezer,/area/merchant_station)
+"aYl" = (/obj/machinery/shower{dir = 4; pixel_x = 5},/obj/structure/curtain/open/shower,/obj/structure/window/reinforced{dir = 1; health = 1e+06},/obj/machinery/door/window,/turf/simulated/floor/tiled/freezer,/area/merchant_station)
"aYm" = (/turf/simulated/floor/tiled/freezer,/area/merchant_station)
-"aYn" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/mob/living/simple_animal/tindalos{name = "Eddy"},/turf/simulated/floor/tiled/freezer,/area/merchant_station)
"aYo" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/extinguisher_cabinet{pixel_x = -26},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/junction{dir = 1},/turf/simulated/floor/tiled,/area/merchant_station)
"aYp" = (/obj/effect/decal/cleanable/dirt,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/merchant_station)
"aYq" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/merchant_station)
"aYr" = (/obj/machinery/door/airlock/glass{name = "Restroom"},/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/merchant_station)
"aYs" = (/obj/machinery/firealarm{pixel_y = 26},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/trim/wood,/area/merchant_station)
"aYu" = (/obj/machinery/computer/arcade,/turf/simulated/floor/trim/wood,/area/merchant_station)
-"aYv" = (/obj/structure/table/woodentable,/obj/structure/window/reinforced{dir = 8},/obj/machinery/light{dir = 1},/obj/machinery/chemical_dispenser/bar_coffee/full,/turf/simulated/floor/trim/carpet,/area/merchant_station)
+"aYv" = (/obj/structure/table/woodentable,/obj/structure/window/reinforced{dir = 8},/obj/machinery/light{dir = 1},/turf/simulated/floor/trim/carpet,/area/merchant_station)
"aYw" = (/obj/structure/bed/chair/comfy/brown,/turf/simulated/floor/trim/carpet,/area/merchant_station)
"aYx" = (/obj/structure/table/woodentable,/obj/machinery/chemical_dispenser/bar_soft/full,/turf/simulated/floor/trim/carpet,/area/merchant_station)
-"aYy" = (/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating/airless,/area/merchant_station)
-"aYz" = (/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/plating/airless,/area/merchant_station)
+"aYy" = (/obj/structure/cable/blue{icon_state = "2-4"; d2 = 4; d1 = 2},/turf/simulated/floor/plating/airless,/area/merchant_station)
+"aYz" = (/obj/structure/cable/blue{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/structure/cable/blue{icon_state = "1-8"; d2 = 8; d1 = 1},/turf/simulated/floor/plating/airless,/area/merchant_station)
"aYA" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable/blue,/turf/simulated/floor/plating,/area/merchant_station)
-"aYB" = (/obj/machinery/power/smes/buildable{RCon_tag = null; charge = 2.5e+006; input_attempt = 1; input_level = 250000; output_attempt = 1; output_level = 250000},/obj/effect/floor_decal/industrial/outline/yellow,/obj/structure/cable{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/merchant_station)
-"aYC" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/merchant_station)
-"aYD" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/light/small,/turf/simulated/floor/plating,/area/merchant_station)
+"aYB" = (/obj/machinery/power/smes/buildable{charge = 2.5e+06; input_attempt = 1; input_level = 250000; output_attempt = 1; output_level = 250000; RCon_tag = null},/obj/effect/floor_decal/industrial/outline/yellow,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/merchant_station)
+"aYC" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/turf/simulated/floor/plating,/area/merchant_station)
+"aYD" = (/obj/structure/cable{icon_state = "1-8"; d2 = 8; d1 = 1},/obj/machinery/light/small,/turf/simulated/floor/plating,/area/merchant_station)
"aYE" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/plating,/area/merchant_station)
"aYF" = (/obj/structure/sign/warning/high_voltage,/turf/simulated/wall,/area/merchant_station)
"aYG" = (/obj/machinery/light/small,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled,/area/merchant_station)
"aYH" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/floor/plating,/area/merchant_station)
"aYI" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 5},/turf/simulated/floor/plating,/area/merchant_station)
-"aYJ" = (/obj/machinery/atmospherics/omni/mixer{active_power_usage = 2500; tag_east = 1; tag_east_con = 0.21; tag_south = 2; tag_west = 1; tag_west_con = 0.79},/turf/simulated/floor/plating,/area/merchant_station)
+"aYJ" = (/obj/machinery/atmospherics/omni/mixer{tag_east_con = 0.21; tag_west_con = 0.79; tag_south = 2; tag_east = 1; tag_west = 1; active_power_usage = 2500},/turf/simulated/floor/plating,/area/merchant_station)
"aYK" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 9},/turf/simulated/floor/plating,/area/merchant_station)
"aYL" = (/obj/effect/decal/cleanable/blood/oil,/turf/simulated/floor/plating,/area/merchant_station)
"aYM" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{dir = 8},/obj/machinery/meter,/turf/simulated/floor/plating,/area/merchant_station)
@@ -2433,13 +2169,13 @@
"aZg" = (/obj/machinery/door/airlock{name = "Toilet"},/turf/simulated/floor/tiled/freezer,/area/merchant_station)
"aZh" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/freezer,/area/merchant_station)
"aZi" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/wall,/area/merchant_station)
-"aZj" = (/obj/machinery/door/airlock{id_tag = "Dormitory 1"; name = "Dorm"},/obj/machinery/door/firedoor,/turf/simulated/floor/tiled,/area/merchant_station)
+"aZj" = (/obj/machinery/door/airlock{name = "Dorm"; id_tag = "Dormitory 1"},/obj/machinery/door/firedoor,/turf/simulated/floor/tiled,/area/merchant_station)
"aZk" = (/obj/structure/sign/poster,/turf/simulated/wall,/area/merchant_station)
"aZl" = (/obj/structure/flora/pottedplant/large,/turf/simulated/floor/trim/wood,/area/merchant_station)
"aZm" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/trim/wood,/area/merchant_station)
-"aZn" = (/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/structure/window/reinforced{dir = 4},/obj/machinery/media/jukebox,/turf/simulated/floor/trim/wood,/area/merchant_station)
+"aZn" = (/obj/structure/window/reinforced{dir = 1; health = 1e+06},/obj/structure/window/reinforced{dir = 4},/obj/machinery/media/jukebox,/turf/simulated/floor/trim/wood,/area/merchant_station)
"aZo" = (/obj/structure/bed/chair/comfy/brown{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/trim/carpet,/area/merchant_station)
-"aZp" = (/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/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating/airless,/area/merchant_station)
+"aZp" = (/obj/structure/cable/blue{icon_state = "1-4"; d2 = 4; d1 = 1},/obj/structure/cable/blue{icon_state = "1-8"; d2 = 8; d1 = 1},/obj/structure/cable/blue{icon_state = "1-2"; d2 = 2; d1 = 1},/turf/simulated/floor/plating/airless,/area/merchant_station)
"aZq" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/powered/pump/filled,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/merchant_station)
"aZr" = (/obj/machinery/atmospherics/binary/pump{dir = 8},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/merchant_station)
"aZs" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 9},/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/item/tank/nitrogen,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/merchant_station)
@@ -2450,7 +2186,7 @@
"aZx" = (/obj/machinery/light/small{dir = 4; pixel_y = 8},/obj/machinery/firealarm{dir = 4; pixel_x = 26},/turf/simulated/floor/tiled,/area/merchant_station)
"aZy" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/table/woodentable,/obj/random/action_figure,/turf/simulated/floor/trim/carpet,/area/merchant_station)
"aZz" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/structure/bed,/obj/structure/curtain/open/bed,/obj/item/bedsheet/blue,/turf/simulated/floor/trim/carpet,/area/merchant_station)
-"aZA" = (/obj/structure/holostool,/turf/simulated/floor/trim/wood,/area/merchant_station)
+"aZA" = (/obj/item/stool/padded,/turf/simulated/floor/trim/wood,/area/merchant_station)
"aZB" = (/obj/structure/table/woodentable,/obj/machinery/microwave{pixel_y = 5},/obj/machinery/light{dir = 4},/obj/structure/sign/warning/smoking{pixel_x = 32},/turf/simulated/floor/trim/wood,/area/merchant_station)
"aZC" = (/obj/structure/toilet{dir = 4},/turf/simulated/floor/tiled/freezer,/area/merchant_station)
"aZD" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/freezer,/area/merchant_station)
@@ -2461,24 +2197,24 @@
"aZI" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/trim/carpet,/area/merchant_station)
"aZJ" = (/obj/machinery/light/small{dir = 4; pixel_y = 8},/turf/simulated/floor/trim/carpet,/area/merchant_station)
"aZK" = (/obj/structure/table/woodentable,/obj/item/material/ashtray,/obj/item/clothing/mask/smokable/cigarette/cigar/havana,/obj/machinery/light{dir = 8},/obj/item/music_tape_box/classic,/turf/simulated/floor/trim/wood,/area/merchant_station)
-"aZL" = (/obj/structure/holostool,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/trim/wood,/area/merchant_station)
+"aZL" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/item/stool/padded,/turf/simulated/floor/trim/wood,/area/merchant_station)
"aZM" = (/obj/structure/table/woodentable,/obj/item/storage/box/glasses/pint,/turf/simulated/floor/trim/wood,/area/merchant_station)
"aZN" = (/obj/item/modular_computer/console/preset/civilian,/turf/simulated/floor/trim/wood,/area/merchant_station)
"aZO" = (/obj/structure/table/woodentable,/turf/simulated/floor/trim/carpet/blue,/area/merchant_station)
-"aZP" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"; name = "Wardrobe"},/obj/item/clothing/shoes/black,/obj/item/clothing/under/overalls,/obj/item/clothing/under/skirt,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/trim/carpet/blue,/area/merchant_station)
+"aZP" = (/obj/structure/closet{name = "Wardrobe"; icon_state = "cabinet_closed"; icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"},/obj/item/clothing/shoes/black,/obj/item/clothing/under/overalls,/obj/item/clothing/under/skirt,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/trim/carpet/blue,/area/merchant_station)
"aZQ" = (/obj/machinery/washing_machine,/turf/simulated/floor/tiled,/area/merchant_station)
-"aZR" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"; name = "Wardrobe"},/obj/item/clothing/shoes/leather,/obj/item/clothing/under/blazer,/obj/item/clothing/under/lawyer/black,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/trim/carpet,/area/merchant_station)
+"aZR" = (/obj/structure/closet{name = "Wardrobe"; icon_state = "cabinet_closed"; icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"},/obj/item/clothing/shoes/leather,/obj/item/clothing/under/blazer,/obj/item/clothing/under/lawyer/black,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/trim/carpet,/area/merchant_station)
"aZS" = (/obj/structure/table/woodentable,/obj/random/toy,/turf/simulated/floor/trim/carpet,/area/merchant_station)
"aZT" = (/obj/structure/table/woodentable,/obj/machinery/newscaster{pixel_x = -28},/obj/structure/reagent_dispensers/beerkeg,/turf/simulated/floor/trim/wood,/area/merchant_station)
-"aZU" = (/obj/structure/holostool,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/trim/wood,/area/merchant_station)
+"aZU" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/item/stool/padded,/turf/simulated/floor/trim/wood,/area/merchant_station)
"aZV" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/trim/wood,/area/merchant_station)
"aZW" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/trim/wood,/area/merchant_station)
"aZX" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/trim/wood,/area/merchant_station)
-"aZY" = (/obj/machinery/door/airlock/centcom{name = "Garage"; opacity = 1; req_access = list(103)},/obj/machinery/door/blast/regular/singulo{density = 0; icon_state = "pdoor0"; id = "standardrescue"; name = "Garage"; opacity = 0},/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/rescue_base/base)
+"aZY" = (/obj/machinery/door/airlock/centcom{name = "Garage"; opacity = 1; req_access = list(103)},/obj/machinery/door/blast/regular/singulo{name = "Garage"; icon_state = "pdoor0"; opacity = 0; density = 0; id = "standardrescue"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
"baa" = (/obj/structure/bookcase{name = "bookcase (Adult)"},/turf/simulated/floor/trim/wood,/area/merchant_station)
"bab" = (/obj/structure/bookcase/manuals/engineering,/turf/simulated/floor/trim/wood,/area/merchant_station)
-"bac" = (/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating/airless,/area/merchant_station)
-"bag" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/north,/area/space)
+"bac" = (/obj/structure/cable/blue{icon_state = "1-4"; d2 = 4; d1 = 1},/obj/structure/cable/blue{icon_state = "1-8"; d2 = 8; d1 = 1},/turf/simulated/floor/plating/airless,/area/merchant_station)
+"bag" = (/obj/effect/step_trigger/thrower{name = "thrower_leftnostop"; affect_ghosts = 1},/turf/space/transit/north,/area/space)
"bah" = (/turf/space/transit/east,/area/shuttle/research/transit)
"bai" = (/turf/space/transit/north,/area/shuttle/mining/transit)
"baj" = (/obj/effect/shuttle_landmark/research/internim,/turf/space/transit/east,/area/shuttle/research/transit)
@@ -2486,20 +2222,20 @@
"bal" = (/turf/space/transit/east,/area/shuttle/constructionsite/transit)
"bam" = (/obj/effect/shuttle_landmark/engie/internim,/turf/space/transit/east,/area/shuttle/constructionsite/transit)
"bax" = (/obj/item/wrench,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin)
-"bbb" = (/obj/structure/table/rack,/obj/item/storage/box/shotgun/stunshells,/obj/item/storage/box/shotgun/stunshells,/obj/item/storage/box/shotgun/beanbags,/obj/item/storage/box/shotgun/beanbags,/obj/item/storage/box/shotgun/slugs,/obj/item/storage/box/shotgun/slugs,/obj/item/storage/box/shotgun/shells,/obj/item/storage/box/shotgun/shells,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"bcb" = (/turf/simulated/shuttle/wall/merchant{dir = 6; icon_state = "merchwall"},/area/shuttle/merchant/home)
+"bbb" = (/obj/structure/table/rack,/obj/item/storage/box/shotgun/stunshells,/obj/item/storage/box/shotgun/stunshells,/obj/item/storage/box/shotgun/beanbags,/obj/item/storage/box/shotgun/beanbags,/obj/item/storage/box/shotgun/slugs,/obj/item/storage/box/shotgun/slugs,/obj/item/storage/box/shotgun/shells,/obj/item/storage/box/shotgun/shells,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"bcb" = (/turf/simulated/shuttle/wall/merchant{icon_state = "merchwall"; dir = 6},/area/shuttle/merchant/home)
"bcG" = (/obj/effect/floor_decal/industrial/warning/wiz{dir = 10},/turf/unsimulated/floor{icon_state = "asteroid"},/area/wizard_station)
-"bdb" = (/turf/simulated/shuttle/wall/merchant{dir = 8; icon_state = "merchwall"},/area/shuttle/merchant/home)
-"beb" = (/turf/simulated/shuttle/wall/merchant{dir = 4; icon_state = "merchwall"},/area/shuttle/merchant/home)
-"bfb" = (/turf/simulated/shuttle/wall/merchant{dir = 10; icon_state = "merchwall"},/area/shuttle/merchant/home)
+"bdb" = (/turf/simulated/shuttle/wall/merchant{icon_state = "merchwall"; dir = 8},/area/shuttle/merchant/home)
+"beb" = (/turf/simulated/shuttle/wall/merchant{icon_state = "merchwall"; dir = 4},/area/shuttle/merchant/home)
+"bfb" = (/turf/simulated/shuttle/wall/merchant{icon_state = "merchwall"; dir = 10},/area/shuttle/merchant/home)
"bgb" = (/obj/structure/shuttle/engine/heater{dir = 1},/turf/simulated/shuttle/wall/merchant{icon_state = "merchwall"},/area/shuttle/merchant/home)
"bhb" = (/turf/simulated/shuttle/wall/merchant{icon_state = "merchwall_straight"},/area/shuttle/merchant/home)
"bib" = (/turf/space,/turf/simulated/shuttle/wall/corner/merchant/sw,/area/shuttle/merchant/home)
"bjb" = (/turf/simulated/shuttle/wall/merchant{icon_state = "merchwall15"},/area/shuttle/merchant/home)
"bjn" = (/turf/unsimulated/wall{icon_state = "riveted"},/area/tdome)
-"bjz" = (/obj/structure/window/reinforced/crescent{dir = 8},/obj/structure/table/reinforced,/obj/item/modular_computer/laptop/preset/custom_loadout/advanced,/turf/unsimulated/floor{dir = 5; icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_rough"},/area/centcom/holding)
+"bjz" = (/obj/structure/window/reinforced/crescent{dir = 8},/obj/structure/table/reinforced,/obj/item/modular_computer/laptop/preset/custom_loadout/advanced,/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_rough"; dir = 5},/area/centcom/holding)
"bkb" = (/turf/simulated/shuttle/wall/merchant{icon_state = "merchwall_t"},/area/shuttle/merchant/home)
-"blb" = (/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; icon_state = "shutter0"; id = "merchantshuttle1"; name = "Merchant Window Shutters"; opacity = 0},/obj/structure/window/miningpod,/turf/simulated/floor/plating,/area/shuttle/merchant/home)
+"blb" = (/obj/structure/grille,/obj/machinery/door/blast/shutters{name = "Merchant Window Shutters"; icon_state = "shutter0"; opacity = 0; density = 0; id = "merchantshuttle1"},/obj/structure/window/miningpod,/turf/simulated/floor/plating,/area/shuttle/merchant/home)
"blq" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 4},/area/skipjack_station/base)
"bmb" = (/turf/space,/turf/simulated/shuttle/wall/corner/merchant/se,/area/shuttle/merchant/home)
"bnb" = (/obj/effect/floor_decal/industrial/outline/grey,/obj/structure/largecrate,/obj/random/loot,/obj/effect/floor_decal/corner/green/three_quarters,/obj/random/loot,/turf/simulated/floor/tiled/dark,/area/merchant_station)
@@ -2512,42 +2248,42 @@
"brb" = (/obj/structure/closet/crate,/obj/effect/floor_decal/industrial/outline/grey,/obj/random/loot,/obj/random/loot,/obj/random/contraband,/turf/simulated/floor/tiled/dark,/area/merchant_station)
"bsb" = (/obj/structure/closet/crate,/obj/machinery/door/window/brigdoor/westright/merchant{req_access = list(201)},/turf/simulated/floor/tiled/dark,/area/shuttle/merchant/home)
"bsd" = (/turf/unsimulated/wall{icon_state = "riveted_c"; dir = 4},/area/tdome)
-"bsj" = (/obj/effect/floor_decal/corner/grey{dir = 6},/obj/effect/floor_decal/corner/grey{dir = 9},/turf/unsimulated/floor{dir = 5; icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_rough"},/area/centcom/holding)
-"bsC" = (/obj/structure/window/reinforced/crescent{dir = 8},/obj/structure/table/reinforced,/obj/item/device/camera,/turf/unsimulated/floor{dir = 5; icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_rough"},/area/centcom/holding)
-"btb" = (/turf/simulated/shuttle/wall/merchant{dir = 4; icon_state = "merchwall_t"},/area/shuttle/merchant/home)
+"bsj" = (/obj/effect/floor_decal/corner/grey{dir = 6},/obj/effect/floor_decal/corner/grey{dir = 9},/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_rough"; dir = 5},/area/centcom/holding)
+"bsC" = (/obj/structure/window/reinforced/crescent{dir = 8},/obj/structure/table/reinforced,/obj/item/device/camera,/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_rough"; dir = 5},/area/centcom/holding)
+"btb" = (/turf/simulated/shuttle/wall/merchant{icon_state = "merchwall_t"; dir = 4},/area/shuttle/merchant/home)
"btZ" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 8},/area/thunderfield)
"bub" = (/obj/structure/table/rack,/obj/random/contraband,/obj/random/loot,/obj/effect/floor_decal/industrial/outline/grey,/obj/effect/decal/cleanable/dirt,/obj/item/cane/concealed,/turf/simulated/floor/tiled/dark,/area/merchant_station)
"buF" = (/turf/unsimulated/wall{icon_state = "riveted_l"},/area/centcom/control)
"bvb" = (/obj/structure/closet/crate,/obj/effect/floor_decal/industrial/outline/grey,/obj/random/loot,/obj/random/loot,/turf/simulated/floor/tiled/dark,/area/merchant_station)
-"bwb" = (/turf/simulated/shuttle/wall/merchant{dir = 8; icon_state = "merchwall_t"},/area/shuttle/merchant/home)
-"bxb" = (/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "merchantshuttle"; name = "Merchant Window Shutters"; opacity = 0},/obj/structure/window/miningpod,/turf/simulated/floor/plating,/area/shuttle/merchant/home)
+"bwb" = (/turf/simulated/shuttle/wall/merchant{icon_state = "merchwall_t"; dir = 8},/area/shuttle/merchant/home)
+"bxb" = (/obj/structure/grille,/obj/machinery/door/blast/shutters{name = "Merchant Window Shutters"; icon_state = "shutter0"; opacity = 0; density = 0; dir = 8; id = "merchantshuttle"},/obj/structure/window/miningpod,/turf/simulated/floor/plating,/area/shuttle/merchant/home)
"bxE" = (/turf/simulated/shuttle/wall{icon_state = "syndiwall_c"; dir = 8},/area/shuttle/escape/centcom)
-"bxU" = (/obj/item/stool/padded,/turf/unsimulated/floor{dir = 5; icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_rough"},/area/centcom/holding)
-"byb" = (/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "merchantshuttle"; name = "Merchant Window Shutters"; opacity = 0},/obj/structure/window/miningpod,/turf/simulated/floor/plating,/area/shuttle/merchant/home)
+"bxU" = (/obj/item/stool/padded,/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_rough"; dir = 5},/area/centcom/holding)
+"byb" = (/obj/structure/grille,/obj/machinery/door/blast/shutters{name = "Merchant Window Shutters"; icon_state = "shutter0"; opacity = 0; density = 0; dir = 4; id = "merchantshuttle"},/obj/structure/window/miningpod,/turf/simulated/floor/plating,/area/shuttle/merchant/home)
"byD" = (/obj/effect/floor_decal/spline/fancy/wood{dir = 1},/turf/unsimulated/floor{icon_state = "asteroid"},/area/thunderfield)
"byW" = (/obj/structure/table/woodentable{dir = 5},/obj/item/material/ashtray/bronze{pixel_x = -1; pixel_y = 1},/obj/item/reagent_containers/rag,/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/holding)
"bzb" = (/obj/structure/table/steel,/obj/item/cell/super/empty,/obj/item/cell/hyper/empty,/turf/simulated/floor/tiled,/area/merchant_station)
-"bzR" = (/obj/effect/floor_decal/corner/red{dir = 9},/obj/structure/table/reinforced,/obj/item/tape_roll,/turf/unsimulated/floor{dir = 5; icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_rough"},/area/centcom/holding)
+"bzR" = (/obj/effect/floor_decal/corner/red{dir = 9},/obj/structure/table/reinforced,/obj/item/tape_roll,/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_rough"; dir = 5},/area/centcom/holding)
"bAb" = (/obj/structure/table/rack,/obj/random/loot,/obj/structure/disposalpipe/segment{dir = 4},/obj/item/device/radio/intercom{pixel_y = 22},/turf/simulated/floor/tiled,/area/merchant_station)
"bBb" = (/obj/structure/closet/crate,/obj/machinery/light{dir = 1},/obj/effect/decal/cleanable/dirt,/obj/random/loot,/obj/random/loot,/obj/structure/disposalpipe/segment{dir = 4},/obj/random/loot,/turf/simulated/floor/tiled,/area/merchant_station)
"bCb" = (/obj/structure/table/reinforced,/obj/random/loot,/obj/effect/floor_decal/corner/brown{dir = 9},/obj/machinery/recharger,/obj/item/device/radio/intercom{dir = 8; pixel_x = 22},/turf/simulated/floor/tiled/dark,/area/shuttle/merchant/home)
-"bCe" = (/turf/simulated/shuttle/wall/syndi{dir = 8; icon_state = "syndiwall_d"},/area/shuttle/syndicate_elite/mothership)
+"bCe" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_d"; dir = 8},/area/shuttle/syndicate_elite/mothership)
"bDb" = (/obj/effect/floor_decal/corner/brown{dir = 6},/obj/machinery/suit_storage_unit/standard_unit{req_access = list(201)},/turf/simulated/floor/tiled/dark,/area/shuttle/merchant/home)
"bDA" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 8},/area/centcom/living)
-"bEb" = (/turf/simulated/shuttle/wall/merchant{dir = 1; icon_state = "merchwall_t"},/area/shuttle/merchant/home)
+"bEb" = (/turf/simulated/shuttle/wall/merchant{icon_state = "merchwall_t"; dir = 1},/area/shuttle/merchant/home)
"bEv" = (/obj/structure/spider/stickyweb,/turf/unsimulated/floor{icon_state = "asteroidplating"},/area/thunderfield)
"bFb" = (/obj/machinery/door/airlock/hatch{name = "Cockpit"; req_access = list(201)},/turf/simulated/floor/trim/wood,/area/shuttle/merchant/home)
"bGb" = (/obj/item/device/radio/intercom{dir = 8; pixel_x = 22},/obj/structure/closet/secure_closet{name = "merchant's locker"; req_access = list(201)},/obj/machinery/light{dir = 1},/obj/item/gun/energy/gun/taser,/turf/simulated/floor/trim/wood,/area/shuttle/merchant/home)
"bHb" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/item/device/radio/intercom{pixel_y = 22},/turf/simulated/floor/tiled,/area/merchant_station)
"bIb" = (/turf/space,/turf/simulated/shuttle/wall/corner/merchant/ne,/area/shuttle/merchant/home)
"bJb" = (/obj/item/modular_computer/console/preset/civilian,/turf/simulated/floor/trim/carpet/blue,/area/shuttle/merchant/home)
-"bJk" = (/turf/simulated/shuttle/wall/syndi{dir = 4; icon_state = "syndiwall_t"},/area/shuttle/administration/centcom)
+"bJk" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_t"; dir = 4},/area/shuttle/administration/centcom)
"bJL" = (/obj/structure/bed/chair/wood{dir = 4},/turf/simulated/floor/trim/carpet/orange,/area/thunderfield)
"bKb" = (/obj/machinery/computer/shuttle_control/multi/merchant,/turf/simulated/floor/trim/carpet/blue,/area/shuttle/merchant/home)
"bKO" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 4},/area/centcom/holding)
"bLb" = (/turf/space,/turf/simulated/shuttle/wall/corner/merchant/nw,/area/shuttle/merchant/home)
-"bLF" = (/obj/structure/window/reinforced/crescent{dir = 1},/obj/effect/floor_decal/corner/red{dir = 6},/turf/unsimulated/floor{dir = 5; icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_rough"},/area/centcom/holding)
-"bMb" = (/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "merchantshuttle"; name = "Merchant Window Shutters"; opacity = 0},/obj/structure/window/miningpod,/turf/simulated/floor/plating,/area/shuttle/merchant/home)
+"bLF" = (/obj/structure/window/reinforced/crescent{dir = 1},/obj/effect/floor_decal/corner/red{dir = 6},/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_rough"; dir = 5},/area/centcom/holding)
+"bMb" = (/obj/structure/grille,/obj/machinery/door/blast/shutters{name = "Merchant Window Shutters"; icon_state = "shutter0"; opacity = 0; density = 0; dir = 2; id = "merchantshuttle"},/obj/structure/window/miningpod,/turf/simulated/floor/plating,/area/shuttle/merchant/home)
"bNb" = (/obj/structure/table/rack,/obj/item/beartrap,/obj/item/bikehorn,/turf/simulated/floor/tiled/airless,/area/merchant_station)
"bNv" = (/obj/machinery/papershredder,/turf/simulated/floor/trim/carpet/purple,/area/thunderfield)
"bOb" = (/obj/structure/table/rack,/obj/item/storage/belt/utility/full,/obj/item/storage/belt/utility/full,/obj/item/stack/cable_coil/random,/turf/simulated/floor/tiled,/area/merchant_station)
@@ -2563,312 +2299,308 @@
"bVr" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 4},/area/alien)
"bVu" = (/turf/unsimulated/wall{icon_state = "riveted_c"; dir = 8},/area/wizard_station)
"bWb" = (/obj/structure/table/rack,/obj/machinery/door/window/brigdoor/eastright/merchant{req_access = list(201)},/turf/simulated/floor/tiled/dark,/area/shuttle/merchant/home)
-"bXb" = (/obj/machinery/vending/cigarette{name = "hacked cigarette machine"; prices = list(); products = list(/obj/item/storage/fancy/cigarettes=10,/obj/item/storage/box/matches=10,/obj/item/flame/lighter/zippo=4,/obj/item/clothing/mask/smokable/cigarette/cigar/havana=2)},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"bXb" = (/obj/machinery/vending/cigarette{name = "hacked cigarette machine"; products = list(/obj/item/storage/fancy/cigarettes=10, /obj/item/storage/box/matches=10, /obj/item/flame/lighter/zippo=4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana=2); prices = list()},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"bXi" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 4},/area/syndicate_mothership/elite_squad)
"bYb" = (/obj/structure/closet/crate,/obj/item/crowbar,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
-"bZb" = (/obj/structure/table/reinforced,/obj/machinery/recharger{pixel_y = 4},/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/centcom/control)
-"cab" = (/obj/item/modular_computer/console/preset/supply,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/centcom/control)
-"cbb" = (/obj/machinery/computer/crew,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/centcom/control)
-"cbY" = (/obj/machinery/door/window/brigdoor{dir = 1},/obj/effect/floor_decal/corner/grey{dir = 9},/obj/effect/floor_decal/corner/grey{dir = 6},/turf/unsimulated/floor{dir = 5; icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_rough"},/area/centcom/holding)
-"ccb" = (/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/centcom/control)
-"cdb" = (/obj/machinery/computer/robotics,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/centcom/control)
-"ceb" = (/obj/item/modular_computer/console/preset/medical,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/centcom/control)
-"ceG" = (/obj/structure/window/reinforced/crescent{dir = 1},/obj/effect/floor_decal/corner/grey{dir = 9},/obj/effect/floor_decal/corner/red{dir = 6},/turf/unsimulated/floor{dir = 5; icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_rough"},/area/centcom/holding)
-"cfb" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/centcom/control)
-"cfk" = (/obj/effect/floor_decal/corner/red{dir = 9},/obj/machinery/vending/security,/turf/unsimulated/floor{dir = 5; icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_rough"},/area/centcom/holding)
-"cgb" = (/obj/structure/table/reinforced,/obj/item/card/id/captains_spare,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/centcom/control)
-"chb" = (/obj/structure/table/reinforced,/obj/item/device/pda/captain,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/centcom/control)
-"chZ" = (/turf/simulated/shuttle/wall/syndi{dir = 6; icon_state = "syndiwall"},/area/shuttle/deathsquad/centcom)
-"cib" = (/obj/item/modular_computer/console/preset/civilian/professional,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/centcom/control)
-"cjb" = (/obj/item/modular_computer/console/preset/security,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/centcom/control)
-"cjW" = (/obj/effect/floor_decal/corner/grey{dir = 9},/obj/effect/floor_decal/corner/red{dir = 6},/turf/unsimulated/floor{dir = 5; icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_rough"},/area/centcom/holding)
-"ckb" = (/obj/machinery/door/airlock/centcom{name = "Arrivals Processing"; opacity = 1; req_access = list(101)},/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/centcom/holding)
-"clb" = (/obj/structure/window_frame/indestructible/hull,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"clg" = (/turf/simulated/shuttle/wall/syndi{dir = 8; icon_state = "syndiwall_v"},/area/shuttle/administration/centcom)
-"cmb" = (/obj/structure/window_frame/indestructible/hull,/turf/unsimulated/floor{dir = 8; icon_state = "wood"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"cnb" = (/obj/structure/bed,/obj/item/bedsheet/orange,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"cnj" = (/turf/simulated/shuttle/wall/syndi{dir = 1; icon_state = "syndiwall_c"},/area/shuttle/administration/centcom)
-"cob" = (/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
+"bZb" = (/obj/structure/table/reinforced,/obj/machinery/recharger{pixel_y = 4},/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/centcom/control)
+"cab" = (/obj/item/modular_computer/console/preset/supply,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/centcom/control)
+"cbb" = (/obj/machinery/computer/crew,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/centcom/control)
+"cbY" = (/obj/machinery/door/window/brigdoor{dir = 1},/obj/effect/floor_decal/corner/grey{dir = 9},/obj/effect/floor_decal/corner/grey{dir = 6},/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_rough"; dir = 5},/area/centcom/holding)
+"ccb" = (/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/centcom/control)
+"cdb" = (/obj/machinery/computer/robotics,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/centcom/control)
+"ceb" = (/obj/item/modular_computer/console/preset/medical,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/centcom/control)
+"ceG" = (/obj/structure/window/reinforced/crescent{dir = 1},/obj/effect/floor_decal/corner/grey{dir = 9},/obj/effect/floor_decal/corner/red{dir = 6},/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_rough"; dir = 5},/area/centcom/holding)
+"cfb" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/centcom/control)
+"cfk" = (/obj/effect/floor_decal/corner/red{dir = 9},/obj/machinery/vending/security,/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_rough"; dir = 5},/area/centcom/holding)
+"cgb" = (/obj/structure/table/reinforced,/obj/item/card/id/captains_spare,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/centcom/control)
+"chb" = (/obj/structure/table/reinforced,/obj/item/device/pda/captain,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/centcom/control)
+"chZ" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 6},/area/shuttle/deathsquad/centcom)
+"cib" = (/obj/item/modular_computer/console/preset/civilian/professional,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/centcom/control)
+"cjb" = (/obj/item/modular_computer/console/preset/security,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/centcom/control)
+"cjW" = (/obj/effect/floor_decal/corner/grey{dir = 9},/obj/effect/floor_decal/corner/red{dir = 6},/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_rough"; dir = 5},/area/centcom/holding)
+"ckb" = (/obj/machinery/door/airlock/centcom{name = "Arrivals Processing"; opacity = 1; req_access = list(101)},/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/centcom/holding)
+"clb" = (/obj/structure/window_frame/indestructible/hull,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"clg" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_v"; dir = 8},/area/shuttle/administration/centcom)
+"cmb" = (/obj/structure/window_frame/indestructible/hull,/turf/unsimulated/floor{icon_state = "wood"; dir = 8; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"cnb" = (/obj/structure/bed,/obj/item/bedsheet/orange,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"cnj" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_c"; dir = 1},/area/shuttle/administration/centcom)
+"cob" = (/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"con" = (/obj/structure/spider/stickyweb,/turf/simulated/floor/trim/wood,/area/thunderfield)
"cow" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 1},/area/centcom/holding)
-"cpb" = (/obj/structure/table/steel,/obj/item/device/flashlight/lamp/brown,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"cqb" = (/obj/structure/bed,/obj/item/bedsheet/purple,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"cra" = (/obj/structure/barricade/material{layer = 6},/turf/simulated/wall/r_wall,/area/thunderfield)
-"crb" = (/obj/machinery/washing_machine,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"crY" = (/obj/effect/floor_decal/corner/red{dir = 9},/obj/effect/floor_decal/corner/red{dir = 10},/obj/structure/filingcabinet,/turf/unsimulated/floor{dir = 5; icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_rough"},/area/centcom/holding)
-"csb" = (/obj/structure/largecrate/animal/cow,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"ctb" = (/obj/structure/closet/crate/medical,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"cub" = (/obj/machinery/vending/tool,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"cvb" = (/obj/machinery/vending/boozeomat,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"cwb" = (/obj/structure/bed/chair,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"cxb" = (/obj/item/stool/padded,/obj/effect/landmark/start/antags/vox,/turf/unsimulated/floor{dir = 8; icon_state = "wood"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
+"cpb" = (/obj/structure/table/steel,/obj/item/device/flashlight/lamp/brown,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"cqb" = (/obj/structure/bed,/obj/item/bedsheet/purple,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"cra" = (/obj/structure/barricade/material,/turf/simulated/wall/r_wall,/area/thunderfield)
+"crb" = (/obj/machinery/washing_machine,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"crY" = (/obj/effect/floor_decal/corner/red{dir = 9},/obj/effect/floor_decal/corner/red{dir = 10},/obj/structure/filingcabinet,/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_rough"; dir = 5},/area/centcom/holding)
+"csb" = (/obj/structure/largecrate/animal/cow,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"ctb" = (/obj/structure/closet/crate/medical,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"cub" = (/obj/machinery/vending/tool,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"cvb" = (/obj/machinery/vending/boozeomat,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"cwb" = (/obj/structure/bed/chair,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"cxb" = (/obj/item/stool/padded,/obj/effect/landmark/start/antags/vox,/turf/unsimulated/floor{icon_state = "wood"; dir = 8; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"cxk" = (/obj/structure/table/gamblingtable,/obj/item/clothing/head/collectable/HoS,/turf/simulated/floor/trim/carpet/orange,/area/thunderfield)
-"cyb" = (/obj/structure/table/gamblingtable,/obj/item/deck/cards,/turf/unsimulated/floor{dir = 8; icon_state = "wood"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"czb" = (/obj/item/stool/padded,/obj/effect/landmark/start/antags/vox,/turf/simulated/floor/trim/wood/broken0{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"czx" = (/obj/machinery/door/airlock/glass_security{name = "Holding Cell"; req_access = list(2)},/obj/effect/floor_decal/corner/grey{dir = 6},/obj/effect/floor_decal/corner/grey{dir = 9},/turf/unsimulated/floor{dir = 5; icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_rough"},/area/centcom/holding)
-"cAb" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"cBb" = (/turf/unsimulated/floor{icon_state = "lino"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
+"cyb" = (/obj/structure/table/gamblingtable,/obj/item/deck/cards,/turf/unsimulated/floor{icon_state = "wood"; dir = 8; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"czb" = (/obj/item/stool/padded,/obj/effect/landmark/start/antags/vox,/turf/simulated/floor/trim/wood/broken0{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"czx" = (/obj/machinery/door/airlock/glass_security{name = "Holding Cell"; req_access = list(2)},/obj/effect/floor_decal/corner/grey{dir = 6},/obj/effect/floor_decal/corner/grey{dir = 9},/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_rough"; dir = 5},/area/centcom/holding)
+"cAb" = (/turf/unsimulated/floor{icon_state = "wood"; dir = 8; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"cBb" = (/turf/unsimulated/floor{icon_state = "lino"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"cBO" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 1},/area/wizard_station)
-"cCb" = (/obj/structure/table/woodentable,/obj/item/storage/box/glasses,/obj/machinery/light/small{dir = 1},/turf/unsimulated/floor{icon_state = "lino"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"cDb" = (/obj/structure/table/woodentable,/obj/machinery/chemical_dispenser/bar_alc/full{pixel_y = 2},/turf/unsimulated/floor{icon_state = "lino"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"cEb" = (/obj/structure/table/woodentable,/obj/machinery/chemical_dispenser/bar_soft/full,/turf/unsimulated/floor{icon_state = "lino"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"cFb" = (/obj/structure/table/steel,/obj/item/paper,/obj/item/pen,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"cFk" = (/obj/machinery/door/window/westright{dir = 1; name = "Medbay Reception"; req_access = list(5)},/obj/structure/table/standard{name = "plastic table frame"},/obj/item/device/radio/phone/medbay{name = "reception emergency phone"; pixel_x = -5},/obj/effect/floor_decal/corner/pink{dir = 9},/obj/effect/floor_decal/corner/pink{dir = 10},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding)
-"cGb" = (/obj/structure/closet,/obj/random/contraband,/obj/random/contraband,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"cHb" = (/obj/structure/closet/crate,/obj/item/reagent_containers/syringe/drugs,/obj/item/reagent_containers/syringe/drugs,/obj/item/reagent_containers/syringe/drugs,/obj/item/crowbar,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
+"cCb" = (/obj/structure/table/woodentable,/obj/item/storage/box/glasses,/obj/machinery/light/small{dir = 1},/turf/unsimulated/floor{icon_state = "lino"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"cDb" = (/obj/structure/table/woodentable,/obj/machinery/chemical_dispenser/bar_alc/full{pixel_y = 2},/turf/unsimulated/floor{icon_state = "lino"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"cEb" = (/obj/structure/table/woodentable,/obj/machinery/chemical_dispenser/bar_soft/full,/turf/unsimulated/floor{icon_state = "lino"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"cFb" = (/obj/structure/table/steel,/obj/item/paper,/obj/item/pen,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"cFk" = (/obj/machinery/door/window/westright{name = "Medbay Reception"; dir = 1; req_access = list(5)},/obj/structure/table/standard{name = "plastic table frame"},/obj/item/device/radio/phone/medbay{name = "reception emergency phone"; pixel_x = -5},/obj/effect/floor_decal/corner/pink{dir = 9},/obj/effect/floor_decal/corner/pink{dir = 10},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding)
+"cGb" = (/obj/structure/closet,/obj/random/contraband,/obj/random/contraband,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"cHb" = (/obj/structure/closet/crate,/obj/item/reagent_containers/syringe/drugs,/obj/item/reagent_containers/syringe/drugs,/obj/item/reagent_containers/syringe/drugs,/obj/item/crowbar,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"cIb" = (/obj/structure/disposalpipe/trunk{dir = 1},/obj/machinery/disposal,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin)
-"cIp" = (/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "rescuebridge"; name = "Bridge Blast Shutters"; opacity = 0},/obj/structure/window/syndi{icon_state = "ws4"},/turf/simulated/floor/plating,/area/rescue_base/start)
-"cJb" = (/obj/structure/table/standard,/obj/item/storage/firstaid/surgery,/obj/item/storage/firstaid/combat,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
+"cIp" = (/obj/machinery/door/blast/regular{name = "Bridge Blast Shutters"; icon_state = "pdoor0"; opacity = 0; density = 0; dir = 4; id = "rescuebridge"},/obj/structure/window/syndi{icon_state = "ws4"},/turf/simulated/floor/plating,/area/rescue_base/start)
+"cJb" = (/obj/structure/table/standard,/obj/item/storage/firstaid/surgery,/obj/item/storage/firstaid/combat,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"cJk" = (/obj/structure/window/syndi{icon_state = "ws2"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/ninja)
-"cKb" = (/obj/effect/decal/cleanable/dirt,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"cLb" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/trim/wood/broken0{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
+"cKb" = (/obj/effect/decal/cleanable/dirt,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"cLb" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/trim/wood/broken0{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"cLc" = (/obj/item/flame/lighter/zippo,/turf/simulated/floor/tiled/dark,/area/thunderfield)
-"cMb" = (/obj/effect/decal/cleanable/dirt,/turf/unsimulated/floor{dir = 8; icon_state = "wood"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"cNb" = (/obj/structure/table/woodentable,/obj/item/storage/fancy/cigarettes,/turf/unsimulated/floor{icon_state = "lino"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
+"cMb" = (/obj/effect/decal/cleanable/dirt,/turf/unsimulated/floor{icon_state = "wood"; dir = 8; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"cNb" = (/obj/structure/table/woodentable,/obj/item/storage/fancy/cigarettes,/turf/unsimulated/floor{icon_state = "lino"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"cNv" = (/obj/machinery/vending/boozeomat{req_access = list()},/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/holding)
-"cOb" = (/obj/structure/table/rack,/obj/item/clothing/suit/space/vox/medic,/obj/item/clothing/head/helmet/space/vox/medic,/obj/item/clothing/shoes/magboots/vox,/obj/item/clothing/gloves/vox,/obj/item/clothing/under/vox/vox_robes,/obj/item/clothing/accessory/holochip/vox,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"cPb" = (/obj/structure/table/rack,/obj/item/clothing/suit/space/vox/pressure,/obj/item/clothing/head/helmet/space/vox/pressure,/obj/item/clothing/shoes/magboots/vox,/obj/item/clothing/gloves/vox,/obj/item/clothing/under/vox/vox_casual,/obj/item/clothing/accessory/holochip/vox,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
+"cOb" = (/obj/structure/table/rack,/obj/item/clothing/suit/space/vox/medic,/obj/item/clothing/head/helmet/space/vox/medic,/obj/item/clothing/shoes/magboots/vox,/obj/item/clothing/gloves/vox,/obj/item/clothing/under/vox/vox_robes,/obj/item/clothing/accessory/holochip/vox,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"cPb" = (/obj/structure/table/rack,/obj/item/clothing/suit/space/vox/pressure,/obj/item/clothing/head/helmet/space/vox/pressure,/obj/item/clothing/shoes/magboots/vox,/obj/item/clothing/gloves/vox,/obj/item/clothing/under/vox/vox_casual,/obj/item/clothing/accessory/holochip/vox,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"cPK" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 1},/area/centcom/specops)
-"cQb" = (/obj/structure/table/rack,/obj/item/clothing/suit/space/vox,/obj/item/clothing/head/helmet/space/vox,/obj/item/clothing/shoes/magboots/vox,/obj/item/clothing/gloves/vox,/obj/item/clothing/under/vox/vox_robes,/obj/item/clothing/accessory/holochip/vox,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"cRb" = (/obj/effect/decal/mecha_wreckage/hoverpod,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"cRI" = (/obj/effect/floor_decal/corner/grey{dir = 9},/obj/effect/floor_decal/corner/grey{dir = 6},/obj/structure/bed/chair/office/dark,/turf/unsimulated/floor{dir = 5; icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_rough"},/area/centcom/holding)
-"cRM" = (/obj/effect/floor_decal/corner/red{dir = 5},/turf/unsimulated/floor{dir = 5; icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_rough"},/area/centcom/holding)
-"cSb" = (/obj/structure/flora/pottedplant/ugly,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
+"cQb" = (/obj/structure/table/rack,/obj/item/clothing/suit/space/vox,/obj/item/clothing/head/helmet/space/vox,/obj/item/clothing/shoes/magboots/vox,/obj/item/clothing/gloves/vox,/obj/item/clothing/under/vox/vox_robes,/obj/item/clothing/accessory/holochip/vox,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"cRb" = (/obj/effect/decal/mecha_wreckage/hoverpod,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"cRI" = (/obj/effect/floor_decal/corner/grey{dir = 9},/obj/effect/floor_decal/corner/grey{dir = 6},/obj/structure/bed/chair/office/dark,/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_rough"; dir = 5},/area/centcom/holding)
+"cRM" = (/obj/effect/floor_decal/corner/red{dir = 5},/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_rough"; dir = 5},/area/centcom/holding)
+"cSb" = (/obj/structure/flora/pottedplant/ugly,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"cSs" = (/turf/unsimulated/wall{icon_state = "riveted"},/area/rescue_base/base)
-"cTb" = (/obj/effect/decal/cleanable/cobweb,/obj/structure/closet,/obj/random/clothing/hat,/obj/random/junk,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"cUb" = (/obj/structure/closet/crate/trashcart,/obj/random/drinkbottle,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"cVb" = (/obj/structure/table/standard,/obj/machinery/recharger,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"cWb" = (/obj/random/junk,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
+"cTb" = (/obj/effect/decal/cleanable/cobweb,/obj/structure/closet,/obj/random/clothing/hat,/obj/random/junk,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"cUb" = (/obj/structure/closet/crate/trashcart,/obj/random/drinkbottle,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"cVb" = (/obj/structure/table/standard,/obj/machinery/recharger,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"cWb" = (/obj/random/junk,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"cWA" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_d"},/area/shuttle/syndicate_elite/mothership)
-"cWZ" = (/obj/effect/floor_decal/corner/red{dir = 5},/obj/structure/noticeboard{pixel_y = -32},/obj/structure/table/reinforced,/obj/item/device/flashlight/lamp,/turf/unsimulated/floor{dir = 5; icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_rough"},/area/centcom/holding)
-"cXb" = (/obj/structure/table/woodentable,/obj/item/flame/lighter/zippo,/turf/unsimulated/floor{icon_state = "lino"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"cYb" = (/obj/structure/table/woodentable,/obj/item/reagent_containers/vessel/bottle/small/beer,/turf/unsimulated/floor{icon_state = "lino"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"cZb" = (/obj/structure/table/woodentable,/obj/item/pizzabox/meat,/turf/unsimulated/floor{icon_state = "lino"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
+"cWZ" = (/obj/effect/floor_decal/corner/red{dir = 5},/obj/structure/noticeboard{pixel_y = -32},/obj/structure/table/reinforced,/obj/item/device/flashlight/lamp,/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_rough"; dir = 5},/area/centcom/holding)
+"cXb" = (/obj/structure/table/woodentable,/obj/item/flame/lighter/zippo,/turf/unsimulated/floor{icon_state = "lino"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"cYb" = (/obj/structure/table/woodentable,/obj/item/reagent_containers/vessel/bottle/small/beer,/turf/unsimulated/floor{icon_state = "lino"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"cZb" = (/obj/structure/table/woodentable,/obj/item/pizzabox/meat,/turf/unsimulated/floor{icon_state = "lino"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"cZM" = (/obj/structure/flora/tree/dead/deadtree_3,/turf/unsimulated/floor{icon_state = "asteroidplating"},/area/thunderfield)
-"dab" = (/obj/structure/table/woodentable,/obj/random/cash,/turf/unsimulated/floor{icon_state = "lino"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"dba" = (/obj/effect/floor_decal/corner/red{dir = 5},/obj/structure/table/reinforced,/obj/item/paper_bin,/obj/item/pen/blue,/turf/unsimulated/floor{dir = 5; icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_rough"},/area/centcom/holding)
-"dbb" = (/obj/structure/table/woodentable,/obj/random/handgun,/turf/unsimulated/floor{icon_state = "lino"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"dcb" = (/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"dcG" = (/obj/structure/flora/ausbushes/sparsegrass,/turf/simulated/floor/holofloor/desert,/area/holodeck/source_desert)
+"dab" = (/obj/structure/table/woodentable,/obj/random/cash,/turf/unsimulated/floor{icon_state = "lino"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"dba" = (/obj/effect/floor_decal/corner/red{dir = 5},/obj/structure/table/reinforced,/obj/item/paper_bin,/obj/item/pen/blue,/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_rough"; dir = 5},/area/centcom/holding)
+"dbb" = (/obj/structure/table/woodentable,/obj/random/handgun,/turf/unsimulated/floor{icon_state = "lino"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"dcb" = (/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"dcK" = (/turf/unsimulated/wall{icon_state = "riveted_s"; dir = 4},/area/tdome)
"dcR" = (/obj/structure/flora/ausbushes/ywflowers,/obj/effect/floor_decal/spline/fancy/wood{dir = 4},/obj/effect/floor_decal/spline/fancy/wood{dir = 1},/turf/unsimulated/floor{icon_state = "asteroid"},/area/thunderfield)
-"ddb" = (/obj/machinery/door/airlock/hatch{req_access = list(150)},/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
+"ddb" = (/obj/machinery/door/airlock/hatch{req_access = list(150)},/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"ddX" = (/turf/unsimulated/wall{icon_state = "riveted_straight"},/area/syndicate_mothership/elite_squad)
-"deb" = (/turf/simulated/floor/trim/wood/broken0{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"deR" = (/turf/simulated/shuttle/wall/syndi{dir = 1; icon_state = "syndiwall_t"},/area/rescue_base/start)
-"dfb" = (/obj/item/stool/padded,/turf/unsimulated/floor{dir = 8; icon_state = "wood"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
+"deb" = (/turf/simulated/floor/trim/wood/broken0{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"deR" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_t"; dir = 1},/area/rescue_base/start)
+"dfb" = (/obj/item/stool/padded,/turf/unsimulated/floor{icon_state = "wood"; dir = 8; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"dfJ" = (/obj/structure/flora/ausbushes/fullgrass,/turf/unsimulated/floor{icon_state = "asteroid"},/area/thunderfield)
-"dgb" = (/obj/structure/table/rack,/obj/item/clothing/suit/space/vox/carapace,/obj/item/clothing/head/helmet/space/vox/carapace,/obj/item/clothing/shoes/magboots/vox,/obj/item/clothing/gloves/vox,/obj/item/clothing/under/vox/vox_casual,/obj/item/clothing/accessory/holochip/vox,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"dhb" = (/obj/structure/table/rack/dark,/obj/item/gun/launcher/crossbow,/obj/item/stack/rods{amount = 10},/obj/item/gun/launcher/crossbow,/obj/item/stack/rods{amount = 10},/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
+"dgb" = (/obj/structure/table/rack,/obj/item/clothing/suit/space/vox/carapace,/obj/item/clothing/head/helmet/space/vox/carapace,/obj/item/clothing/shoes/magboots/vox,/obj/item/clothing/gloves/vox,/obj/item/clothing/under/vox/vox_casual,/obj/item/clothing/accessory/holochip/vox,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"dhb" = (/obj/structure/table/rack/dark,/obj/item/gun/launcher/crossbow,/obj/item/stack/rods{amount = 10},/obj/item/gun/launcher/crossbow,/obj/item/stack/rods{amount = 10},/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"dhY" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_t"},/area/shuttle/deathsquad/centcom)
-"dib" = (/obj/structure/table/rack/dark,/obj/item/gun/launcher/alien/spikethrower,/obj/item/gun/launcher/alien/spikethrower,/obj/item/gun/launcher/alien/slugsling,/obj/item/gun/launcher/alien/slugsling,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
+"dib" = (/obj/structure/table/rack/dark,/obj/item/gun/launcher/alien/spikethrower,/obj/item/gun/launcher/alien/spikethrower,/obj/item/gun/launcher/alien/slugsling,/obj/item/gun/launcher/alien/slugsling,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"dis" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 4},/area/centcom/suppy)
-"djb" = (/obj/machinery/light/small{dir = 4},/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"djh" = (/obj/effect/floor_decal/corner/red{dir = 5},/obj/structure/table/reinforced,/obj/item/book/wiki/nt_regs,/turf/unsimulated/floor{dir = 5; icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_rough"},/area/centcom/holding)
-"dkb" = (/obj/structure/reagent_dispensers/beerkeg,/turf/unsimulated/floor{dir = 8; icon_state = "wood"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"dlb" = (/obj/item/broken_bottle,/obj/effect/decal/cleanable/dirt,/turf/unsimulated/floor{dir = 8; icon_state = "wood"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"dmb" = (/obj/structure/closet/crate/bin,/turf/unsimulated/floor{dir = 8; icon_state = "wood"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"dnb" = (/obj/structure/table/rack,/obj/item/clothing/suit/space/vox/stealth,/obj/item/clothing/head/helmet/space/vox/stealth,/obj/item/clothing/shoes/magboots/vox,/obj/item/clothing/gloves/vox,/obj/item/clothing/glasses/hud/plain/thermal/monocle,/obj/item/clothing/under/vox/vox_robes,/obj/item/clothing/accessory/holochip/vox,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"dnO" = (/obj/structure/flora/tree/dead/deadtree_0,/turf/simulated/floor/holofloor/snow,/area/holodeck/source_snowfield)
-"dob" = (/obj/structure/table/rack/dark,/obj/random/projectile,/obj/random/projectile,/obj/random/ammo,/obj/random/ammo,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"dpb" = (/obj/structure/table/rack/dark,/obj/item/gun/energy/sniperrifle,/obj/item/gun/energy/ionrifle,/obj/item/gun/energy/kinetic_accelerator,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"dqb" = (/obj/effect/decal/cleanable/blood/oil,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
+"djb" = (/obj/machinery/light/small{dir = 4},/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"djh" = (/obj/effect/floor_decal/corner/red{dir = 5},/obj/structure/table/reinforced,/obj/item/book/wiki/nt_regs,/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_rough"; dir = 5},/area/centcom/holding)
+"dkb" = (/obj/structure/reagent_dispensers/beerkeg,/turf/unsimulated/floor{icon_state = "wood"; dir = 8; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"dlb" = (/obj/item/broken_bottle,/obj/effect/decal/cleanable/dirt,/turf/unsimulated/floor{icon_state = "wood"; dir = 8; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"dmb" = (/obj/structure/closet/crate/bin,/turf/unsimulated/floor{icon_state = "wood"; dir = 8; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"dnb" = (/obj/structure/table/rack,/obj/item/clothing/suit/space/vox/stealth,/obj/item/clothing/head/helmet/space/vox/stealth,/obj/item/clothing/shoes/magboots/vox,/obj/item/clothing/gloves/vox,/obj/item/clothing/glasses/hud/plain/thermal/monocle,/obj/item/clothing/under/vox/vox_robes,/obj/item/clothing/accessory/holochip/vox,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"dob" = (/obj/structure/table/rack/dark,/obj/random/projectile,/obj/random/projectile,/obj/random/ammo,/obj/random/ammo,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"dpb" = (/obj/structure/table/rack/dark,/obj/item/gun/energy/sniperrifle,/obj/item/gun/energy/ionrifle,/obj/item/gun/energy/kinetic_accelerator,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"dqb" = (/obj/effect/decal/cleanable/blood/oil,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"dqt" = (/obj/structure/table/woodentable{dir = 5},/obj/item/music_tape/custom,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/holding)
"dqB" = (/turf/unsimulated/wall{icon_state = "riveted_s"},/area/centcom/specops)
-"drb" = (/obj/machinery/door/airlock/hatch{req_access = list(150)},/turf/unsimulated/floor{icon_state = "freezerfloor"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
+"drb" = (/obj/machinery/door/airlock/hatch{req_access = list(150)},/turf/unsimulated/floor{icon_state = "freezerfloor"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"drJ" = (/turf/unsimulated/wall{icon_state = "riveted_t"},/area/rescue_base/base)
"drM" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 6},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/centcom/holding)
-"dsb" = (/obj/structure/table/rack,/obj/item/clothing/suit/space/vox/carapace,/obj/item/clothing/head/helmet/space/vox/carapace,/obj/item/clothing/shoes/magboots/vox,/obj/item/clothing/gloves/vox,/obj/item/clothing/under/vox/vox_robes,/obj/item/clothing/accessory/holochip/vox,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
+"dsb" = (/obj/structure/table/rack,/obj/item/clothing/suit/space/vox/carapace,/obj/item/clothing/head/helmet/space/vox/carapace,/obj/item/clothing/shoes/magboots/vox,/obj/item/clothing/gloves/vox,/obj/item/clothing/under/vox/vox_robes,/obj/item/clothing/accessory/holochip/vox,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"dsG" = (/turf/unsimulated/wall{icon_state = "riveted_d"; dir = 1},/area/syndicate_mothership)
-"dtb" = (/obj/structure/sink{dir = 1; pixel_y = 16},/obj/effect/decal/cleanable/blood/splatter,/obj/machinery/light/small{dir = 8},/turf/unsimulated/floor{icon_state = "freezerfloor"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"dtm" = (/turf/unsimulated/wall{icon_state = "riveted_15"},/area/space)
+"dtb" = (/obj/structure/sink{dir = 1; pixel_y = 16},/obj/effect/decal/cleanable/blood/splatter,/obj/machinery/light/small{dir = 8},/turf/unsimulated/floor{icon_state = "freezerfloor"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"dto" = (/obj/item/stool/padded,/obj/item/clothing/head/collectable/petehat,/turf/simulated/floor/trim/carpet/purple,/area/thunderfield)
"dtM" = (/turf/unsimulated/wall{icon_state = "riveted"; dir = 1},/area/centcom/control)
-"dub" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"duI" = (/obj/structure/window_frame/indestructible,/turf/unsimulated/floor{dir = 5; icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_rough"},/area/centcom/holding)
-"dvb" = (/obj/machinery/shower{dir = 8},/turf/unsimulated/floor{icon_state = "freezerfloor"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"dwb" = (/obj/structure/table/rack,/obj/item/clothing/suit/space/vox/carapace,/obj/item/clothing/head/helmet/space/vox/carapace,/obj/item/clothing/shoes/magboots/vox,/obj/item/clothing/gloves/vox,/obj/item/clothing/under/vox/vox_robes,/obj/item/clothing/under/vox/vox_casual,/obj/item/clothing/accessory/holochip/vox,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"dxb" = (/obj/structure/toilet{dir = 4},/obj/effect/landmark/start/antags/vox,/turf/unsimulated/floor{icon_state = "freezerfloor"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"dyb" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/item/tank/nitrogen,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"dzb" = (/obj/effect/decal/cleanable/cobweb{dir = 4},/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"dAb" = (/turf/unsimulated/floor{icon_state = "cult"; initial_gas = list("nitrogen"=103.984); name = "plating"},/area/skipjack_station/base)
+"dub" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"duI" = (/obj/structure/window_frame/indestructible,/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_rough"; dir = 5},/area/centcom/holding)
+"dvb" = (/obj/machinery/shower{dir = 8},/turf/unsimulated/floor{icon_state = "freezerfloor"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"dwb" = (/obj/structure/table/rack,/obj/item/clothing/suit/space/vox/carapace,/obj/item/clothing/head/helmet/space/vox/carapace,/obj/item/clothing/shoes/magboots/vox,/obj/item/clothing/gloves/vox,/obj/item/clothing/under/vox/vox_robes,/obj/item/clothing/under/vox/vox_casual,/obj/item/clothing/accessory/holochip/vox,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"dxb" = (/obj/structure/toilet{dir = 4},/obj/effect/landmark/start/antags/vox,/turf/unsimulated/floor{icon_state = "freezerfloor"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"dyb" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/item/tank/nitrogen,/turf/unsimulated/floor{icon_state = "asteroid"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"dzb" = (/obj/effect/decal/cleanable/cobweb{dir = 4},/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"dAb" = (/turf/unsimulated/floor{name = "plating"; icon_state = "cult"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"dAh" = (/obj/machinery/door/airlock/research,/turf/simulated/floor/tiled/dark,/area/thunderfield)
-"dAL" = (/turf/simulated/shuttle/wall/syndi{dir = 4; icon_state = "syndiwall_b"},/area/shuttle/administration/centcom)
-"dAQ" = (/obj/machinery/door/airlock/centcom{name = "Special Operations"; opacity = 1; req_access = list(103)},/obj/machinery/door/blast/regular{dir = 4; id = "CREED"; name = "Ready Room"},/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/centcom/specops)
-"dBb" = (/obj/machinery/light/small{dir = 1},/turf/unsimulated/floor{icon_state = "cult"; initial_gas = list("nitrogen"=103.984); name = "plating"},/area/skipjack_station/base)
+"dAL" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_b"; dir = 4},/area/shuttle/administration/centcom)
+"dAQ" = (/obj/machinery/door/airlock/centcom{name = "Special Operations"; opacity = 1; req_access = list(103)},/obj/machinery/door/blast/regular{name = "Ready Room"; dir = 4; id = "CREED"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
+"dBb" = (/obj/machinery/light/small{dir = 1},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"dBq" = (/turf/unsimulated/wall{icon_state = "riveted_straight"; dir = 8},/area/thunderfield)
-"dCb" = (/obj/machinery/light/small{dir = 8},/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
+"dCb" = (/obj/machinery/light/small{dir = 8},/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"dCd" = (/obj/machinery/vending/cigars,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/holding)
"dCg" = (/turf/unsimulated/wall{icon_state = "riveted_straight"},/area/alien)
-"dDb" = (/obj/random/junk,/turf/unsimulated/floor{icon_state = "cult"; initial_gas = list("nitrogen"=103.984); name = "plating"},/area/skipjack_station/base)
+"dDb" = (/obj/random/junk,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"dDZ" = (/obj/structure/flora/tree/dead/deadtree_3,/turf/unsimulated/floor{icon_state = "asteroid"},/area/thunderfield)
-"dEb" = (/obj/structure/bed/chair,/turf/unsimulated/floor{icon_state = "cult"; initial_gas = list("nitrogen"=103.984); name = "plating"},/area/skipjack_station/base)
+"dEb" = (/obj/structure/bed/chair,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"dEs" = (/obj/structure/sign/warning/secure_area,/turf/unsimulated/wall{icon_state = "riveted"; dir = 8},/area/centcom/control)
"dEM" = (/obj/effect/floor_decal/spline/fancy/wood{dir = 4},/obj/effect/floor_decal/spline/fancy/wood{dir = 1},/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/holding)
-"dFb" = (/obj/machinery/computer/station_alert/all,/turf/unsimulated/floor{icon_state = "cult"; initial_gas = list("nitrogen"=103.984); name = "plating"},/area/skipjack_station/base)
+"dFb" = (/obj/machinery/computer/station_alert/all,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"dFv" = (/turf/unsimulated/wall{icon_state = "riveted_l"},/area/prison/solitary)
-"dGb" = (/obj/machinery/computer/shuttle_control/multi/vox,/turf/unsimulated/floor{icon_state = "cult"; initial_gas = list("nitrogen"=103.984); name = "plating"},/area/skipjack_station/base)
+"dGb" = (/obj/machinery/computer/shuttle_control/multi/vox,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"dGF" = (/obj/item/device/synthesized_instrument/guitar,/obj/structure/table/woodentable{dir = 5},/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/holding)
-"dHb" = (/obj/machinery/floodlight,/turf/unsimulated/floor{icon_state = "cult"; initial_gas = list("nitrogen"=103.984); name = "plating"},/area/skipjack_station/base)
+"dHb" = (/obj/machinery/floodlight,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"dHf" = (/turf/unsimulated/wall{icon_state = "riveted_straight"},/area/wizard_station)
"dHz" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp,/turf/simulated/floor/trim/carpet/red,/area/thunderfield)
-"dIb" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "skipjack_base"; pixel_x = -25; pixel_y = -5},/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
+"dIb" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{pixel_x = -25; pixel_y = -5; frequency = 1380; id_tag = "skipjack_base"},/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"dIe" = (/turf/unsimulated/wall{icon_state = "riveted_t"},/area/centcom/holding)
"dIC" = (/obj/structure/reagent_dispensers/beerkeg,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/holding)
-"dJb" = (/obj/structure/window_frame/indestructible/hull,/turf/unsimulated/floor{icon_state = "cult"; initial_gas = list("nitrogen"=103.984); name = "plating"},/area/skipjack_station/base)
-"dKb" = (/obj/machinery/door/airlock/external{frequency = 1380; id_tag = "skipjack_base_hatch"; req_access = list(150)},/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"dLb" = (/obj/structure/window/reinforced/crescent{dir = 8},/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
+"dJb" = (/obj/structure/window_frame/indestructible/hull,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"dKb" = (/obj/machinery/door/airlock/external{frequency = 1380; req_access = list(150); id_tag = "skipjack_base_hatch"},/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"dLb" = (/obj/structure/window/reinforced/crescent{dir = 8},/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
"dLe" = (/obj/effect/floor_decal/corner/beige{dir = 9},/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "steel_rough"},/area/centcom/holding)
-"dMb" = (/obj/structure/window/reinforced/crescent{dir = 4},/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"dNb" = (/obj/structure/window/reinforced/crescent{dir = 8},/obj/random/junk,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/base)
-"dNg" = (/obj/effect/floor_decal/industrial/warning/wiz,/turf/unsimulated/floor{icon_state = "cult"; name = "plating"},/area/wizard_station)
-"dNv" = (/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "syndieshutters"; name = "Shuttle Blast Shutters"; opacity = 0},/obj/structure/window/syndi{icon_state = "ws6"},/turf/simulated/floor/plating,/area/syndicate_station/start)
+"dMb" = (/obj/structure/window/reinforced/crescent{dir = 4},/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"dNb" = (/obj/structure/window/reinforced/crescent{dir = 8},/obj/random/junk,/turf/unsimulated/floor{icon_state = "dark"; initial_gas = list(nitrogen=103.984)},/area/skipjack_station/base)
+"dNg" = (/obj/effect/floor_decal/industrial/warning/wiz,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/wizard_station)
+"dNv" = (/obj/machinery/door/blast/regular{name = "Shuttle Blast Shutters"; icon_state = "pdoor0"; opacity = 0; density = 0; dir = 4; id = "syndieshutters"},/obj/structure/window/syndi{icon_state = "ws6"},/turf/simulated/floor/plating,/area/syndicate_station/start)
"dNE" = (/turf/unsimulated/wall{icon_state = "riveted_c"; dir = 4},/area/centcom/control)
-"dOb" = (/obj/machinery/door/airlock/hatch{frequency = 1380; icon_state = "door_locked"; id_tag = "vox_northwest_lock"; locked = 1; name = "Ship External Access"; req_one_access = 150},/obj/machinery/shield_diffuser,/turf/simulated/floor/plating{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
+"dOb" = (/obj/machinery/door/airlock/hatch{name = "Ship External Access"; icon_state = "door_locked"; frequency = 1380; locked = 1; req_one_access = 150; id_tag = "vox_northwest_lock"},/obj/machinery/shield_diffuser,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
"dOM" = (/turf/unsimulated/wall{icon_state = "riveted_d"; dir = 1},/area/centcom/specops)
-"dPb" = (/obj/machinery/door/airlock/hatch{frequency = 1380; id_tag = "skipjack_shuttle_outer"; name = "Ship External Access"; req_one_access = 150},/obj/machinery/shield_diffuser,/turf/simulated/floor/plating{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
-"dQb" = (/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "vox_west_sensor"; pixel_x = -8; pixel_y = 25},/obj/machinery/atmospherics/unary/vent_pump/high_volume{frequency = 1380; id_tag = "vox_west_vent"},/turf/simulated/floor/plating{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
-"dRb" = (/turf/simulated/floor/plating{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
+"dPb" = (/obj/machinery/door/airlock/hatch{name = "Ship External Access"; frequency = 1380; req_one_access = 150; id_tag = "skipjack_shuttle_outer"},/obj/machinery/shield_diffuser,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"dQb" = (/obj/machinery/airlock_sensor{pixel_x = -8; pixel_y = 25; frequency = 1380; id_tag = "vox_west_sensor"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{frequency = 1380; id_tag = "vox_west_vent"},/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"dRb" = (/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
"dRO" = (/obj/effect/floor_decal/industrial/warning/dust{dir = 9},/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/thunderfield)
-"dSb" = (/obj/machinery/computer/station_alert/all,/turf/simulated/floor/shuttle/black{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
-"dTb" = (/obj/machinery/computer/shuttle_control/multi/vox,/turf/simulated/floor/shuttle/black{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
+"dSb" = (/obj/machinery/computer/station_alert/all,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"dTb" = (/obj/machinery/computer/shuttle_control/multi/vox,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
"dTJ" = (/obj/structure/bed/chair,/obj/structure/sign/poster{pixel_y = 32},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding)
"dTW" = (/obj/structure/flora/tree/dead/deadtree_5,/turf/unsimulated/floor{icon_state = "asteroidplating"},/area/thunderfield)
-"dUb" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor/shuttle/black{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
-"dVb" = (/obj/random/trash,/turf/simulated/floor/plating{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
-"dWb" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{frequency = 1380; id_tag = "skipjack_shuttle_pump"},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "skipjack_shuttle_sensor"; pixel_x = 8; pixel_y = 25},/turf/simulated/floor/plating{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
-"dWt" = (/obj/effect/floor_decal/industrial/warning/dust{dir = 1},/obj/structure/barricade/material{layer = 6},/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/thunderfield)
-"dXb" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8},/obj/machinery/meter,/turf/simulated/floor/plating{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
-"dYb" = (/obj/machinery/light/small,/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "vox_west_control"; pixel_x = 25; pixel_y = 8; req_access = list(150); tag_airpump = "vox_west_vent"; tag_chamber_sensor = "vox_west_sensor"; tag_exterior_door = "vox_northwest_lock"; tag_interior_door = "vox_southwest_lock"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1380; id_tag = "vox_west_vent"},/turf/simulated/floor/plating{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
-"dZb" = (/obj/machinery/light/small{dir = 8},/obj/machinery/suit_cycler/syndicate{locked = 0},/turf/simulated/floor/shuttle/black{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
+"dUb" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"dVb" = (/obj/random/trash,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"dWb" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{frequency = 1380; id_tag = "skipjack_shuttle_pump"},/obj/machinery/airlock_sensor{pixel_x = 8; pixel_y = 25; frequency = 1380; id_tag = "skipjack_shuttle_sensor"},/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"dWt" = (/obj/effect/floor_decal/industrial/warning/dust{dir = 1},/obj/structure/barricade/material,/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/thunderfield)
+"dXb" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8},/obj/machinery/meter,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"dYb" = (/obj/machinery/light/small,/obj/machinery/embedded_controller/radio/airlock/docking_port{pixel_x = 25; pixel_y = 8; frequency = 1380; req_access = list(150); id_tag = "vox_west_control"; tag_exterior_door = "vox_northwest_lock"; tag_interior_door = "vox_southwest_lock"; tag_airpump = "vox_west_vent"; tag_chamber_sensor = "vox_west_sensor"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1380; id_tag = "vox_west_vent"},/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"dZb" = (/obj/machinery/light/small{dir = 8},/obj/machinery/suit_cycler/syndicate{locked = 0},/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
"dZr" = (/turf/unsimulated/wall{icon_state = "riveted_straight"; dir = 8},/area/centcom/control)
"dZG" = (/obj/effect/floor_decal/spline/fancy{dir = 8},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/centcom/holding)
-"eab" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/floor/shuttle/black{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
-"ebb" = (/obj/structure/bed/chair{dir = 1},/obj/item/clothing/head/pirate,/obj/effect/shuttle_landmark/skipjack/start,/turf/simulated/floor/shuttle/black{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
-"ecb" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/button/remote/blast_door{id = "skipjackshutters"; name = "remote shutter control"; pixel_x = 32; pixel_y = 32; req_access = list(150)},/turf/simulated/floor/shuttle/black{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
-"edb" = (/obj/machinery/light/small{dir = 4},/obj/structure/table/steel,/obj/machinery/recharger,/turf/simulated/floor/shuttle/black{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
-"eeb" = (/obj/machinery/light/small,/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "skipjack_shuttle"; pixel_x = -25; pixel_y = 8; req_access = list(150)},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1380; id_tag = "skipjack_shuttle_pump"},/turf/simulated/floor/plating{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
+"eab" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"ebb" = (/obj/structure/bed/chair{dir = 1},/obj/item/clothing/head/pirate,/obj/effect/shuttle_landmark/skipjack/start,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"ecb" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/button/remote/blast_door{name = "remote shutter control"; pixel_x = 32; pixel_y = 32; id = "skipjackshutters"; req_access = list(150)},/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"edb" = (/obj/machinery/light/small{dir = 4},/obj/structure/table/steel,/obj/machinery/recharger,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"eeb" = (/obj/machinery/light/small,/obj/machinery/embedded_controller/radio/airlock/docking_port{pixel_x = -25; pixel_y = 8; frequency = 1380; req_access = list(150); id_tag = "skipjack_shuttle"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1380; id_tag = "skipjack_shuttle_pump"},/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
"eed" = (/obj/structure/flora/ausbushes/ywflowers,/obj/effect/floor_decal/spline/fancy/wood{dir = 8},/turf/unsimulated/floor{icon_state = "asteroid"},/area/thunderfield)
-"eev" = (/obj/effect/floor_decal/industrial/warning/wiz{dir = 5},/turf/unsimulated/floor{icon_state = "lava"; name = "plating"},/area/wizard_station)
+"eev" = (/obj/effect/floor_decal/industrial/warning/wiz{dir = 5},/turf/unsimulated/floor{name = "plating"; icon_state = "lava"},/area/wizard_station)
"eeN" = (/turf/unsimulated/wall{icon_state = "riveted"; dir = 4},/area/alien)
"eeT" = (/obj/effect/floor_decal/spline/fancy{dir = 4},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/centcom/holding)
-"efb" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 4},/obj/machinery/meter,/turf/simulated/floor/plating{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
-"egb" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/machinery/door/airlock/hatch{frequency = 1380; icon_state = "door_locked"; id_tag = "vox_southwest_lock"; locked = 1; name = "Ship External Access"; req_one_access = 150},/turf/simulated/floor/plating{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
-"ehb" = (/obj/structure/table/rack,/obj/item/clothing/glasses/hud/plain/thermal/monocle,/turf/simulated/floor/shuttle/black{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
-"eib" = (/turf/simulated/floor/shuttle/black{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
-"ejb" = (/obj/random/junk,/turf/simulated/floor/shuttle/black{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
+"efb" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 4},/obj/machinery/meter,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"egb" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/machinery/door/airlock/hatch{name = "Ship External Access"; icon_state = "door_locked"; frequency = 1380; locked = 1; req_one_access = 150; id_tag = "vox_southwest_lock"},/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"ehb" = (/obj/structure/table/rack,/obj/item/clothing/glasses/hud/plain/thermal/monocle,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"eib" = (/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"ejb" = (/obj/random/junk,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
"ejY" = (/obj/structure/table/rack,/obj/item/clothing/head/bowler,/turf/simulated/floor/trim/wood,/area/thunderfield)
-"ekb" = (/obj/structure/table/rack,/obj/item/gun/launcher/alien/spikethrower,/turf/simulated/floor/shuttle/black{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
+"ekb" = (/obj/structure/table/rack,/obj/item/gun/launcher/alien/spikethrower,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
"ekB" = (/obj/structure/bed/chair/wood{dir = 4},/turf/simulated/floor/trim/wood,/area/thunderfield)
-"elb" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/machinery/door/airlock/hatch{frequency = 1380; id_tag = "skipjack_shuttle_inner"; name = "Ship External Access"; req_one_access = 150},/turf/simulated/floor/plating{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
+"elb" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/machinery/door/airlock/hatch{name = "Ship External Access"; frequency = 1380; req_one_access = 150; id_tag = "skipjack_shuttle_inner"},/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
"eli" = (/obj/structure/table/woodentable{dir = 5},/obj/item/reagent_containers/vessel/bottle/winesparkling,/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/holding)
-"elB" = (/obj/machinery/door/blast/regular{dir = 4; id = "ASSAULT"; name = "Assault Armor Storage"},/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/centcom/specops)
-"elK" = (/turf/simulated/shuttle/wall/syndi{dir = 8; icon_state = "syndiwall_b"},/area/syndicate_mothership/ninja)
-"emb" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "vox_west_control"; name = "interior access button"; pixel_x = -25; pixel_y = 25; req_access = list(150)},/turf/simulated/floor/plating{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
-"enb" = (/obj/structure/closet/crate/freezer/rations,/turf/simulated/floor/plating{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
-"eob" = (/obj/structure/table/standard,/obj/item/material/kitchen/utensil/knife/unathiknife,/turf/simulated/floor/plating{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
-"eoj" = (/turf/simulated/shuttle/wall/syndi{dir = 4; icon_state = "syndiwall"},/area/syndicate_station/start)
+"elB" = (/obj/machinery/door/blast/regular{name = "Assault Armor Storage"; dir = 4; id = "ASSAULT"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
+"elK" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_b"; dir = 8},/area/syndicate_mothership/ninja)
+"emb" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/machinery/access_button{name = "interior access button"; pixel_x = -25; pixel_y = 25; frequency = 1380; req_access = list(150); command = "cycle_interior"; master_tag = "vox_west_control"},/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"enb" = (/obj/structure/closet/crate/freezer/rations,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"eob" = (/obj/structure/table/standard,/obj/item/material/kitchen/utensil/knife/unathiknife,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"eoj" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 4},/area/syndicate_station/start)
"eou" = (/obj/structure/flora/tree/dead/deadtree_2,/turf/unsimulated/floor{icon_state = "asteroidplating"},/area/thunderfield)
-"epb" = (/obj/structure/table/standard,/obj/item/storage/box/donkpockets,/obj/item/storage/box/donkpockets,/turf/simulated/floor/plating{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
-"eqb" = (/obj/structure/table/standard,/obj/machinery/microwave,/turf/simulated/floor/plating{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
-"erb" = (/obj/structure/closet,/turf/simulated/floor/shuttle/black{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
+"epb" = (/obj/structure/table/standard,/obj/item/storage/box/donkpockets,/obj/item/storage/box/donkpockets,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"eqb" = (/obj/structure/table/standard,/obj/machinery/microwave,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"erb" = (/obj/structure/closet,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
"erv" = (/turf/unsimulated/wall{icon_state = "riveted"},/area/alien)
-"esb" = (/obj/structure/table/rack,/obj/item/storage/belt/utility/full,/obj/item/storage/belt/utility/full,/obj/item/device/multitool,/obj/item/device/multitool,/turf/simulated/floor/plating{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
-"etb" = (/obj/machinery/autolathe,/turf/simulated/floor/plating{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
+"esb" = (/obj/structure/table/rack,/obj/item/storage/belt/utility/full,/obj/item/storage/belt/utility/full,/obj/item/device/multitool,/obj/item/device/multitool,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"etb" = (/obj/machinery/autolathe,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
"etz" = (/turf/simulated/floor/trim/wood,/area/thunderfield)
-"eub" = (/obj/structure/table/standard,/obj/item/clothing/gloves/insulated,/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/glass{amount = 50},/turf/simulated/floor/plating{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
-"evb" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
-"ewb" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "skipjack_shuttle"; name = "interior access button"; pixel_x = 25; pixel_y = 25; req_access = list(150)},/obj/effect/decal/cleanable/blood/oil,/turf/simulated/floor/plating{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
-"exb" = (/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor/plating{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
-"eyb" = (/obj/item/robot_parts/r_arm,/turf/simulated/floor/plating{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
-"eyn" = (/turf/unsimulated/wall{icon_state = "riveted_t"; dir = 8},/area/space)
-"ezb" = (/obj/random/ammo,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
+"eub" = (/obj/structure/table/standard,/obj/item/clothing/gloves/insulated,/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/glass{amount = 50},/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"evb" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"ewb" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/machinery/access_button{name = "interior access button"; pixel_x = 25; pixel_y = 25; frequency = 1380; req_access = list(150); command = "cycle_interior"; master_tag = "skipjack_shuttle"},/obj/effect/decal/cleanable/blood/oil,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"exb" = (/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"eyb" = (/obj/item/robot_parts/r_arm,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"ezb" = (/obj/random/ammo,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
"ezn" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_b"},/area/shuttle/administration/centcom)
-"eAb" = (/obj/structure/window_frame/reinforced/hull,/turf/simulated/floor/shuttle/black{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
-"eBb" = (/obj/machinery/door/airlock/hatch{req_access = list(150)},/turf/simulated/floor/shuttle/black{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
+"eAb" = (/obj/structure/window_frame/reinforced/hull,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"eBb" = (/obj/machinery/door/airlock/hatch{req_access = list(150)},/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
"eBD" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 8},/area/syndicate_mothership)
-"eCb" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
-"eDb" = (/obj/item/robot_parts/head,/turf/simulated/floor/plating{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
-"eDq" = (/turf/simulated/shuttle/wall/syndi{dir = 4; icon_state = "syndiwall_t"},/area/syndicate_station/start)
+"eCb" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"eDb" = (/obj/item/robot_parts/head,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"eDq" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_t"; dir = 4},/area/syndicate_station/start)
"eDr" = (/obj/structure/table/rack,/obj/item/backwear/reagent/extinguisher,/obj/item/backwear/reagent/extinguisher,/obj/item/backwear/reagent/extinguisher,/turf/simulated/floor/plating,/area/rescue_base/start)
-"eEb" = (/obj/structure/window_frame/reinforced/hull,/turf/simulated/floor/plating{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
-"eFb" = (/obj/machinery/door/airlock/hatch{req_access = list(150)},/turf/simulated/floor/plating{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
-"eGb" = (/obj/random/junk,/turf/simulated/floor/plating{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
+"eEb" = (/obj/structure/window_frame/reinforced/hull,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"eFb" = (/obj/machinery/door/airlock/hatch{req_access = list(150)},/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"eGb" = (/obj/random/junk,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
"eGK" = (/turf/unsimulated/wall{icon_state = "riveted_l"},/area/centcom/specops)
-"eHb" = (/obj/item/bodybag,/turf/simulated/floor/plating{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
-"eIb" = (/obj/structure/closet/crate/trashcart,/turf/simulated/floor/plating{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
-"eJb" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/shuttle/black{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
-"eKb" = (/obj/structure/bed/chair,/turf/simulated/floor/shuttle/black{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
-"eLb" = (/obj/machinery/light/small{dir = 4; pixel_y = 8},/turf/simulated/floor/shuttle/black{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
-"eMb" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/random/junk,/turf/simulated/floor/plating{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
-"eNb" = (/obj/structure/synthesized_instrument/synthesizer/piano,/turf/simulated/floor/shuttle/black{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
-"eOb" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/shuttle/black{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
+"eHb" = (/obj/item/bodybag,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"eIb" = (/obj/structure/closet/crate/trashcart,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"eJb" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"eKb" = (/obj/structure/bed/chair,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"eLb" = (/obj/machinery/light/small{dir = 4; pixel_y = 8},/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"eMb" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/random/junk,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"eNb" = (/obj/structure/synthesized_instrument/synthesizer/piano,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"eOb" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
"eOL" = (/turf/unsimulated/wall{icon_state = "riveted"; dir = 1},/area/space)
-"ePb" = (/obj/structure/table/steel,/obj/random/drinkbottle,/turf/simulated/floor/shuttle/black{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
+"ePb" = (/obj/structure/table/steel,/obj/random/drinkbottle,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
"ePR" = (/obj/structure/table/standard,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/reagent_containers/spray/cleaner,/obj/item/stack/nanopaste,/obj/effect/floor_decal/corner/beige/three_quarters{dir = 4},/obj/effect/floor_decal/corner/beige{dir = 10},/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "steel_rough"},/area/centcom/holding)
-"eQb" = (/obj/structure/table/steel,/obj/item/trash/dish/bowl,/turf/simulated/floor/shuttle/black{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
+"eQb" = (/obj/structure/table/steel,/obj/item/trash/dish/bowl,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
"eQy" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/item/reagent_containers/spray/cleaner,/obj/effect/floor_decal/corner/pink{dir = 10},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding)
"eQX" = (/obj/effect/floor_decal/corner/pink{dir = 9},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding)
-"eRb" = (/obj/structure/table/steel,/obj/item/storage/fancy/cigarettes,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/shuttle/black{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
-"eRP" = (/obj/machinery/pipedispenser/orderable,/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/rescue_base/base)
-"eSb" = (/obj/structure/table/steel,/obj/item/storage/box/handcuffs,/turf/simulated/floor/shuttle/black{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
-"eTb" = (/obj/structure/sink{dir = 8; pixel_x = -12; pixel_y = 2},/obj/random/trash,/turf/simulated/floor/plating{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
-"eUb" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/item/wrench,/turf/simulated/floor/plating{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
-"eVb" = (/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
-"eWb" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
-"eXb" = (/obj/structure/mopbucket,/obj/item/mop,/turf/simulated/floor/plating{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
-"eYb" = (/obj/structure/table/steel,/obj/random/medical,/turf/simulated/floor/shuttle/black{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
-"eZb" = (/obj/structure/table/steel,/obj/item/flame/lighter/zippo,/turf/simulated/floor/shuttle/black{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
+"eRb" = (/obj/structure/table/steel,/obj/item/storage/fancy/cigarettes,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"eRP" = (/obj/machinery/pipedispenser/orderable,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"eSb" = (/obj/structure/table/steel,/obj/item/storage/box/handcuffs,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"eTb" = (/obj/structure/sink{dir = 8; pixel_x = -12; pixel_y = 2},/obj/random/trash,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"eUb" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/item/wrench,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"eVb" = (/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"eWb" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"eXb" = (/obj/structure/mopbucket,/obj/item/mop,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"eYb" = (/obj/structure/table/steel,/obj/random/medical,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"eZb" = (/obj/structure/table/steel,/obj/item/flame/lighter/zippo,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
"eZW" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding)
-"fab" = (/obj/structure/table/steel,/obj/structure/table/steel,/obj/item/pizzabox/meat,/turf/simulated/floor/shuttle/black{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
+"fab" = (/obj/structure/table/steel,/obj/structure/table/steel,/obj/item/pizzabox/meat,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
"fam" = (/turf/unsimulated/wall{icon_state = "riveted_t"; dir = 1},/area/rescue_base/base)
"faT" = (/obj/effect/floor_decal/spline/fancy/wood{dir = 8},/obj/effect/floor_decal/spline/fancy/wood{dir = 1},/turf/unsimulated/floor{icon_state = "asteroid"},/area/thunderfield)
-"fbb" = (/obj/structure/table/steel,/obj/machinery/recharger,/turf/simulated/floor/shuttle/black{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
+"fbb" = (/obj/structure/table/steel,/obj/machinery/recharger,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
"fbY" = (/obj/structure/flora/ausbushes/fernybush,/obj/effect/floor_decal/spline/fancy/wood{dir = 1},/turf/unsimulated/floor{icon_state = "asteroid"},/area/thunderfield)
-"fcb" = (/obj/structure/toilet{dir = 4},/turf/simulated/floor/plating{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
-"fdb" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor/plating{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
-"feb" = (/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
-"fee" = (/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "rescuebridge"; name = "Bridge Blast Shutters"; opacity = 0},/obj/structure/window/syndi{icon_state = "ws2"},/turf/simulated/floor/plating,/area/rescue_base/start)
-"ffb" = (/obj/structure/table/steel,/obj/item/storage/firstaid,/turf/simulated/floor/shuttle/black{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
+"fcb" = (/obj/structure/toilet{dir = 4},/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"fdb" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"feb" = (/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"fee" = (/obj/machinery/door/blast/regular{name = "Bridge Blast Shutters"; icon_state = "pdoor0"; opacity = 0; density = 0; dir = 4; id = "rescuebridge"},/obj/structure/window/syndi{icon_state = "ws2"},/turf/simulated/floor/plating,/area/rescue_base/start)
+"ffb" = (/obj/structure/table/steel,/obj/item/storage/firstaid,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
"ffK" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 1},/area/tdome)
-"fgb" = (/obj/machinery/light/small,/turf/simulated/floor/shuttle/black{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
+"fgb" = (/obj/machinery/light/small,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
"fgO" = (/obj/structure/table/standard,/obj/item/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/folder/blue,/obj/item/pen,/obj/machinery/light,/turf/simulated/floor/shuttle/blue,/area/shuttle/escape/centcom)
-"fhb" = (/obj/structure/flora/pottedplant/autumn,/turf/simulated/floor/shuttle/black{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
+"fhb" = (/obj/structure/flora/pottedplant/autumn,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
"fhm" = (/obj/structure/bed/chair/wood{dir = 8},/turf/simulated/floor/trim/carpet/red,/area/thunderfield)
-"fib" = (/obj/machinery/vending/cigarette{name = "hacked cigarette machine"; prices = list(); products = list(/obj/item/storage/fancy/cigarettes=10,/obj/item/storage/box/matches=10,/obj/item/flame/lighter/zippo=4,/obj/item/clothing/mask/smokable/cigarette/cigar/havana=2)},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
+"fib" = (/obj/machinery/vending/cigarette{name = "hacked cigarette machine"; products = list(/obj/item/storage/fancy/cigarettes=10, /obj/item/storage/box/matches=10, /obj/item/flame/lighter/zippo=4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana=2); prices = list()},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
"fit" = (/obj/structure/closet/crate/trashcart,/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/thunderfield)
-"fjb" = (/obj/structure/table/rack/holorack,/obj/item/shovel,/obj/item/storage/toolbox/mechanical,/obj/item/tank/nitrogen,/obj/item/tank/nitrogen,/obj/item/tank/nitrogen,/turf/simulated/floor/shuttle/black{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
-"fkb" = (/obj/structure/table/rack/holorack,/obj/item/wrench,/obj/item/crowbar,/obj/item/gun/energy/crossbow,/turf/simulated/floor/shuttle/black{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
-"flb" = (/obj/structure/table/rack/holorack,/obj/item/beartrap,/obj/item/beartrap,/obj/item/beartrap,/obj/item/beartrap,/obj/item/beartrap,/obj/item/storage/belt/vox,/obj/item/storage/belt/vox,/obj/item/storage/belt/vox,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/shuttle/black{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
-"fmb" = (/obj/item/robot_parts/robot_suit,/obj/item/robot_parts/r_arm,/turf/simulated/floor/shuttle/black{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
-"fnb" = (/obj/structure/window_frame/reinforced/hull,/turf/simulated/floor/shuttle/white{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
+"fjb" = (/obj/item/shovel,/obj/item/storage/toolbox/mechanical,/obj/item/tank/nitrogen,/obj/item/tank/nitrogen,/obj/item/tank/nitrogen,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"fkb" = (/obj/item/wrench,/obj/item/crowbar,/obj/item/gun/energy/crossbow,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"flb" = (/obj/item/beartrap,/obj/item/beartrap,/obj/item/beartrap,/obj/item/beartrap,/obj/item/beartrap,/obj/item/storage/belt/vox,/obj/item/storage/belt/vox,/obj/item/storage/belt/vox,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"fmb" = (/obj/item/robot_parts/robot_suit,/obj/item/robot_parts/r_arm,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"fnb" = (/obj/structure/window_frame/reinforced/hull,/turf/simulated/floor/shuttle/white{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
"fnx" = (/obj/structure/table/woodentable{dir = 5},/obj/item/deck/cards,/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/holding)
"fnY" = (/turf/unsimulated/wall{icon_state = "riveted"},/area/centcom/holding)
-"fob" = (/obj/machinery/door/airlock/hatch{req_access = list(150)},/turf/simulated/floor/shuttle/white{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
+"fob" = (/obj/machinery/door/airlock/hatch{req_access = list(150)},/turf/simulated/floor/shuttle/white{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
"foo" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_d"},/area/shuttle/administration/centcom)
-"fpb" = (/obj/structure/table/rack/holorack,/obj/item/gun/launcher/grenade,/obj/machinery/light/small{dir = 4; pixel_y = 8},/turf/simulated/floor/shuttle/black{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
+"fpb" = (/obj/item/gun/launcher/grenade,/obj/machinery/light/small{dir = 4; pixel_y = 8},/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
"fpX" = (/obj/structure/sign/double/maltesefalcon/right,/turf/unsimulated/wall{icon_state = "riveted_straight"; dir = 8},/area/skipjack_station/base)
-"fqb" = (/obj/structure/closet/crate,/obj/item/implanter/freedom,/obj/item/implantcase/freedom,/obj/item/implanter/explosive,/obj/item/implantcase/explosive,/obj/item/card/emag,/obj/item/melee/energy/sword/pirate,/obj/item/melee/energy/sword/pirate,/turf/simulated/floor/shuttle/black{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
-"frb" = (/obj/structure/table/standard,/obj/item/retractor,/obj/item/circular_saw{pixel_y = 8},/obj/item/cautery,/obj/item/scalpel,/obj/item/hemostat,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/shuttle/white{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
+"fqb" = (/obj/structure/closet/crate,/obj/item/implanter/freedom,/obj/item/implantcase/freedom,/obj/item/implanter/explosive,/obj/item/implantcase/explosive,/obj/item/card/emag,/obj/item/melee/energy/sword/pirate,/obj/item/melee/energy/sword/pirate,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"frb" = (/obj/structure/table/standard,/obj/item/retractor,/obj/item/circular_saw{pixel_y = 8},/obj/item/cautery,/obj/item/scalpel,/obj/item/hemostat,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/shuttle/white{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
"frJ" = (/obj/effect/floor_decal/industrial/warning{dir = 1; layer = 3},/obj/effect/floor_decal/corner/pink{dir = 6},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding)
-"fsb" = (/turf/simulated/floor/shuttle/white{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
+"fsb" = (/turf/simulated/floor/shuttle/white{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
"fsD" = (/turf/unsimulated/wall{icon_state = "riveted"},/area/syndicate_mothership/elite_squad)
"fsQ" = (/obj/machinery/atm{pixel_y = 24},/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "steel_rough"},/area/centcom/holding)
-"ftb" = (/obj/structure/gas_stand/anesthetic,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/shuttle/white{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
+"ftb" = (/obj/structure/gas_stand/anesthetic,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/shuttle/white{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
"ftv" = (/obj/item/device/camera,/obj/structure/table/standard{name = "plastic table frame"},/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_mono"},/area/centcom/holding)
-"ftF" = (/turf/simulated/shuttle/wall/syndi{dir = 8; icon_state = "syndiwall_b"},/area/syndicate_station/start)
-"fub" = (/obj/item/grenade/frag,/obj/item/grenade/frag,/obj/item/grenade/flashbang,/obj/item/grenade/flashbang,/obj/item/grenade/flashbang,/obj/item/grenade/chem_grenade/teargas,/obj/item/grenade/chem_grenade/teargas,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/spawnergrenade/manhacks,/obj/item/grenade/empgrenade,/obj/item/grenade/empgrenade,/obj/structure/closet/crate,/turf/simulated/floor/shuttle/black{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
+"ftF" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_b"; dir = 8},/area/syndicate_station/start)
+"fub" = (/obj/item/grenade/frag,/obj/item/grenade/frag,/obj/item/grenade/flashbang,/obj/item/grenade/flashbang,/obj/item/grenade/flashbang,/obj/item/grenade/chem_grenade/teargas,/obj/item/grenade/chem_grenade/teargas,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/spawnergrenade/manhacks,/obj/item/grenade/empgrenade,/obj/item/grenade/empgrenade,/obj/structure/closet/crate,/turf/simulated/floor/shuttle/black{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
"fur" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 8},/area/tdome)
-"fvb" = (/obj/structure/table/standard,/obj/item/reagent_containers/vessel/bottle/chemical/stoxin,/obj/item/stack/medical/advanced/bruise_pack,/obj/item/reagent_containers/vessel/bottle/chemical/stoxin,/obj/item/reagent_containers/syringe/antiviral/packaged,/obj/item/reagent_containers/syringe,/obj/item/storage/firstaid/toxin{pixel_x = 3; pixel_y = 3},/obj/item/storage/firstaid/adv{pixel_x = 1},/obj/item/storage/firstaid/o2{pixel_x = 3; pixel_y = 3},/obj/item/storage/firstaid/fire{pixel_x = 1},/turf/simulated/floor/shuttle/white{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
-"fwb" = (/obj/structure/table/standard,/obj/item/bonesetter,/obj/item/FixOVein,/obj/item/bonegel,/obj/item/reagent_containers/syringe/antiviral/packaged,/obj/item/organfixer/standard,/turf/simulated/floor/shuttle/white{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
+"fvb" = (/obj/structure/table/standard,/obj/item/reagent_containers/vessel/bottle/chemical/stoxin,/obj/item/stack/medical/advanced/bruise_pack,/obj/item/reagent_containers/vessel/bottle/chemical/stoxin,/obj/item/reagent_containers/syringe/antiviral/packaged,/obj/item/reagent_containers/syringe,/obj/item/storage/firstaid/toxin{pixel_x = 3; pixel_y = 3},/obj/item/storage/firstaid/adv{pixel_x = 1},/obj/item/storage/firstaid/o2{pixel_x = 3; pixel_y = 3},/obj/item/storage/firstaid/fire{pixel_x = 1},/turf/simulated/floor/shuttle/white{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"fwb" = (/obj/structure/table/standard,/obj/item/bonesetter,/obj/item/FixOVein,/obj/item/bonegel,/obj/item/reagent_containers/syringe/antiviral/packaged,/obj/item/organfixer/standard,/turf/simulated/floor/shuttle/white{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
"fwf" = (/obj/structure/closet/secure_closet/medical1,/obj/effect/floor_decal/corner/beige{dir = 9},/obj/effect/floor_decal/corner/beige{dir = 10},/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "steel_rough"},/area/centcom/holding)
-"fxb" = (/obj/machinery/optable,/turf/simulated/floor/shuttle/white{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
+"fxb" = (/obj/machinery/optable,/turf/simulated/floor/shuttle/white{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
"fxH" = (/obj/effect/floor_decal/carpet{dir = 8},/obj/structure/table/woodentable{dir = 5},/obj/item/reagent_containers/food/soylentgreen,/turf/unsimulated/floor{icon_state = "carpet"},/area/centcom/holding)
-"fyb" = (/obj/machinery/body_scanconsole{dir = 4},/turf/simulated/floor/shuttle/white{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
-"fzb" = (/obj/machinery/bodyscanner{dir = 4},/turf/simulated/floor/shuttle/white{initial_gas = list("nitrogen"=103.984)},/area/skipjack_station/start)
+"fyb" = (/obj/machinery/body_scanconsole{dir = 4},/turf/simulated/floor/shuttle/white{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
+"fzb" = (/obj/machinery/bodyscanner{dir = 4},/turf/simulated/floor/shuttle/white{initial_gas = list(nitrogen=103.984)},/area/skipjack_station/start)
"fzf" = (/obj/effect/decal/remains,/turf/unsimulated/floor{icon_state = "asteroidplating"},/area/thunderfield)
"fzQ" = (/obj/structure/table/woodentable,/obj/item/clothing/head/collectable/paper,/turf/simulated/floor/trim/carpet/purple,/area/thunderfield)
-"fAC" = (/turf/simulated/shuttle/wall/syndi{dir = 5; icon_state = "syndiwall"},/area/shuttle/deathsquad/centcom)
+"fAC" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 5},/area/shuttle/deathsquad/centcom)
"fBF" = (/obj/structure/bed/chair/wood,/turf/simulated/floor/trim/wood,/area/thunderfield)
"fDc" = (/obj/structure/flora/ausbushes,/turf/unsimulated/floor{icon_state = "asteroid"},/area/thunderfield)
"fDm" = (/obj/effect/floor_decal/corner/beige{dir = 10},/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "steel_rough"},/area/centcom/holding)
@@ -2877,9 +2609,8 @@
"fFg" = (/obj/machinery/organ_printer/robot/mapped,/obj/effect/floor_decal/corner/pink/three_quarters,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding)
"fFh" = (/obj/effect/floor_decal/spline/fancy/wood{dir = 8},/obj/structure/flora/tree/dead/deadtree_5,/turf/unsimulated/floor{icon_state = "asteroid"},/area/thunderfield)
"fFq" = (/obj/structure/dogbed,/obj/item/stack/material/animalhide/corgi,/turf/unsimulated/floor{icon_state = "asteroid"},/area/thunderfield)
-"fFz" = (/obj/effect/floor_decal/industrial/warning/wiz{dir = 1},/turf/unsimulated/floor{icon_state = "grass0"; name = "grass"},/area/wizard_station)
-"fGo" = (/obj/machinery/door/blast/regular{dir = 8; id = "thunderdomegen"; name = "General Supply"},/obj/machinery/door/blast/regular{dir = 8; id = "thunderdomegen"; name = "General Supply"},/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/tdome)
-"fGW" = (/turf/simulated/floor/holofloor/desert,/area/holodeck/source_desert)
+"fFz" = (/obj/effect/floor_decal/industrial/warning/wiz{dir = 1},/turf/unsimulated/floor{name = "grass"; icon_state = "grass0"},/area/wizard_station)
+"fGo" = (/obj/machinery/door/blast/regular{name = "General Supply"; dir = 8; id = "thunderdomegen"},/obj/machinery/door/blast/regular{name = "General Supply"; dir = 8; id = "thunderdomegen"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome)
"fJc" = (/turf/unsimulated/wall{icon_state = "riveted_c"; dir = 1},/area/centcom/specops)
"fNf" = (/obj/effect/floor_decal/spline/fancy{dir = 6},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/centcom/holding)
"fQF" = (/obj/structure/bed,/obj/item/bedsheet/red,/obj/item/shield/buckler,/turf/simulated/floor/trim/wood,/area/thunderfield)
@@ -2889,7 +2620,7 @@
"fTh" = (/turf/unsimulated/wall{icon_state = "riveted"},/area/centcom/creed)
"fTw" = (/obj/structure/table/woodentable,/obj/item/device/flash,/turf/simulated/floor/trim/wood,/area/thunderfield)
"fWG" = (/turf/unsimulated/wall{icon_state = "riveted_b"; dir = 8},/area/syndicate_mothership)
-"fZD" = (/obj/machinery/door/airlock{id_tag = "Dormitory 2"; name = "Dormitory"},/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/holding)
+"fZD" = (/obj/machinery/door/airlock{name = "Dormitory"; id_tag = "Dormitory 2"},/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/holding)
"gaH" = (/obj/effect/floor_decal/corner/pink{dir = 5},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding)
"geb" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 1},/area/syndicate_mothership)
"ghw" = (/obj/effect/decal/remains,/obj/item/stack/material/animalhide/cat,/turf/unsimulated/floor{icon_state = "asteroidplating"},/area/thunderfield)
@@ -2905,7 +2636,7 @@
"grq" = (/obj/structure/bed,/obj/item/bedsheet/brown,/turf/simulated/floor/trim/wood,/area/thunderfield)
"gAj" = (/obj/structure/mirror/raider,/turf/unsimulated/wall{icon_state = "riveted"; dir = 8},/area/skipjack_station/base)
"gBq" = (/obj/effect/floor_decal/corner/pink{dir = 1},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding)
-"gHJ" = (/obj/machinery/button/remote/airlock{dir = 4; id = "Dormitory 2"; name = "Door Bolts"; pixel_x = -25; specialfunctions = 4},/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/holding)
+"gHJ" = (/obj/machinery/button/remote/airlock{name = "Door Bolts"; dir = 4; pixel_x = -25; id = "Dormitory 2"; specialfunctions = 4},/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/holding)
"gJu" = (/obj/effect/decal/remains,/obj/random/maintenance,/turf/simulated/floor/tiled/dark,/area/thunderfield)
"gMD" = (/turf/unsimulated/wall{icon_state = "riveted_t"; dir = 8},/area/syndicate_mothership)
"gNM" = (/turf/space,/turf/simulated/shuttle/wall/corner/syndi/nw,/area/syndicate_station/start)
@@ -2916,24 +2647,23 @@
"gWk" = (/turf/unsimulated/wall{icon_state = "riveted_straight"; dir = 8},/area/rescue_base/base)
"gZb" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"; dir = 6},/area/shuttle/escape/centcom)
"gZx" = (/turf/unsimulated/wall{icon_state = "riveted"; dir = 8},/area/centcom/specops)
-"gZG" = (/obj/effect/floor_decal/industrial/warning/dust{dir = 9},/obj/structure/barricade/material{layer = 6},/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/thunderfield)
+"gZG" = (/obj/effect/floor_decal/industrial/warning/dust{dir = 9},/obj/structure/barricade/material,/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/thunderfield)
"gZK" = (/turf/unsimulated/wall{icon_state = "riveted"; dir = 4},/area/tdome)
"hah" = (/obj/machinery/atmospherics/pipe/manifold/visible,/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/centcom/holding)
"hal" = (/turf/simulated/shuttle/wall{icon_state = "syndiwall_d"; dir = 1},/area/shuttle/escape/centcom)
"hcf" = (/obj/structure/table/gamblingtable,/obj/item/deck/cards,/obj/item/reagent_containers/vessel/bottle/rum,/obj/item/wrench,/turf/simulated/floor/trim/carpet/orange,/area/thunderfield)
"hdp" = (/turf/unsimulated/wall{icon_state = "riveted"; dir = 8},/area/rescue_base/base)
-"hgT" = (/turf/simulated/shuttle/wall/syndi{dir = 8; icon_state = "syndiwall_straight"},/area/syndicate_station/start)
+"hgT" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_straight"; dir = 8},/area/syndicate_station/start)
"hhg" = (/turf/unsimulated/wall{icon_state = "riveted_d"; dir = 1},/area/tdome)
-"hop" = (/turf/simulated/shuttle/wall/syndi{dir = 4; icon_state = "syndiwall"},/area/shuttle/administration/centcom)
+"hop" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 4},/area/shuttle/administration/centcom)
"hoz" = (/obj/effect/floor_decal/spline/fancy/wood{dir = 8},/turf/unsimulated/floor{icon_state = "asteroid"},/area/thunderfield)
"hoP" = (/obj/effect/floor_decal/corner/pink{dir = 10},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding)
"hrh" = (/turf/unsimulated/wall{icon_state = "riveted_straight"; dir = 8},/area/syndicate_mothership/elite_squad)
"htP" = (/obj/effect/floor_decal/spline/fancy/wood{dir = 8},/obj/effect/floor_decal/spline/fancy/wood,/turf/unsimulated/floor{icon_state = "asteroid"},/area/thunderfield)
"huC" = (/obj/effect/floor_decal/corner/pink,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding)
"huG" = (/obj/item/clothing/head/collectable/kitty,/turf/simulated/floor/tiled/dark,/area/thunderfield)
-"hxl" = (/obj/structure/flora/ausbushes/grassybush,/obj/structure/flora/ausbushes/brflowers,/turf/unsimulated/floor{icon_state = "grass0"; name = "grass"},/area/centcom/holding)
+"hxl" = (/obj/structure/flora/ausbushes/grassybush,/obj/structure/flora/ausbushes/brflowers,/turf/unsimulated/floor{name = "grass"; icon_state = "grass0"},/area/centcom/holding)
"hyv" = (/turf/space,/turf/simulated/shuttle/wall/corner/smoothwhite/sw,/area/shuttle/escape/centcom)
-"hDw" = (/obj/structure/window/reinforced/crescent{dir = 4},/turf/unsimulated/wall{icon_state = "riveted_t"; dir = 4},/area/space)
"hEM" = (/obj/structure/closet/l3closet/janitor,/turf/simulated/floor/tiled/dark,/area/thunderfield)
"hFx" = (/obj/item/shield/buckler,/turf/simulated/floor/tiled/dark,/area/thunderfield)
"hFA" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/effect/floor_decal/corner/pink/three_quarters{dir = 4},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding)
@@ -2960,20 +2690,20 @@
"inj" = (/obj/machinery/door/airlock/hatch,/turf/unsimulated/floor{icon_state = "asteroid"},/area/thunderfield)
"iql" = (/obj/structure/table/gamblingtable,/obj/random/maintenance,/turf/simulated/floor/trim/carpet/red,/area/thunderfield)
"iqz" = (/obj/structure/table/woodentable,/obj/item/material/knife/butch,/turf/simulated/floor/trim/wood,/area/thunderfield)
-"isX" = (/obj/structure/barricade/material{layer = 6},/turf/unsimulated/floor{icon_state = "asteroid"},/area/thunderfield)
+"isX" = (/obj/structure/barricade/material,/turf/unsimulated/floor{icon_state = "asteroid"},/area/thunderfield)
"itr" = (/obj/structure/grille,/obj/structure/window/shuttle{icon_state = "window-whiteship"; dir = 1},/turf/simulated/floor/plating,/area/centcom/evac)
"ivb" = (/turf/unsimulated/wall{icon_state = "riveted"; dir = 4},/area/syndicate_mothership)
"iyi" = (/obj/structure/table/woodentable,/obj/item/clothing/head/rasta,/turf/simulated/floor/trim/wood,/area/thunderfield)
-"izw" = (/obj/item/remains/human,/obj/effect/floor_decal/industrial/warning/wiz{dir = 6},/turf/unsimulated/floor{icon_state = "lava"; name = "plating"},/area/wizard_station)
-"izU" = (/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "rescuebridge"; name = "Bridge Blast Shutters"; opacity = 0},/obj/structure/window/syndi{icon_state = "ws3"},/turf/simulated/floor/plating,/area/rescue_base/start)
-"iAF" = (/turf/simulated/shuttle/wall/syndi{dir = 6; icon_state = "syndiwall"},/area/shuttle/administration/centcom)
+"izw" = (/obj/item/remains/human,/obj/effect/floor_decal/industrial/warning/wiz{dir = 6},/turf/unsimulated/floor{name = "plating"; icon_state = "lava"},/area/wizard_station)
+"izU" = (/obj/machinery/door/blast/regular{name = "Bridge Blast Shutters"; icon_state = "pdoor0"; opacity = 0; density = 0; dir = 4; id = "rescuebridge"},/obj/structure/window/syndi{icon_state = "ws3"},/turf/simulated/floor/plating,/area/rescue_base/start)
+"iAF" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 6},/area/shuttle/administration/centcom)
"iBO" = (/turf/simulated/floor/trim/carpet/orange,/area/thunderfield)
"iCJ" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 1},/area/prison/solitary)
"iIr" = (/obj/effect/floor_decal/spline/fancy/wood,/turf/unsimulated/floor{icon_state = "asteroidplating"},/area/thunderfield)
"iKO" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_d"},/area/syndicate_station/start)
-"iMj" = (/turf/simulated/shuttle/wall/syndi{dir = 1; icon_state = "syndiwall_straight"},/area/shuttle/administration/centcom)
-"iOF" = (/turf/simulated/shuttle/wall/syndi{dir = 4; icon_state = "syndiwall_v"},/area/shuttle/administration/centcom)
-"iQq" = (/turf/simulated/shuttle/wall/syndi{dir = 4; icon_state = "syndiwall_d"},/area/syndicate_station/start)
+"iMj" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_straight"; dir = 1},/area/shuttle/administration/centcom)
+"iOF" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_v"; dir = 4},/area/shuttle/administration/centcom)
+"iQq" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_d"; dir = 4},/area/syndicate_station/start)
"iRH" = (/turf/unsimulated/wall{icon_state = "riveted_straight"},/area/centcom/suppy)
"iSp" = (/obj/structure/spider/stickyweb,/obj/structure/spider/stickyweb,/turf/simulated/floor/trim/wood,/area/thunderfield)
"iTN" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 1},/area/centcom/living)
@@ -2986,84 +2716,81 @@
"jbA" = (/turf/unsimulated/wall{icon_state = "riveted"},/area/wizard_station)
"jdb" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 8},/area/centcom/specops)
"jfG" = (/turf/unsimulated/wall{icon_state = "riveted_l"},/area/syndicate_mothership)
-"jiw" = (/turf/simulated/shuttle/wall/syndi{dir = 1; icon_state = "syndiwall_d"},/area/syndicate_station/start)
+"jiw" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_d"; dir = 1},/area/syndicate_station/start)
"jiE" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 8},/area/prison/solitary)
-"jjI" = (/turf/simulated/shuttle/wall/syndi{dir = 1; icon_state = "syndiwall_t"},/area/shuttle/administration/centcom)
-"jkb" = (/obj/structure/barricade/material{layer = 6},/turf/simulated/floor/tiled/dark,/area/thunderfield)
+"jjI" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_t"; dir = 1},/area/shuttle/administration/centcom)
+"jkb" = (/obj/structure/barricade/material,/turf/simulated/floor/tiled/dark,/area/thunderfield)
"jlm" = (/obj/effect/decal/cleanable/vomit,/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/thunderfield)
"jmK" = (/turf/unsimulated/wall{icon_state = "riveted_straight"},/area/rescue_base/base)
"jou" = (/obj/random/closet,/turf/simulated/floor/trim/wood{icon_state = "wood_broken4"},/area/thunderfield)
-"joD" = (/turf/simulated/shuttle/wall/syndi{dir = 1; icon_state = "syndiwall_d"},/area/shuttle/syndicate_elite/mothership)
+"joD" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_d"; dir = 1},/area/shuttle/syndicate_elite/mothership)
"joH" = (/turf/simulated/shuttle/wall{icon_state = "syndiwall_c"; dir = 2},/area/shuttle/escape/centcom)
"jpU" = (/obj/structure/flora/pottedplant/tropicalflowers,/obj/structure/sign/poster{pixel_y = 32},/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/holding)
"jrv" = (/obj/structure/flora/ausbushes,/turf/unsimulated/floor{icon_state = "asteroidplating"},/area/thunderfield)
"jty" = (/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/thunderfield)
"juQ" = (/obj/effect/floor_decal/spline/fancy/wood{dir = 4},/turf/unsimulated/floor{icon_state = "asteroidplating"},/area/thunderfield)
-"juS" = (/obj/structure/window_frame/indestructible/hull,/turf/unsimulated/floor{icon_state = "grass0"; name = "grass"},/area/centcom/holding)
-"jyc" = (/turf/simulated/shuttle/wall/syndi{dir = 1; icon_state = "syndiwall_d"},/area/shuttle/administration/centcom)
+"juS" = (/obj/structure/window_frame/indestructible/hull,/turf/unsimulated/floor{name = "grass"; icon_state = "grass0"},/area/centcom/holding)
+"jyc" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_d"; dir = 1},/area/shuttle/administration/centcom)
"jyg" = (/turf/unsimulated/wall{icon_state = "riveted_c"},/area/centcom/living)
"jyE" = (/turf/unsimulated/wall{icon_state = "riveted_straight"; dir = 8},/area/syndicate_mothership)
-"jEy" = (/obj/machinery/computer/pod{id = "thunderdomegen"; name = "Thunderdome General Supply"},/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin)
+"jEy" = (/obj/machinery/computer/pod{name = "Thunderdome General Supply"; id = "thunderdomegen"},/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin)
"jIy" = (/obj/machinery/door/airlock/hatch,/turf/unsimulated/floor{icon_state = "asteroidplating"},/area/thunderfield)
"jIK" = (/turf/simulated/floor/plating,/turf/simulated/shuttle/wall/corner/smoothwhite/nw,/area/centcom/evac)
"jKE" = (/turf/unsimulated/wall{icon_state = "riveted_t"; dir = 4},/area/skipjack_station/base)
"jNQ" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 4},/area/thunderfield)
"jOd" = (/turf/unsimulated/wall{icon_state = "riveted"; dir = 1},/area/rescue_base/base)
-"jOE" = (/turf/simulated/shuttle/wall/syndi{dir = 8; icon_state = "syndiwall"},/area/syndicate_station/start)
+"jOE" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 8},/area/syndicate_station/start)
"jPT" = (/obj/structure/table/rack,/obj/effect/floor_decal/industrial/outline/yellow,/obj/item/device/binoculars,/turf/simulated/floor/tiled/dark,/area/thunderfield)
"jPX" = (/obj/structure/table/standard,/obj/item/storage/toolbox/mechanical,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin)
"jVS" = (/obj/structure/table/gamblingtable,/obj/random/maintenance,/turf/simulated/floor/trim/wood,/area/thunderfield)
-"jWj" = (/obj/machinery/door/blast/regular{id = "thunderdomegen"; name = "General Supply"},/obj/machinery/door/blast/regular{dir = 4; id = "thunderdomegen"; name = "General Supply"},/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/tdome)
+"jWj" = (/obj/machinery/door/blast/regular{name = "General Supply"; id = "thunderdomegen"},/obj/machinery/door/blast/regular{name = "General Supply"; dir = 4; id = "thunderdomegen"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome)
"jXs" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 4},/area/rescue_base/base)
"jYP" = (/turf/unsimulated/wall{icon_state = "riveted_t"; dir = 8},/area/prison/solitary)
"jZg" = (/obj/structure/spider/stickyweb,/turf/simulated/floor/tiled/dark,/area/thunderfield)
"kae" = (/turf/unsimulated/wall{icon_state = "riveted"; dir = 8},/area/syndicate_mothership/elite_squad)
"kaY" = (/obj/structure/window/syndi{icon_state = "ws5"},/turf/simulated/floor/plating,/area/rescue_base/start)
-"kaZ" = (/obj/effect/floor_decal/industrial/warning/dust{dir = 6},/obj/structure/barricade/material{layer = 6},/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/thunderfield)
-"kbp" = (/turf/simulated/shuttle/wall/syndi{dir = 6; icon_state = "syndiwall"},/area/syndicate_station/start)
-"kdp" = (/obj/structure/window/reinforced/crescent{dir = 1},/turf/unsimulated/wall{icon_state = "riveted_t"; dir = 1},/area/space)
-"kgz" = (/turf/simulated/shuttle/wall/syndi{dir = 9; icon_state = "syndiwall"},/area/syndicate_station/start)
+"kaZ" = (/obj/effect/floor_decal/industrial/warning/dust{dir = 6},/obj/structure/barricade/material,/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/thunderfield)
+"kbp" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 6},/area/syndicate_station/start)
+"kgz" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 9},/area/syndicate_station/start)
"kgP" = (/obj/effect/floor_decal/spline/fancy/wood{dir = 8},/obj/structure/flora/tree/dead/deadtree_2,/turf/unsimulated/floor{icon_state = "asteroidplating"},/area/thunderfield)
-"khn" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "syndieshutters_workshop"; name = "Shuttle Blast Shutters"; opacity = 0},/obj/structure/window/syndi{icon_state = "ws1"},/turf/simulated/floor/plating,/area/syndicate_station/start)
-"khN" = (/obj/structure/window/reinforced/crescent,/turf/unsimulated/wall{icon_state = "riveted_t"},/area/space)
+"khn" = (/obj/machinery/door/blast/regular{name = "Shuttle Blast Shutters"; icon_state = "pdoor0"; opacity = 0; density = 0; id = "syndieshutters_workshop"},/obj/structure/window/syndi{icon_state = "ws1"},/turf/simulated/floor/plating,/area/syndicate_station/start)
"kis" = (/obj/machinery/door/airlock/medical{name = "Morgue"},/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "dark_mono"},/area/centcom/holding)
"kja" = (/turf/unsimulated/wall{icon_state = "riveted_t"; dir = 4},/area/centcom/suppy)
"klt" = (/obj/effect/floor_decal/industrial/warning/dust{dir = 1},/obj/effect/decal/remains,/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/thunderfield)
"kmR" = (/obj/effect/decal/remains,/obj/structure/spider/stickyweb,/turf/simulated/floor/tiled/dark,/area/thunderfield)
"knv" = (/obj/structure/table/standard,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin)
-"koq" = (/obj/machinery/computer/pod{id = "thunderdomeaxe"; name = "Thunderdome Axe Supply"},/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin)
+"koq" = (/obj/machinery/computer/pod{name = "Thunderdome Axe Supply"; id = "thunderdomeaxe"},/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin)
"kpy" = (/obj/structure/bookcase,/obj/structure/spider/stickyweb,/turf/simulated/floor/trim/wood,/area/thunderfield)
"kqv" = (/turf/unsimulated/wall{icon_state = "riveted_c"; dir = 4},/area/syndicate_mothership)
"kre" = (/turf/unsimulated/wall{icon_state = "riveted_t"},/area/syndicate_mothership/elite_squad)
-"kvR" = (/obj/machinery/door/airlock/hatch,/obj/structure/barricade/material{layer = 6},/turf/unsimulated/floor{icon_state = "asteroid"},/area/thunderfield)
+"kvR" = (/obj/machinery/door/airlock/hatch,/obj/structure/barricade/material,/turf/unsimulated/floor{icon_state = "asteroid"},/area/thunderfield)
"kwe" = (/obj/machinery/door/airlock/centcom,/turf/simulated/floor/tiled/dark,/area/thunderfield)
"kxH" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/oxygen,/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/centcom/holding)
"kyL" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"; dir = 4},/area/centcom/evac)
-"kBj" = (/turf/simulated/shuttle/wall/syndi{dir = 10; icon_state = "syndiwall"},/area/rescue_base/start)
+"kBj" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 10},/area/rescue_base/start)
"kFI" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/item/folder/white{pixel_x = -4},/obj/item/folder/white,/obj/item/folder/white{pixel_x = 4},/obj/effect/floor_decal/corner/pink{dir = 10},/obj/effect/floor_decal/corner/pink{dir = 9},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding)
"kFO" = (/obj/structure/closet/secure_closet/freezer/fridge,/obj/item/reagent_containers/food/packaged/chips,/turf/simulated/floor/trim/wood,/area/thunderfield)
"kFY" = (/obj/structure/table/rack,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled/dark,/area/thunderfield)
"kGD" = (/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/trim/wood,/area/thunderfield)
"kIG" = (/obj/structure/table/gamblingtable,/obj/item/clothing/head/that,/turf/simulated/floor/trim/carpet/orange,/area/thunderfield)
"kKN" = (/obj/structure/flora/tree/dead/deadtree_1,/turf/unsimulated/floor{icon_state = "asteroid"},/area/thunderfield)
-"kPi" = (/turf/simulated/shuttle/wall/syndi{dir = 8; icon_state = "syndiwall_t"},/area/syndicate_mothership/ninja)
+"kPi" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_t"; dir = 8},/area/syndicate_mothership/ninja)
"kRk" = (/turf/unsimulated/wall{icon_state = "riveted_t"},/area/prison/solitary)
"kTR" = (/turf/unsimulated/wall{icon_state = "riveted_straight"},/area/centcom/control)
"kUo" = (/obj/structure/grille,/obj/structure/window/shuttle{icon_state = "2"; dir = 1},/turf/simulated/floor/plating,/area/shuttle/escape/centcom)
"kUJ" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/effect/floor_decal/industrial/warning/dust,/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/thunderfield)
-"lat" = (/obj/structure/flora/ausbushes/palebush,/obj/structure/barricade/material{layer = 6},/turf/unsimulated/floor{icon_state = "asteroid"},/area/thunderfield)
+"lat" = (/obj/structure/flora/ausbushes/palebush,/obj/structure/barricade/material,/turf/unsimulated/floor{icon_state = "asteroid"},/area/thunderfield)
"ley" = (/obj/structure/bed/chair/wood,/turf/simulated/floor/trim/carpet/orange,/area/thunderfield)
"lgL" = (/turf/unsimulated/floor{name = "plating"},/turf/simulated/shuttle/wall/corner/syndi/nw{icon_state = "corner_syndiwall_s"},/area/shuttle/administration/centcom)
"llo" = (/turf/unsimulated/wall{icon_state = "riveted_t"},/area/skipjack_station/base)
"lof" = (/obj/structure/bed/chair/wood{dir = 4},/turf/simulated/floor/trim/carpet/red,/area/thunderfield)
"lpz" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 1},/area/space)
-"lqV" = (/obj/structure/flora/ausbushes/fullgrass,/turf/simulated/floor/holofloor/desert,/area/holodeck/source_desert)
"lul" = (/turf/simulated/floor/tiled/dark,/area/thunderfield)
"lvQ" = (/obj/structure/table/rack,/obj/effect/floor_decal/industrial/outline/yellow,/obj/random/maintenance,/turf/simulated/floor/tiled/dark,/area/thunderfield)
"lxS" = (/obj/random/closet,/turf/simulated/floor/trim/wood,/area/thunderfield)
"lzT" = (/turf/unsimulated/wall{icon_state = "riveted_t"; dir = 1},/area/skipjack_station/base)
"lDA" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_b"},/area/shuttle/syndicate_elite/mothership)
-"lDU" = (/turf/simulated/shuttle/wall/syndi{dir = 4; icon_state = "syndiwall_d"},/area/shuttle/syndicate_elite/mothership)
+"lDU" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_d"; dir = 4},/area/shuttle/syndicate_elite/mothership)
"lEL" = (/obj/structure/sign/warning/secure_area,/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 1},/area/centcom/control)
"lFz" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 8},/area/centcom)
"lHN" = (/obj/structure/flora/ausbushes/ywflowers,/turf/unsimulated/floor{icon_state = "asteroid"},/area/thunderfield)
@@ -3074,21 +2801,21 @@
"lLM" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_c"},/area/shuttle/administration/centcom)
"lNs" = (/obj/structure/bed/chair/wood,/turf/simulated/floor/trim/carpet/purple,/area/thunderfield)
"lOr" = (/turf/simulated/floor/shuttle/red,/turf/simulated/shuttle/wall/corner/smoothwhite/ne,/area/shuttle/escape/centcom)
-"lSn" = (/obj/structure/barricade/material{layer = 6},/turf/unsimulated/floor{icon_state = "asteroidplating"},/area/thunderfield)
+"lSn" = (/obj/structure/barricade/material,/turf/unsimulated/floor{icon_state = "asteroidplating"},/area/thunderfield)
"lUY" = (/obj/structure/flora/pottedplant/minitree,/obj/effect/floor_decal/corner/pink/three_quarters{dir = 8},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding)
"lYb" = (/obj/effect/floor_decal/industrial/warning/dust{dir = 6},/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/thunderfield)
"mez" = (/turf/unsimulated/wall{icon_state = "riveted_c"; dir = 4},/area/centcom/specops)
"miR" = (/obj/effect/decal/remains,/turf/unsimulated/floor{icon_state = "asteroid"},/area/thunderfield)
"mkj" = (/turf/unsimulated/wall{icon_state = "riveted"; dir = 1},/area/syndicate_mothership/elite_squad)
-"mma" = (/turf/simulated/shuttle/wall/syndi{dir = 6; icon_state = "syndiwall"},/area/shuttle/syndicate_elite/mothership)
-"mmq" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "elite_syndicate_ship"; name = "Shuttle Blast Shutters"; opacity = 0},/obj/structure/window/syndi{icon_state = "ws1"},/turf/simulated/floor/plating,/area/shuttle/syndicate_elite/mothership)
+"mma" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 6},/area/shuttle/syndicate_elite/mothership)
+"mmq" = (/obj/machinery/door/blast/regular{name = "Shuttle Blast Shutters"; icon_state = "pdoor0"; opacity = 0; density = 0; id = "elite_syndicate_ship"},/obj/structure/window/syndi{icon_state = "ws1"},/turf/simulated/floor/plating,/area/shuttle/syndicate_elite/mothership)
"mmu" = (/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/holding)
"mnf" = (/turf/unsimulated/wall{icon_state = "riveted_d"},/area/wizard_station)
"mqa" = (/turf/unsimulated/wall{icon_state = "riveted"; dir = 1},/area/centcom/specops)
"mqq" = (/obj/machinery/computer/operating,/obj/effect/floor_decal/spline/fancy{dir = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/centcom/holding)
"mrF" = (/turf/unsimulated/wall{icon_state = "riveted"; dir = 4},/area/centcom/living)
"msp" = (/turf/unsimulated/wall{icon_state = "riveted_d"; dir = 4},/area/wizard_station)
-"msL" = (/turf/simulated/shuttle/wall/syndi{dir = 1; icon_state = "syndiwall_straight"},/area/syndicate_mothership/ninja)
+"msL" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_straight"; dir = 1},/area/syndicate_mothership/ninja)
"muM" = (/obj/structure/curtain/medical,/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "white_rough"},/area/centcom/holding)
"muX" = (/obj/effect/floor_decal/industrial/outline/yellow,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/specops)
"mvv" = (/turf/unsimulated/wall{icon_state = "riveted_straight"},/area/centcom/specops)
@@ -3099,14 +2826,14 @@
"mIe" = (/obj/random/closet,/turf/simulated/floor/trim/wood{icon_state = "wood_broken1"},/area/thunderfield)
"mJN" = (/obj/effect/floor_decal/industrial/warning/dust/corner{dir = 8},/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/thunderfield)
"mJP" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 4},/area/space)
-"mLO" = (/turf/simulated/shuttle/wall/syndi{dir = 4; icon_state = "syndiwall_d"},/area/shuttle/administration/centcom)
+"mLO" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_d"; dir = 4},/area/shuttle/administration/centcom)
"mMh" = (/turf/unsimulated/wall{icon_state = "riveted_t"; dir = 4},/area/centcom/specops)
-"mMA" = (/obj/machinery/door/blast/regular{id = "thunderdome"; name = "Thunderdome Blast Door"},/obj/machinery/door/blast/regular{dir = 8; id = "thunderdome"; name = "Thunderdome Blast Door"},/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/tdome)
+"mMA" = (/obj/machinery/door/blast/regular{name = "Thunderdome Blast Door"; id = "thunderdome"},/obj/machinery/door/blast/regular{name = "Thunderdome Blast Door"; dir = 8; id = "thunderdome"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome)
"mOy" = (/turf/unsimulated/wall{icon_state = "riveted_t"; dir = 8},/area/tdome)
-"mOG" = (/turf/simulated/shuttle/wall/syndi{dir = 1; icon_state = "syndiwall_straight"},/area/shuttle/syndicate_elite/mothership)
+"mOG" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_straight"; dir = 1},/area/shuttle/syndicate_elite/mothership)
"mOI" = (/obj/structure/flora/ausbushes/sparsegrass,/turf/unsimulated/floor{icon_state = "asteroidplating"},/area/thunderfield)
"mRf" = (/turf/unsimulated/wall{icon_state = "riveted_15"},/area/syndicate_mothership)
-"mRw" = (/obj/effect/floor_decal/industrial/warning/dust{dir = 4},/obj/structure/barricade/material{layer = 6},/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/thunderfield)
+"mRw" = (/obj/effect/floor_decal/industrial/warning/dust{dir = 4},/obj/structure/barricade/material,/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/thunderfield)
"mRH" = (/obj/effect/floor_decal/spline/fancy/wood,/obj/effect/floor_decal/spline/fancy/wood{dir = 8},/turf/unsimulated/floor{icon_state = "asteroid"},/area/thunderfield)
"mXk" = (/turf/unsimulated/wall{icon_state = "riveted"; dir = 4},/area/syndicate_mothership/elite_squad)
"naa" = (/obj/structure/bed/chair/wood{dir = 8},/turf/simulated/floor/trim/carpet/orange,/area/thunderfield)
@@ -3131,23 +2858,22 @@
"nPC" = (/turf/unsimulated/wall{icon_state = "riveted_l"},/area/centcom/holding)
"nQi" = (/turf/unsimulated/wall{icon_state = "riveted"; dir = 1},/area/wizard_station)
"nQV" = (/turf/unsimulated/wall{icon_state = "riveted"; dir = 1},/area/acting/backstage)
-"nRV" = (/obj/structure/flora/ausbushes/fernybush,/turf/unsimulated/floor{icon_state = "grass0"; name = "grass"},/area/centcom/holding)
-"nSx" = (/turf/simulated/shuttle/wall/syndi{dir = 8; icon_state = "syndiwall_t"},/area/syndicate_station/start)
+"nRV" = (/obj/structure/flora/ausbushes/fernybush,/turf/unsimulated/floor{name = "grass"; icon_state = "grass0"},/area/centcom/holding)
+"nSx" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_t"; dir = 8},/area/syndicate_station/start)
"nSC" = (/obj/structure/table/gamblingtable,/obj/item/reagent_containers/vessel/bottle/cognac,/turf/simulated/floor/trim/wood,/area/thunderfield)
"nUU" = (/obj/structure/window/syndi{icon_state = "ws2"},/turf/simulated/floor/plating,/area/shuttle/administration/centcom)
"nWi" = (/obj/structure/flora/ausbushes/ywflowers,/turf/unsimulated/floor{icon_state = "asteroidplating"},/area/thunderfield)
-"nWE" = (/obj/machinery/door/airlock/hatch,/obj/structure/barricade/material{layer = 6},/turf/simulated/floor/tiled/dark,/area/thunderfield)
-"nZv" = (/turf/simulated/shuttle/wall/syndi{dir = 4; icon_state = "syndiwall_b"},/area/shuttle/syndicate_elite/mothership)
-"obN" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "syndieshutters_workshop"; name = "Shuttle Blast Shutters"; opacity = 0},/obj/structure/window/syndi{icon_state = "ws2"},/turf/simulated/floor/plating,/area/syndicate_station/start)
+"nWE" = (/obj/machinery/door/airlock/hatch,/obj/structure/barricade/material,/turf/simulated/floor/tiled/dark,/area/thunderfield)
+"nZv" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_b"; dir = 4},/area/shuttle/syndicate_elite/mothership)
+"obN" = (/obj/machinery/door/blast/regular{name = "Shuttle Blast Shutters"; icon_state = "pdoor0"; opacity = 0; density = 0; id = "syndieshutters_workshop"},/obj/structure/window/syndi{icon_state = "ws2"},/turf/simulated/floor/plating,/area/syndicate_station/start)
"ocE" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 1},/area/rescue_base/base)
"ofY" = (/obj/machinery/turret/network/centcomm,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
"ogZ" = (/obj/effect/floor_decal/spline/fancy/wood{dir = 4},/turf/unsimulated/floor{icon_state = "asteroid"},/area/thunderfield)
-"oiX" = (/obj/structure/window/reinforced/crescent{dir = 8},/turf/unsimulated/wall{icon_state = "riveted_t"; dir = 8},/area/space)
"olE" = (/obj/structure/table/standard,/obj/item/storage/toolbox/electrical,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin)
-"omJ" = (/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "syndieshutters"; name = "Shuttle Blast Shutters"; opacity = 0},/obj/structure/window/syndi{icon_state = "ws5"},/turf/simulated/floor/plating,/area/syndicate_station/start)
+"omJ" = (/obj/machinery/door/blast/regular{name = "Shuttle Blast Shutters"; icon_state = "pdoor0"; opacity = 0; density = 0; dir = 4; id = "syndieshutters"},/obj/structure/window/syndi{icon_state = "ws5"},/turf/simulated/floor/plating,/area/syndicate_station/start)
"onc" = (/obj/structure/flora/tree/dead/deadtree_2,/turf/unsimulated/floor{icon_state = "asteroid"},/area/thunderfield)
"ooa" = (/turf/simulated/shuttle/wall{icon_state = "syndiwall_d"; dir = 1},/area/centcom/evac)
-"oqe" = (/turf/simulated/shuttle/wall/syndi{dir = 4; icon_state = "syndiwall_t"},/area/rescue_base/start)
+"oqe" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_t"; dir = 4},/area/rescue_base/start)
"oun" = (/obj/structure/table/woodentable,/obj/machinery/microwave,/turf/simulated/floor/trim/wood,/area/thunderfield)
"owF" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 1},/area/skipjack_station/base)
"oxk" = (/obj/effect/floor_decal/industrial/warning/dust{dir = 4},/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/thunderfield)
@@ -3162,7 +2888,7 @@
"oHb" = (/obj/structure/window_frame/indestructible/hull,/turf/unsimulated/floor{icon_state = "carpet"},/area/centcom/holding)
"oKy" = (/obj/effect/floor_decal/industrial/warning/wiz,/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/wizard_station)
"oLD" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 8},/area/skipjack_station/base)
-"oMB" = (/turf/simulated/shuttle/wall/syndi{dir = 4; icon_state = "syndiwall_d"},/area/syndicate_mothership/ninja)
+"oMB" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_d"; dir = 4},/area/syndicate_mothership/ninja)
"oNg" = (/turf/unsimulated/wall{icon_state = "riveted"; dir = 4},/area/rescue_base/base)
"oQt" = (/obj/structure/spider/stickyweb,/obj/structure/table/woodentable,/turf/simulated/floor/trim/wood,/area/thunderfield)
"oSr" = (/obj/structure/bed/chair/shuttle/red{dir = 4},/obj/machinery/light{dir = 8},/turf/simulated/floor/shuttle/red,/area/shuttle/escape/centcom)
@@ -3184,21 +2910,21 @@
"pth" = (/turf/unsimulated/wall{icon_state = "riveted"},/area/centcom/living)
"ptv" = (/obj/structure/table/gamblingtable,/obj/item/storage/fancy/cigarettes,/obj/item/flame/lighter/zippo,/turf/simulated/floor/trim/carpet/orange,/area/thunderfield)
"pzr" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 1},/area/alien)
-"pzY" = (/obj/structure/window/reinforced{dir = 1; health = 1e+006},/turf/simulated/floor/shuttle/red,/turf/simulated/shuttle/wall/corner/smoothwhite/ne,/area/shuttle/escape/centcom)
-"pBe" = (/turf/simulated/shuttle/wall/syndi{dir = 8; icon_state = "syndiwall_straight"},/area/shuttle/administration/centcom)
+"pzY" = (/obj/structure/window/reinforced{dir = 1; health = 1e+06},/turf/simulated/floor/shuttle/red,/turf/simulated/shuttle/wall/corner/smoothwhite/ne,/area/shuttle/escape/centcom)
+"pBe" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_straight"; dir = 8},/area/shuttle/administration/centcom)
"pCf" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 4},/area/centcom/creed)
"pDs" = (/obj/item/stool/padded,/turf/simulated/floor/trim/wood,/area/thunderfield)
"pEi" = (/obj/effect/floor_decal/industrial/warning/wiz{dir = 9},/turf/unsimulated/floor{icon_state = "asteroid"},/area/wizard_station)
-"pGU" = (/obj/structure/flora/ausbushes/leafybush,/obj/structure/flora/ausbushes/ywflowers,/turf/unsimulated/floor{icon_state = "grass0"; name = "grass"},/area/centcom/holding)
+"pGU" = (/obj/structure/flora/ausbushes/leafybush,/obj/structure/flora/ausbushes/ywflowers,/turf/unsimulated/floor{name = "grass"; icon_state = "grass0"},/area/centcom/holding)
"pIH" = (/turf/space,/turf/simulated/shuttle/wall/corner/smoothwhite/sw{icon_state = "corner_whiteship_s"},/area/centcom/evac)
"pKG" = (/turf/unsimulated/wall{icon_state = "riveted_straight"},/area/centcom/holding)
"pKQ" = (/turf/unsimulated/wall{icon_state = "riveted_straight"},/area/acting/backstage)
-"pLG" = (/turf/simulated/shuttle/wall/syndi{dir = 4; icon_state = "syndiwall_straight"},/area/syndicate_station/start)
+"pLG" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_straight"; dir = 4},/area/syndicate_station/start)
"pLT" = (/obj/structure/table/woodentable,/obj/item/clothing/head/cowboy_hat,/turf/simulated/floor/trim/wood,/area/thunderfield)
-"pOo" = (/turf/simulated/shuttle/wall/syndi{dir = 8; icon_state = "syndiwall_d"},/area/syndicate_station/start)
+"pOo" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_d"; dir = 8},/area/syndicate_station/start)
"pPu" = (/obj/structure/closet/cabinet,/turf/simulated/floor/trim/wood,/area/thunderfield)
"pUf" = (/turf/unsimulated/wall{icon_state = "riveted_t"; dir = 1},/area/syndicate_mothership)
-"pUJ" = (/turf/simulated/shuttle/wall/syndi{dir = 1; icon_state = "syndiwall_straight"},/area/shuttle/deathsquad/centcom)
+"pUJ" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_straight"; dir = 1},/area/shuttle/deathsquad/centcom)
"pVx" = (/obj/effect/decal/remains,/obj/item/clothing/head/ushanka,/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/thunderfield)
"pXv" = (/obj/structure/table/woodentable,/obj/item/paper_bin,/turf/simulated/floor/trim/carpet/purple,/area/thunderfield)
"pYU" = (/obj/structure/flora/ausbushes/ywflowers,/obj/effect/floor_decal/spline/fancy/wood{dir = 4},/obj/effect/floor_decal/spline/fancy/wood,/turf/unsimulated/floor{icon_state = "asteroid"},/area/thunderfield)
@@ -3208,26 +2934,26 @@
"qhm" = (/turf/simulated/floor/trim/wood{icon_state = "wood_broken1"},/area/thunderfield)
"qjA" = (/obj/structure/table/standard{name = "plastic table frame"},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/centcom/holding)
"qjG" = (/obj/structure/flora/ausbushes/sparsegrass,/turf/unsimulated/floor{icon_state = "asteroid"},/area/thunderfield)
-"qlU" = (/obj/machinery/autolathe{desc = "Your typical Autolathe. It appears to have much more options than your regular one, however..."; hacked = 1; name = "Unlocked Autolathe"},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
+"qlU" = (/obj/machinery/autolathe{name = "Unlocked Autolathe"; desc = "Your typical Autolathe. It appears to have much more options than your regular one, however..."; hacked = 1},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
"qmJ" = (/obj/structure/flora/ausbushes/fullgrass,/obj/structure/flora/tree/dead/deadtree_1,/turf/unsimulated/floor{icon_state = "asteroid"},/area/thunderfield)
"qsG" = (/obj/machinery/computer/arcade,/turf/simulated/floor/trim/wood,/area/thunderfield)
"qzS" = (/turf/unsimulated/wall{icon_state = "riveted_straight"; dir = 8},/area/skipjack_station/base)
-"qBz" = (/obj/machinery/door/unpowered/simple/wood,/obj/structure/barricade/material{layer = 6},/turf/simulated/floor/trim/wood,/area/thunderfield)
-"qFb" = (/obj/effect/floor_decal/industrial/warning/wiz,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
+"qBz" = (/obj/machinery/door/unpowered/simple/wood,/obj/structure/barricade/material,/turf/simulated/floor/trim/wood,/area/thunderfield)
+"qFb" = (/obj/effect/floor_decal/industrial/warning/wiz,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
"qIo" = (/turf/unsimulated/wall{icon_state = "riveted_l"},/area/tdome)
"qKI" = (/obj/item/stool/padded,/turf/simulated/floor/trim/carpet/purple,/area/thunderfield)
-"qLh" = (/turf/simulated/shuttle/wall/syndi{dir = 1; icon_state = "syndiwall_d"},/area/syndicate_mothership/ninja)
+"qLh" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_d"; dir = 1},/area/syndicate_mothership/ninja)
"qMx" = (/obj/structure/table/gamblingtable,/turf/simulated/floor/trim/wood,/area/thunderfield)
"qOx" = (/obj/structure/flora/ausbushes/ywflowers,/obj/effect/floor_decal/spline/fancy/wood{dir = 8},/obj/effect/floor_decal/spline/fancy/wood{dir = 1},/turf/unsimulated/floor{icon_state = "asteroidplating"},/area/thunderfield)
"qRb" = (/obj/machinery/door/unpowered/simple/wood,/turf/simulated/floor/trim/wood,/area/thunderfield)
"qSu" = (/obj/effect/floor_decal/industrial/warning/dust,/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/thunderfield)
-"qZv" = (/turf/simulated/shuttle/wall/syndi{dir = 8; icon_state = "syndiwall_b"},/area/shuttle/syndicate_elite/mothership)
+"qZv" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_b"; dir = 8},/area/shuttle/syndicate_elite/mothership)
"rae" = (/turf/unsimulated/wall{icon_state = "riveted_b"; dir = 1},/area/wizard_station)
"rgy" = (/turf/simulated/floor/trim/carpet/red,/area/thunderfield)
-"rgC" = (/obj/structure/barricade/material{layer = 6},/turf/simulated/floor/trim/wood,/area/thunderfield)
+"rgC" = (/obj/structure/barricade/material,/turf/simulated/floor/trim/wood,/area/thunderfield)
"rgP" = (/obj/structure/table/woodentable,/obj/structure/bedsheetbin,/turf/simulated/floor/trim/wood,/area/thunderfield)
"rkU" = (/obj/structure/janitorialcart,/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/thunderfield)
-"rnH" = (/obj/structure/barricade/material{layer = 6},/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/thunderfield)
+"rnH" = (/obj/structure/barricade/material,/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/thunderfield)
"rsN" = (/turf/unsimulated/wall{icon_state = "riveted_t"},/area/centcom/creed)
"rzG" = (/obj/machinery/media/jukebox,/obj/item/music_tape/custom,/turf/unsimulated/beach/sand{icon_state = "desert2"},/area/centcom/holding)
"rBo" = (/obj/effect/decal/cleanable/vomit,/turf/unsimulated/floor{icon_state = "asteroidplating"},/area/thunderfield)
@@ -3237,35 +2963,34 @@
"rJd" = (/turf/unsimulated/wall{icon_state = "riveted_d"; dir = 8},/area/syndicate_mothership)
"rJk" = (/obj/structure/bed,/obj/item/bedsheet/clown,/turf/simulated/floor/trim/wood,/area/thunderfield)
"rNB" = (/turf/unsimulated/wall{icon_state = "riveted"; dir = 1},/area/syndicate_mothership)
-"rPx" = (/turf/simulated/shuttle/wall/syndi{dir = 5; icon_state = "syndiwall"},/area/rescue_base/start)
+"rPx" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 5},/area/rescue_base/start)
"rQn" = (/turf/unsimulated/wall{icon_state = "riveted"; dir = 4},/area/centcom/specops)
"rTB" = (/obj/structure/closet/coffin,/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/thunderfield)
"rUm" = (/obj/effect/floor_decal/industrial/warning/dust{dir = 4},/obj/effect/decal/cleanable/vomit,/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/thunderfield)
"rVY" = (/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 9},/obj/structure/bed/couch/right/sofa,/turf/unsimulated/floor{icon_state = "carpet"},/area/centcom/holding)
"sak" = (/obj/structure/window/syndi,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/ninja)
-"scC" = (/turf/simulated/shuttle/wall/syndi{dir = 8; icon_state = "syndiwall_t"},/area/shuttle/administration/centcom)
+"scC" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_t"; dir = 8},/area/shuttle/administration/centcom)
"sif" = (/turf/unsimulated/wall{icon_state = "riveted_l"},/area/alien)
"sjr" = (/obj/structure/flora/ausbushes/palebush,/turf/unsimulated/floor{icon_state = "asteroidplating"},/area/thunderfield)
-"slZ" = (/turf/simulated/shuttle/wall/syndi{dir = 5; icon_state = "syndiwall"},/area/syndicate_station/start)
+"slZ" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 5},/area/syndicate_station/start)
"suO" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 1},/area/centcom/control)
"sve" = (/turf/unsimulated/floor{name = "plating"},/turf/simulated/shuttle/wall/corner/syndi/sw{icon_state = "corner_syndiwall_s"},/area/shuttle/administration/centcom)
"svn" = (/obj/effect/floor_decal/industrial/warning/dust/corner{dir = 4},/obj/effect/decal/remains,/obj/item/wrench,/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/thunderfield)
"szw" = (/turf/simulated/mineral,/area/thunderfield)
"szR" = (/turf/unsimulated/wall{icon_state = "riveted_t"; dir = 4},/area/syndicate_mothership/elite_squad)
-"szV" = (/turf/unsimulated/wall{icon_state = "riveted_t"},/area/space)
"sAW" = (/obj/structure/table/standard,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin)
"sBu" = (/obj/structure/table/woodentable,/turf/simulated/floor/trim/wood,/area/thunderfield)
"sCg" = (/turf/unsimulated/wall{icon_state = "riveted"; dir = 4},/area/centcom/control)
"sCl" = (/turf/unsimulated/wall{icon_state = "riveted"},/area/centcom/control)
"sEE" = (/turf/space,/turf/simulated/shuttle/wall/corner/smoothwhite/se{icon_state = "corner_whiteship_s"},/area/shuttle/escape/centcom)
"sHM" = (/turf/unsimulated/wall{icon_state = "riveted_t"; dir = 1},/area/wizard_station)
-"sKY" = (/turf/simulated/shuttle/wall/syndi{dir = 1; icon_state = "syndiwall"},/area/syndicate_station/start)
+"sKY" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 1},/area/syndicate_station/start)
"sLz" = (/obj/effect/decal/remains,/obj/item/reagent_containers/vessel/bottle/rum,/turf/unsimulated/floor{icon_state = "asteroid"},/area/thunderfield)
"sMx" = (/obj/structure/table/woodentable,/obj/item/reagent_containers/food/aesirsalad,/turf/simulated/floor/trim/wood,/area/thunderfield)
"sML" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 4},/area/centcom/control)
"sPj" = (/obj/structure/table/gamblingtable,/obj/item/wrench,/turf/simulated/floor/trim/carpet/red,/area/thunderfield)
"sPK" = (/turf/unsimulated/wall{icon_state = "riveted_l"},/area/acting/backstage)
-"sSv" = (/turf/simulated/shuttle/wall/syndi{dir = 1; icon_state = "syndiwall_b"},/area/syndicate_mothership/ninja)
+"sSv" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_b"; dir = 1},/area/syndicate_mothership/ninja)
"sUr" = (/obj/machinery/door/airlock/hatch,/turf/simulated/floor/tiled/dark,/area/thunderfield)
"sXt" = (/turf/unsimulated/wall{icon_state = "riveted"},/area/skipjack_station/base)
"sXy" = (/turf/unsimulated/wall{icon_state = "riveted_straight"; dir = 8},/area/centcom/holding)
@@ -3275,23 +3000,23 @@
"tbb" = (/obj/structure/table/rack,/obj/item/reagent_containers/vessel/golden_cup,/turf/simulated/floor/trim/wood,/area/thunderfield)
"tbA" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 8},/area/centcom/holding)
"tdl" = (/obj/structure/table/gamblingtable,/turf/simulated/floor/trim/carpet/orange,/area/thunderfield)
-"tgd" = (/turf/simulated/shuttle/wall/syndi{dir = 1; icon_state = "syndiwall_straight"},/area/rescue_base/start)
-"thj" = (/obj/structure/flora/ausbushes/sunnybush,/turf/unsimulated/floor{icon_state = "grass0"; name = "grass"},/area/centcom/holding)
+"tgd" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_straight"; dir = 1},/area/rescue_base/start)
+"thj" = (/obj/structure/flora/ausbushes/sunnybush,/turf/unsimulated/floor{name = "grass"; icon_state = "grass0"},/area/centcom/holding)
"tim" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 1},/area/acting/backstage)
"tiv" = (/obj/structure/bed/chair/wood{dir = 1},/turf/simulated/floor/trim/carpet/orange,/area/thunderfield)
-"tiZ" = (/obj/structure/morgue{dir = 1},/turf/unsimulated/floor{dir = 1; icon_state = "vault"},/area/centcom/holding)
+"tiZ" = (/obj/structure/morgue{dir = 1},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/holding)
"tjx" = (/obj/structure/closet/coffin,/turf/simulated/floor/trim/wood,/area/thunderfield)
"tjL" = (/turf/simulated/shuttle/wall{icon_state = "whiteship_straight"},/area/shuttle/escape/centcom)
-"tjX" = (/obj/structure/flora/ausbushes/leafybush,/obj/structure/flora/ausbushes/ppflowers,/turf/unsimulated/floor{icon_state = "grass0"; name = "grass"},/area/centcom/holding)
+"tjX" = (/obj/structure/flora/ausbushes/leafybush,/obj/structure/flora/ausbushes/ppflowers,/turf/unsimulated/floor{name = "grass"; icon_state = "grass0"},/area/centcom/holding)
"tlH" = (/obj/structure/flora/ausbushes/fullgrass,/turf/unsimulated/floor{icon_state = "asteroidplating"},/area/thunderfield)
"tmt" = (/obj/random/closet,/turf/simulated/floor/tiled/dark,/area/thunderfield)
"tmR" = (/obj/effect/floor_decal/industrial/warning/dust{dir = 10},/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/thunderfield)
"tqA" = (/obj/structure/sign/double/maltesefalcon/left,/turf/unsimulated/wall{icon_state = "riveted_straight"; dir = 8},/area/skipjack_station/base)
-"tts" = (/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "rescuebridge"; name = "Bridge Blast Shutters"; opacity = 0},/obj/structure/window/syndi,/turf/simulated/floor/plating,/area/rescue_base/start)
-"tuD" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "syndieshutters_infirmary"; name = "Shuttle Blast Shutters"; opacity = 0},/obj/structure/window/syndi{icon_state = "ws1"},/turf/simulated/floor/plating,/area/syndicate_station/start)
+"tts" = (/obj/machinery/door/blast/regular{name = "Bridge Blast Shutters"; icon_state = "pdoor0"; opacity = 0; density = 0; dir = 4; id = "rescuebridge"},/obj/structure/window/syndi,/turf/simulated/floor/plating,/area/rescue_base/start)
+"tuD" = (/obj/machinery/door/blast/regular{name = "Shuttle Blast Shutters"; icon_state = "pdoor0"; opacity = 0; density = 0; id = "syndieshutters_infirmary"},/obj/structure/window/syndi{icon_state = "ws1"},/turf/simulated/floor/plating,/area/syndicate_station/start)
"tvy" = (/obj/item/stack/gassembly,/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/thunderfield)
"tvX" = (/turf/unsimulated/floor{icon_state = "asteroidplating"},/area/thunderfield)
-"twi" = (/turf/simulated/shuttle/wall/syndi{dir = 4; icon_state = "syndiwall_c"},/area/shuttle/administration/centcom)
+"twi" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_c"; dir = 4},/area/shuttle/administration/centcom)
"twu" = (/obj/structure/table/woodentable,/obj/item/reagent_containers/food/applepie,/turf/simulated/floor/trim/carpet/orange,/area/thunderfield)
"tBN" = (/obj/structure/flora/ausbushes/fernybush,/turf/unsimulated/floor{icon_state = "asteroidplating"},/area/thunderfield)
"tCJ" = (/obj/item/stack/medical/ointment,/obj/item/stack/medical/ointment,/obj/item/stack/medical/ointment,/obj/structure/table/standard,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin)
@@ -3305,9 +3030,9 @@
"tIT" = (/turf/unsimulated/wall{icon_state = "riveted_t"},/area/alien)
"tJg" = (/turf/unsimulated/wall{icon_state = "riveted"; dir = 1},/area/skipjack_station/base)
"tLi" = (/obj/effect/decal/remains,/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/thunderfield)
-"tLx" = (/turf/simulated/shuttle/wall/syndi{dir = 1; icon_state = "syndiwall_b"},/area/shuttle/administration/centcom)
+"tLx" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_b"; dir = 1},/area/shuttle/administration/centcom)
"tMJ" = (/turf/unsimulated/wall{icon_state = "riveted_straight"},/area/centcom)
-"tOM" = (/obj/structure/bed/chair{dir = 4; name = "Defense"},/turf/simulated/floor/tiled/dark,/area/thunderfield)
+"tOM" = (/obj/structure/bed/chair{name = "Defense"; dir = 4},/turf/simulated/floor/tiled/dark,/area/thunderfield)
"tSH" = (/obj/structure/table/woodentable{dir = 5},/obj/effect/floor_decal/carpet{dir = 4},/obj/random/smokes,/turf/unsimulated/floor{icon_state = "carpet"},/area/centcom/holding)
"tYB" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_b"},/area/syndicate_station/start)
"tYG" = (/obj/structure/bed/chair,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin)
@@ -3315,28 +3040,28 @@
"ube" = (/obj/structure/table/gamblingtable,/obj/item/wrench,/turf/simulated/floor/trim/carpet/orange,/area/thunderfield)
"ubu" = (/obj/effect/floor_decal/industrial/warning/dust/corner,/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/thunderfield)
"ubv" = (/turf/unsimulated/wall{icon_state = "riveted_t"; dir = 4},/area/syndicate_mothership)
-"ubB" = (/turf/simulated/shuttle/wall/syndi{dir = 1; icon_state = "syndiwall_b"},/area/shuttle/syndicate_elite/mothership)
+"ubB" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_b"; dir = 1},/area/shuttle/syndicate_elite/mothership)
"ucq" = (/turf/unsimulated/wall{icon_state = "riveted_t"; dir = 8},/area/centcom/specops)
"ugk" = (/obj/structure/table/gamblingtable,/obj/item/reagent_containers/vessel/bottle/rum,/turf/simulated/floor/trim/carpet/orange,/area/thunderfield)
"uiN" = (/obj/effect/decal/remains,/turf/simulated/floor/trim/wood,/area/thunderfield)
"umb" = (/turf/unsimulated/wall{icon_state = "riveted_t"; dir = 4},/area/centcom/living)
-"unK" = (/obj/machinery/door/blast/regular{dir = 4; id = "thunderdome"; name = "Thunderdome Blast Door"},/obj/machinery/door/blast/regular{dir = 4; id = "thunderdome"; name = "Thunderdome Blast Door"},/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/tdome)
+"unK" = (/obj/machinery/door/blast/regular{name = "Thunderdome Blast Door"; dir = 4; id = "thunderdome"},/obj/machinery/door/blast/regular{name = "Thunderdome Blast Door"; dir = 4; id = "thunderdome"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome)
"uoj" = (/turf/unsimulated/wall{icon_state = "riveted_b"; dir = 4},/area/centcom/suppy)
-"upw" = (/obj/effect/floor_decal/industrial/warning/wiz{dir = 1},/turf/unsimulated/floor{icon_state = "lava"; name = "plating"},/area/wizard_station)
-"uvx" = (/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "rescuebridge"; name = "Bridge Blast Shutters"; opacity = 0},/obj/structure/window/syndi{icon_state = "ws1"},/turf/simulated/floor/plating,/area/rescue_base/start)
+"upw" = (/obj/effect/floor_decal/industrial/warning/wiz{dir = 1},/turf/unsimulated/floor{name = "plating"; icon_state = "lava"},/area/wizard_station)
+"uvx" = (/obj/machinery/door/blast/regular{name = "Bridge Blast Shutters"; icon_state = "pdoor0"; opacity = 0; density = 0; dir = 4; id = "rescuebridge"},/obj/structure/window/syndi{icon_state = "ws1"},/turf/simulated/floor/plating,/area/rescue_base/start)
"uxg" = (/turf/unsimulated/wall{icon_state = "riveted"; dir = 8},/area/tdome)
-"uxi" = (/obj/effect/floor_decal/industrial/warning/wiz{dir = 6},/turf/unsimulated/floor{icon_state = "grass0"; name = "grass"},/area/wizard_station)
+"uxi" = (/obj/effect/floor_decal/industrial/warning/wiz{dir = 6},/turf/unsimulated/floor{name = "grass"; icon_state = "grass0"},/area/wizard_station)
"uxq" = (/turf/unsimulated/wall{icon_state = "riveted_l"},/area/thunderfield)
"uBh" = (/turf/unsimulated/wall{icon_state = "riveted_g"; dir = 4},/area/centcom/suppy)
"uBi" = (/obj/structure/flora/ausbushes/fullgrass,/obj/effect/floor_decal/spline/fancy/wood,/turf/unsimulated/floor{icon_state = "asteroid"},/area/thunderfield)
"uDO" = (/obj/machinery/door/airlock/research,/turf/unsimulated/floor{icon_state = "asteroid"},/area/thunderfield)
"uEj" = (/obj/structure/table/woodentable,/obj/item/storage/box/bodybags,/turf/simulated/floor/trim/carpet/purple,/area/thunderfield)
-"uHZ" = (/obj/machinery/door/blast/regular{id = "thunderdome"; name = "Thunderdome Blast Door"},/obj/machinery/door/blast/regular{dir = 4; id = "thunderdome"; name = "Thunderdome Blast Door"},/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/tdome)
+"uHZ" = (/obj/machinery/door/blast/regular{name = "Thunderdome Blast Door"; id = "thunderdome"},/obj/machinery/door/blast/regular{name = "Thunderdome Blast Door"; dir = 4; id = "thunderdome"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome)
"uJD" = (/turf/unsimulated/wall{icon_state = "riveted"; dir = 1},/area/centcom/living)
"uJX" = (/obj/structure/flora/ausbushes/leafybush,/turf/unsimulated/floor{icon_state = "asteroid"},/area/thunderfield)
"uMy" = (/obj/structure/table/standard{name = "plastic table frame"},/obj/effect/floor_decal/corner/pink/three_quarters,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding)
"uMz" = (/obj/structure/table/gamblingtable,/obj/item/reagent_containers/vessel/bottle/rum,/turf/simulated/floor/trim/wood,/area/thunderfield)
-"uMV" = (/turf/simulated/shuttle/wall/syndi{dir = 1; icon_state = "syndiwall_c"},/area/syndicate_station/start)
+"uMV" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_c"; dir = 1},/area/syndicate_station/start)
"uPk" = (/turf/unsimulated/wall{icon_state = "riveted_straight"},/area/syndicate_mothership)
"uPT" = (/obj/effect/floor_decal/spline/fancy/wood,/obj/structure/flora/tree/dead/deadtree_5,/turf/unsimulated/floor{icon_state = "asteroidplating"},/area/thunderfield)
"uTH" = (/turf/unsimulated/wall{icon_state = "riveted"; dir = 8},/area/space)
@@ -3345,18 +3070,18 @@
"vbo" = (/obj/structure/table/woodentable,/obj/item/reagent_containers/food/appletart,/turf/simulated/floor/trim/carpet/orange,/area/thunderfield)
"vbp" = (/obj/structure/flora/ausbushes/palebush,/turf/unsimulated/floor{icon_state = "asteroid"},/area/thunderfield)
"vfd" = (/obj/effect/floor_decal/carpet{dir = 8},/obj/structure/table/woodentable{dir = 5},/obj/item/device/flashlight/lantern/active,/turf/unsimulated/floor{icon_state = "carpet"},/area/centcom/holding)
-"vfO" = (/turf/simulated/shuttle/wall/syndi{dir = 10; icon_state = "syndiwall"},/area/syndicate_station/start)
-"vja" = (/turf/simulated/shuttle/wall/syndi{dir = 8; icon_state = "syndiwall_straight"},/area/shuttle/syndicate_elite/mothership)
+"vfO" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 10},/area/syndicate_station/start)
+"vja" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_straight"; dir = 8},/area/shuttle/syndicate_elite/mothership)
"vks" = (/obj/effect/floor_decal/spline/fancy/wood{dir = 1},/turf/unsimulated/floor{icon_state = "asteroidplating"},/area/thunderfield)
"vkN" = (/turf/unsimulated/wall{icon_state = "riveted_t"; dir = 8},/area/centcom/holding)
"vok" = (/obj/structure/flora/ausbushes/ywflowers,/obj/effect/floor_decal/spline/fancy/wood{dir = 8},/turf/unsimulated/floor{icon_state = "asteroidplating"},/area/thunderfield)
"vpz" = (/obj/structure/sign/poster,/turf/unsimulated/wall{icon_state = "riveted"; dir = 1},/area/skipjack_station/base)
"vqr" = (/obj/machinery/status_display,/turf/unsimulated/wall{icon_state = "riveted"},/area/centcom/holding)
"vqO" = (/turf/unsimulated/wall{icon_state = "riveted_straight"},/area/centcom/creed)
-"vvD" = (/obj/machinery/door/blast/regular{dir = 4; id = "thunderdomegen"; name = "General Supply"},/obj/machinery/door/blast/regular{dir = 4; id = "thunderdomegen"; name = "General Supply"},/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/tdome)
+"vvD" = (/obj/machinery/door/blast/regular{name = "General Supply"; dir = 4; id = "thunderdomegen"},/obj/machinery/door/blast/regular{name = "General Supply"; dir = 4; id = "thunderdomegen"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome)
"vBE" = (/obj/effect/floor_decal/industrial/warning/dust{dir = 5},/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/thunderfield)
"vCO" = (/obj/structure/bed/chair,/turf/simulated/floor/tiled/dark,/area/thunderfield)
-"vKo" = (/turf/simulated/shuttle/wall/syndi{dir = 8; icon_state = "syndiwall_c"},/area/shuttle/administration/centcom)
+"vKo" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_c"; dir = 8},/area/shuttle/administration/centcom)
"vNC" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 8},/area/syndicate_mothership/elite_squad)
"vOC" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 1},/area/syndicate_mothership/elite_squad)
"vRL" = (/turf/unsimulated/wall{icon_state = "riveted_t"},/area/syndicate_mothership)
@@ -3372,14 +3097,14 @@
"wgF" = (/turf/unsimulated/wall{icon_state = "riveted_l"; dir = 4},/area/prison/solitary)
"wqW" = (/obj/effect/floor_decal/spline/fancy/wood,/turf/unsimulated/floor{icon_state = "asteroid"},/area/thunderfield)
"wvP" = (/turf/unsimulated/wall{icon_state = "riveted"},/area/centcom/suppy)
-"wvU" = (/turf/simulated/shuttle/wall/syndi{dir = 1; icon_state = "syndiwall_t"},/area/shuttle/deathsquad/centcom)
+"wvU" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_t"; dir = 1},/area/shuttle/deathsquad/centcom)
"wxt" = (/obj/structure/closet/secure_closet/medical1,/obj/effect/floor_decal/corner/beige{dir = 9},/turf/unsimulated/floor{icon = 'icons/turf/flooring/tiles.dmi'; icon_state = "steel_rough"},/area/centcom/holding)
"wyd" = (/obj/structure/spider/stickyweb,/obj/structure/closet/cabinet,/turf/simulated/floor/trim/wood,/area/thunderfield)
"wyk" = (/turf/unsimulated/wall{icon_state = "riveted_s"; dir = 8},/area/tdome)
"wzb" = (/obj/effect/floor_decal/industrial/warning/dust{dir = 1},/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/thunderfield)
"wAd" = (/obj/machinery/sleeper{dir = 8},/obj/machinery/light{dir = 4},/turf/simulated/floor/shuttle/white,/area/shuttle/escape/centcom)
"wEs" = (/turf/unsimulated/wall{icon_state = "riveted_t"; dir = 4},/area/tdome)
-"wFq" = (/turf/simulated/shuttle/wall/syndi{dir = 10; icon_state = "syndiwall"},/area/shuttle/syndicate_elite/mothership)
+"wFq" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 10},/area/shuttle/syndicate_elite/mothership)
"wHf" = (/turf/unsimulated/wall{icon_state = "riveted"; dir = 8},/area/skipjack_station/base)
"wIm" = (/obj/structure/closet/crate/bin,/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/thunderfield)
"wLw" = (/turf/unsimulated/wall{icon_state = "riveted_t"; dir = 4},/area/centcom/control)
@@ -3398,8 +3123,8 @@
"xpL" = (/turf/unsimulated/wall{icon_state = "riveted_t"; dir = 4},/area/rescue_base/base)
"xrk" = (/turf/unsimulated/wall{icon_state = "riveted_t"; dir = 1},/area/syndicate_mothership/elite_squad)
"xsp" = (/obj/structure/bed,/obj/item/bedsheet/red,/turf/simulated/floor/trim/wood,/area/thunderfield)
-"xto" = (/turf/simulated/shuttle/wall/syndi{dir = 4; icon_state = "syndiwall_straight"},/area/rescue_base/start)
-"xtG" = (/turf/simulated/shuttle/wall/syndi{dir = 4; icon_state = "syndiwall_b"},/area/syndicate_station/start)
+"xto" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_straight"; dir = 4},/area/rescue_base/start)
+"xtG" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_b"; dir = 4},/area/syndicate_station/start)
"xuX" = (/obj/effect/decal/remains,/turf/simulated/floor/tiled/dark,/area/thunderfield)
"xwn" = (/obj/item/shield/buckler,/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/thunderfield)
"xxY" = (/obj/structure/table/woodentable,/obj/item/device/binoculars,/turf/simulated/floor/trim/carpet/red,/area/thunderfield)
@@ -3411,58 +3136,58 @@
"xLz" = (/obj/effect/floor_decal/spline/fancy/wood{dir = 8},/turf/unsimulated/floor{icon_state = "asteroidplating"},/area/thunderfield)
"xLY" = (/turf/unsimulated/wall{icon_state = "riveted"; dir = 4},/area/centcom/ferry)
"xPH" = (/turf/unsimulated/wall{icon_state = "riveted_c"},/area/centcom/specops)
-"xQN" = (/turf/simulated/shuttle/wall/syndi{dir = 9; icon_state = "syndiwall"},/area/rescue_base/start)
+"xQN" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 9},/area/rescue_base/start)
"xRS" = (/turf/unsimulated/wall{icon_state = "riveted_s"; dir = 8},/area/wizard_station)
"xUq" = (/obj/effect/floor_decal/industrial/warning/dust{dir = 6},/obj/effect/decal/cleanable/vomit,/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/thunderfield)
"yaz" = (/turf/unsimulated/wall{icon_state = "riveted"; dir = 1},/area/centcom/holding)
"ybm" = (/obj/effect/floor_decal/industrial/warning/wiz{dir = 5},/turf/unsimulated/floor{icon_state = "asteroid"},/area/wizard_station)
"ybM" = (/turf/unsimulated/wall{icon_state = "riveted_straight"; dir = 8},/area/centcom/specops)
-"ycx" = (/turf/simulated/shuttle/wall/syndi{dir = 1; icon_state = "syndiwall_t"},/area/syndicate_station/start)
+"ycx" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_t"; dir = 1},/area/syndicate_station/start)
"ydT" = (/obj/effect/floor_decal/spline/fancy/wood,/obj/structure/flora/tree/dead/deadtree_3,/turf/unsimulated/floor{icon_state = "asteroidplating"},/area/thunderfield)
-"ydZ" = (/turf/simulated/shuttle/wall/syndi{dir = 8; icon_state = "syndiwall_b"},/area/shuttle/administration/centcom)
+"ydZ" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_b"; dir = 8},/area/shuttle/administration/centcom)
"yfx" = (/turf/unsimulated/wall{icon_state = "riveted"; dir = 4},/area/centcom)
"yhE" = (/obj/machinery/status_display,/turf/unsimulated/wall{icon_state = "riveted"; dir = 8},/area/centcom/holding)
"yiE" = (/obj/structure/flora/ausbushes/fullgrass,/obj/effect/floor_decal/spline/fancy/wood{dir = 4},/obj/effect/floor_decal/spline/fancy/wood{dir = 1},/turf/unsimulated/floor{icon_state = "asteroid"},/area/thunderfield)
"ykI" = (/obj/machinery/hologram/holopad{pixel_y = 16},/obj/effect/floor_decal/corner/pink{dir = 8},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding)
(1,1,1) = {"
-agXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXaabaacaacaacaacaacaacaacaacaacaacaadaadaadaadaadaadaadaadaadaadaadaadaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaNlaNlaNlaNlaNlaNlaNlaNlaNlaNlaNlaNlaNlaNlaNlaNlaNlaNlaNlaNlaNlaNlaNliWRaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaagaagaagaagaagaagaagaagaagaagoXdaagaagaagaagaagaagaagaagaagaagoXdaagaagaagaagaagaagaagaagaagaagoXdaagaagaagaagaagaagaagaagaagaagoXdaagaagaagaagaagaagaagaagaagaagoXdaagaagaagaagaagaagaagaagaagaagoXdaagaagaagaagaagaagaagaagaagaagiWR
-agXahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbagXaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaAKaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKusifxKfxKfxKfgoPxKfxKfabyaKuaalfGWfGWfGWdcGfGWfGWfGWfGWfGWfGWaaoaapaaJaaKaaJaaKaaJaaKaaJaaKaapaaoaaraasaasaasaasaasaasaasaasaasaaoaavaaNaauaaAaaDaaDaaDaaDaaMaavaaoaawaawaawaawaawaawaawaawaawaawaaoaaxaaxaaxaaxaaxaaxaaxaaxaaxaaxaaoaaBaaCaaCaaCaaCaaRaaRaaRaaRabaaaE
-agXahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbagXaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaaFaaFaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaFaaFaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaakaAKaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKudCgabOabOabOoHaabOabOdCgaKuaalfGWfGWfGWfGWfGWfGWfGWfGWlqVfGWaaoaapaaKaaJaaKaaJaaKaaJaaKaaJaaqaaoaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaoaavaaNabbabcabdabdabdabdabeaavaaoaawaaOaawaawaawaawaawaawaaOaawaaoaaxaaxaaxaaxaaxaaxaaxaaxaaxaaxaaoaaPaaQaaQaaQaaQaaQaaQaaQaaQabfaaE
-agXahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbagXaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSaaSaaSaaSaaTaahaahaaTaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakaaHaaUaaUaaUaaUaaUaaUaaVaaVaaVaaUaaUaaVaaVaaVaaUaaUaaUaaUaaUaaHaakaAKaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKudCgabOacaabOacbabOabOdCgaKuaalfGWlqVfGWfGWfGWfGWfGWfGWfGWfGWaaoaapaaJaaWaaXaaYaaXaaYaaZaaKaaqaaoaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaoaavaaNabpabrabrabrabrabrabrabraaoaawaawaawaawaawaawaawaawaawaawaaoaaxaaxaaxaaxaaxaaxaaxaaxaaxaaxaaoaaPaaQaaQaaQaaQaaQaaQaaQaaQabfaaE
-agXahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbagXaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSaaSaaSaaSaaTaahaahaaTaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakaaHabgaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUabhaaHaakaAKaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKudCgaclaclaclervabOabOdCgaKuaalfGWfGWfGWfGWfGWdcGfGWfGWfGWfGWaaoaaqaaKabiablablablablabmaaJaapaaoabnabnabnabnabnabnabnabnabnaboaaoaavaaNaaNabqabsabtabHabHabtabuaaoaawaawaawaaOaawaawaaOaawaawaawaaoaaxaaxaaxaaxaaxaaxaaxaaxaaxaaxaaoaaPaaQaaQaaQaaQaaQaaQaaQaaQabfaaE
-agXahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbagXaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSaaSaaSaaSaaTaahaahaaTaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakaaHaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUabxaaUaaUaaUaaUaaUaaHaakaAKaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuacdacdacdacdeeNtITxKfxKfxKfbVrabOabOdCgaKuaalfGWfGWdcGfGWfGWfGWdcGfGWfGWfGWaaoaaqaaJabjabkabzabzabkabAaaKaapaaoabBabBabCabDabDabDabDabEabBabFaaoaavaaNaavabvabSabwabUabUabwabGaaoaawaawaawaawaawaawaawaawaawaawaaoaaxaaxaaxaaxaaxaaxaaxaaxaaxaaxaaoaaPaaQaaQaaQaaQaaQaaQaaQaaQabfaaE
-agXahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbagXaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSabNaaSaaSaaTaahaahaaTaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakaaHaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUabgaaUaaUaaUaaUaaUaaHaakaAKaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuacdacdacdacdacbabOacbabOabOabOabOabOdCgaKuaalfGWfGWfGWfGWfGWfGWfGWfGWfGWfGWaaoaapaaJabjabkabzabzabkabAaaKaaqaaoabBabBabPabQabQabQabQabRabBabFaaoaavaaNabIabJacpabUabUabUabwabGaaoaawaawaawaawaawaawaawaawaawaawaaoaaxaaxaaxaaxaaxaaxaaxaaxaaxaaxaaoaaPaaQaaQaaQaaQaaQaaQaaQaaQabfaaE
-agXahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbagXaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSaaSaaSaaSaaTaahaahaaTaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakaaHaaUaaUaaUaaUabZabxaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaHaakaAKaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuacdacdacdacdeeNxKfxKfabyabOabOabOacxdCgaKuaalfGWfGWfGWfGWfGWlqVfGWfGWfGWdcGaaoaapaaKabiablablablablabmaaJaapaaoabBabBabPabQabQabQabQabRabBabFaaoaavaaNaavabKabTabwabUabUabwabGaaoaawaawaawaaOaawaawaaOaawaawaawaaoaaxaaxaaxaaxaaxaaxaaxaaxaaxaaxaaoabVabWabWabWabWacQacQacQacQacRaaE
-agXahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbagXaabaacaaiaaiaaiaaiaaiaaiaciaciaciacjacjacjaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSaaSaaSaaSaaTaahaahaaTaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakaaHaaUaaUaaUaaUaaUackackaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaHaakaAKaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKudCgaclabOabOacxdCgaKuaalfGWfGWlqVfGWfGWfGWfGWfGWfGWfGWaaoaaqaaJacmaceablablaccacnaaKaaqaaoabBabBabPabQabQabQabQabRabBabFaaoaavaaNaaNabXacfacgachachacgacoaaoaawaawaawaawaawaawaawaawaawaawaaoaaxaaxaaxaaxaaxaaxaaxaaxaaxaaxaaoacqacqacracqacqacqacqacCacqacqaaE
-agXahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbagXaabaacaaiaaiaaiaaiaaiaaiaciacsacsactactacuaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSaaSaaSaaSaaTaahaahaaTaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakaaHaaUaaUaaUaaUackacvacwackaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaHaakaAKaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKudCgaclabOabOacxdCgaKuaalfGWfGWfGWfGWfGWfGWfGWfGWfGWfGWaaoaapaaKaaJabjablablabAaaKaaKaapaaoabBabBacyaczaczaczaczacAabBacBaaoacNacMacNacNacNacNacNacOacNacNaaoaawaaOaawaawaawaawaawaawaaOaawaaoaaxaaxaaxaaxaaxaaxaaxaaxaaxaaxaaoaazaazaayaazaazaazaazaayaazaazaaE
-agXahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbagXaabaacaaiaaiaaiaaiaaiaaiaciacsacEactactacFaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSaaSaaSaaSaaTaaTaaTaaTaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakaaHaaUaaUaaUaaUackacGacHackaaUaaUabZaaUacIaaUaaUaaUaaUaaUaaUaaHaakaAKaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKupzrxKfxKfxKfxKfbVraKuaaldcGfGWfGWfGWlqVfGWfGWfGWfGWlqVaaoaapaaJaaKabiablablabAaaKaaJaapaaoabBabBabBabBabBabBabBabBabBacLaaoaataataataataataataataataataataaoaawaawaawaawaawaawaawaawaawaawaaoaaxaaxaaxaaxaaxaaxaaxaaxaaxaaxaaoaayaayaayaayaayaayaayaayaayaayaaE
-agXahbahbabYabYabYabYabYabYahbahbahbahbahbahbahbahbahbahbahbabYabYabYabYabYafHahbahbahbahbagXaabaacaaiaaiaaiaaiaaiaaiaciacsacsactactacFaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakaaHaaUaaUaaUaaUaaUackackaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaHaakaAKaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKueynacTacTacTacTacTacTacTacTacTacTdtmacTacTacTacTacTacTacTacTacTacTdtmacTacTacTacTacTacTacTacTacTacTdtmacUacUacUacUacUacUacUacUacUacUdtmacUacUacUacUacUacUacUacUacUacUdtmacUacUacUacUacUacUacUacUacUacUdtmacUacUacUacUacUacUacUacUacUacUxgs
-agXahbahbabYawlawlawlawlabYabYabYabYabYabYabYabYabYabYabYabYabYawlawlawlawlafHahbahbahbahbagXaabaacaaiaaiaaiaaiaaiaaiaciaciaciacjacjacjaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakaaHaaUaaUabxaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUabgaaUaaUaaHaakaAKaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKudFvaxlaxltGUaxlaxltGUaxlaxltGUaxlaxljiEaKuaalacVacVacVacVacVacVacVacVacVacVaaoacWacWacWacWacWacWacWacWacWacWaaoacXacXacXacXacXacXacXacXacXacXaaoadcaddaddaddadfafaafbafbafbafcaaoadgadgadgadgadgadgadgadbafSafSaaoacPadjadjadjadkadladmadmadmadAaaoadnadnadoadoadoadoadoadoadoadoaaE
-agXahbahbabYawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlafHahbahbahbahbagXaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakaaHaaUaaUabZabxaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUabxaaUaaUaaHaakaAKaKuaKuaKuaKuaKuaKunzVkaeadpadpafNadpadpmXkxrkadqhrhadqvNCaKuaKuaKuaKuaeqacSaeUaeqacSaeVaeqacSaeWaeqacSaeUaeqaKuaalacVacVacVadracVacVacVacVadracVaaoacWadsacWacWacWacWadsacWacWacWaaoacXacXadtaduaduaduadvacXacXacXaaoadwadxadxadxadyafqadxadxadxafraaoadgadgadgadgadgadgadgadbafSafSaaoadCadBadBadBadTaeBadBadBadBaeCaaoadoadoadoadoadDadDadDadoadoadoaaE
-agXahbahbabYawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlafHahbahbahbahbagXaabaacaaiaaiaaiaaiaaiaaiaciaciaciacjacjacjaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahadEadEaaGaaGaaFaaGadEaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSabMabMaaFabMabMadEadEaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakaaHaaUaaUaaUaaUaaUaaUaaUadFaaUadFaaUadFaaUadGaaUaaUaaUaaUaaUaaHaakaAKaKuaKuaKuaKuaKuaKuddXadHadIadJadJadKadJadLmkjadMadNadMddXaKuaKuaKuaKuaeqaeTaeWaeqaeTaeUaeqaeTaeUaeqaeTaeUaeqaKuaalacVacVacVacVacVacVacVacVacVacVaaoacWacWacWacWacWacWacWacWadOacWaaoacXacXadPadPadPadPadPacXacXacXaaoadcaddadwadxadyafqadxafrafbafcaaoadgadgadgadgadzadgadgadbafSafSaaoadCadBadBadBadTaeBadBadBadBaeCaaoadoadoadoadUadVadVadVadoadoadoaaE
-agXahbahbabYawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlafHahbahbahbahbagXaabaacaaiaaiaaiaaiaaiaaiaciadWadWadXadXacuaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahadEaaSaaSaaSaaSaaSaaTaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaTaaSaaSaaSaaSaaSadEaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakaaHaaUaaUaaUadYaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaHaakaAKaKuaKuaKuaKuaKuaKuddXadZaeaaeaaeaaeaaeaaeaaebadNadNadNddXaKuaKuaKuaKujYPaxlaxlbSkaxlaxlbSkaxlaxlbSkaxlaxlhMJaKuaalacVadracVacVacVacVadracVacVacVaaoacWacWdnOacWadOacWacWacWacWacWaaoaedaedaedaedaedaedaedaedaedaeeaaoadQadxadwadxaeyafqadxafradxafBaaoadgadgadRadgaefadgadgadbafSafSaaoadCadBadBadBadTaeBadBadBadBaeCaaoadoadDaegaehaeiaeiaejaekadDadoaaE
-agXahbahbabYahHawlawlawlawlawlawlawlawlawlawnawlawlawlawlawlawlawlawlawlahIafHahbahbahbahbagXaabaacaaiaaiaaiaaiaaiaaiaciadWadWaeladXacFaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahadEaaSaaSaaSaaSaaSaaTaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaTaaSaaSaaSaaSaaSadEaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaakaAKaKuaKunzVhrhhrhhrhbXiaemaeaaenaenaenaeaaeofsDaepfsDaepddXaKuaKuaKuaKuaeqacSaeUaeqacSaeUaeqafpaeUaeqacSaeWaeqaKuaalacVacVacVacVacVacVacVacVacVacVaaoacWacWacWaeracWacWacWacWaeracWaaoaedaetaeuaeuaeuaeuaeuaevaedaeeaaoaewaexadwadxadyafqadxafrafCagaaaoadgadgadgadgadgadgadgadbafSafSaaoadCadBadBadBadTaeBadBadBadBaeCaaoadoadDaegaeEaeFaeGaeHaekadDadoaaE
-agXahbahbahbabYawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlabYaKuahbahbahbahbagXaabaacaaiaaiaaiaaiaaiaaiaciadWadWadXadXacFaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahadEaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSadEaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakaeIaeJaeJaeJaeJaeJaeJaeJaeJaeJaeJaeJaeJaeJaeJaeJaeJaeJaeJaeJaeIaakaAKaKuaKuddXaeKaeLaeLaeLaeMaeaaeNaeOaeOaePaeQddXaeRddXaeSddXaKuaKuaKuaKuaeqaeTaeWaeqaeTaeUaeqaeTaeUaeqaeTaeUaeqaKuaalacVacVacVacVacVacVacVacVacVacVaaoacWacWacWacWacWacWacWacWacWacWaaoaedaeXaeYaeYaeYaeYaeYaeZaedaeeaaoadwadxadxadxadyafqadxadxadxafraaoadgadSadgadgadgadgadgadbafSafSaaoadCadBadBadBadTaeBadBadBadBaeCaaoadoadDaegaeEafgafhaeHaekadDadoaaE
-agXahbahbahbabYawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlabYaKuahbahbahbahbagXaabaacaaiaaiaaiaaiaaiaaiaciaciaciacjacjacjaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahadEaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSadEaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaAKaKuaKuddXafkaflaflaflafmaeaaeOafnafoaePaeQppYhrhkrehrhszRaKuaKuaKuaKuiCJaxlaxlkRkaxlaxlkRkaxlaxlkRkaxlaxlwgFaKuaalacVacVacVadracVacVacVacVadracVaaoacWacWacWacWadsacWdnOacWacWadsaaoaedaeXaeYaeYaeYaeYaeYaeZaedaeeaaoaewaexaexaexaezafYafCafCafCagaaaoadgadgadgaeAadgadgadgadbafSafSaaoaeDafdafdafdafeaffafsafsafsagdaaoadoadDaegaejafuafuafvaekadDadoaaE
-agXahbahbahbabYahHawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlahIabYaKuahbahbahbahbagXaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahadEaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSadEaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaAKaKuaKuvOChrhhrhhrhvNCafwaeaafxafxafxaeaaeomkjafyaeaafyppYhrhhrhvNCaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaalacVacVacVacVacVacVacVacVacVacVaaoafzacWacWacWacWafzacWacWacWacWaaoaedaeXaeYaeYaeYaeYaeYafAaedaeeaaoafDafDafZafDafDafDafDakpafDafDaaoadgadgadgadgadgadzadgadbafSafSaaoaftaftafEaftaftaftaftagbaftaftaaoadoadoadoafFafFafFafGadoadoadoaaE
-agXahbahbahbahbabYawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlabYahbaKuahbahbahbahbagXaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahadEaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSadEaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaAKaKuaKuaKuaKuafIaKuddXadZaeaaeaaeaaeaaeaaeQafJaeaaeaafKddXafLafMddXaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaalacVadracVacVacVacVadracVacVacVaaoacWaeracWdnOacWacWaeracWadOacWaaoaedafPafQafQafQafQafQafRaedaeeaaoadaadaacZadaadaadaadaacZadaadaaaoadgadgadgadgadgadgadgadbafSafSaaoadiadiadhadiadiadiadiadhadiadiaaoadoadoadoadDadDadDadoadoadoadoaaE
-agXahbahbahbahbabYahHawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlahIabYahbaKuahbahbahbahbagXaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahadEaaSaaSaaSaaSaaSadEadEadEadEaaSaaSaaSaaSaaSaaSadEadEadEadEaaSaaSaaSaaSaaSadEaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaAKaKuaKuaKuaKuafIaKuddXafTafUafVaeaaeaaeaafWfsDafyaeaafyppYhrhhrhbXiaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaalacVacVacVacVacVacVacVacVacVacVaaoacWacWacWacWafzacWacWacWacWafzaaoaedaedaedaedaesaesaedaedaedaeeaaoacZacZacZacZacZacZacZacZacZacZaaoadgadgadgadgadgadgadgadbafSafSaaoadhadhadhadhadhadhadhadhadhadhaaoadoadoadoadoadoadoadoadoageageaaE
-agXahbahbahbahbahbabYahHawlawlawlawlawlawlawlawlawlawlawlawlawlahIabYahbahbaKuahbahbahbahbagXaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahadEaaSaaSaaSaaSaaSadEaahaahadEaaSaaSaaSaaSaaSaaSadEaahaahadEaaSaaSaaSaaSaaSadEaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaAKaKuaKuaKuaKuafIaKumkjadpadpfsDagffsDadpadpvOChrhhrhhrhbXiaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKulpzaggaggaggaggaggaggaggaggaggaggszVaggaggaggaggaggaggaggaggaggaggszVaggaggaggaggaggaggaggaggaggaggszVaggaggaggaggaggaggaggaggaggaggszVaggaggaggaggaggaggaggaggaggaggszVaggaggaggaggaggaggaggaggaggaggdtmacUacUacUacUacUacUacUacUacUacUxgs
-agXahbahbahbahbahbahbafHafHafHahHawlawlawlawlawlawlawlahIafHafHafHahbahbahbaKuahbahbahbahbagXaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahadEaaSaaSaaSaaSaaSadEaahaahadEadEadEadEadEadEadEadEaahaahadEaaSaaSaaSaaSaaSadEaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaAKaKuaKuaKuaKuafIaKuaKuaKuaKuddXaghddXaKuaKuaKuaKuafIaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaalacKacKacKacKacKacKacKacKacKacKaaE
-agXahbahbahbahbahbahbahbahbahbabYawlawlawlawlawlawlawlabYahbahbahbahbahbahbaKuahbahbahbahbagXaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahadEaaSaaSaaSaaSaaSadEaahaahaahaahaahaahaahaahaahaahaahaahadEaaSaaSaaSaaSaaSadEaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaAKaKuaKuaKuaKuafIaKuaKuaKuaKuddXagiddXaKuaKuaKuaKuafIaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuahgacUacUacUacUacUkdpacUacUacUacUacUkdpacUacUacUacUacUkdpacUacUacUacUacUaiCaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaKuaKuaalacKacYagcanPapmauuaybaycayDacKaaE
-agXahbahbahbahbahbahbahbahbahbabYahHahHahHahHahIahIahIabYahbahbahbahbahbahbahbahbahbahbahbagXaabaacaacaacaacaacaacaacaacaacaacaadaadaadaadaadaadaadaadaadaadaadaadaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahadEadEadEadEadEadEadEaahaahaahaahaahaahaahaahaahaahaahaahadEadEadEadEadEadEadEaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaAKaKuaKuaKuaKuafIaKuaKuaKuaKumkjagjmkjaKuaKuaKuaKuafIaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuajTaFBaFCaFDaFEaFQajTaFgaFgaFgaFgaFgajTaFnaFyaFzaFzaFnajTaGsaGjaGjaGjaGtajTaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagkaabaKuaKuaalacKayEayFayEayFayEayFayEayFacKaaE
-agXahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbagXaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaAKaKuaKuaKuaKuafIaKuafXagmaglvjaagnvjaaglagmagHaKuafIaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuajTaFFaFWaFPaFDaGfajTaFgaFgaFgaFgaFgajTaFzaFzaFyaFyaFzajTaGjaGuaGvaGyaGjajTaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaalacKayGayHayGayHayGayHayGayHacKaaE
-agXahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbagXaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaabaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaAKaKuaKuaKuaKuafIaKumOGagomOGagpagqagrmOGagomOGaKuafIaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuajTaFRaFSaFTaFBaFCajTaFgaFgaFgaFgaFgajTaFyaFyaFAaFzaFyajTaGjaGzaGOaGPaGjajTaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaalacKayHayGayHayGayHayGayHayGacKaaE
-agXahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbagXaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaahaahaabaKuaKuaKuaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaAKaKuaKuaKuaKuafIaKuagsubBnZvagtaguagvbCejoDagwaKuafIaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuajTaGgaFDaFUaFVaFEajTaFgaFgaFgaFgaFgajTaFzaFzaFyaFyaFyajTaGjaGQaKsaKtaGjajTaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaalacKayGayHayGayHayGayHayGayHacKaaE
-agXahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbagXaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaahaahaabaKuaKuaKuaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaAKaKuaKuaKuaKuafIaKuaKuqZvlDAvjaagxvjacWAlDUaKuaKuafIaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuajTaGfaFEaFCaFWaFRajTaFgaFgaFgaFgaFgajTaFnaFyaFzaFzaFnajTaGwaGjaGjaGjaGxajTaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaalacKayHayGayHayGayHayGayHayGacKaaE
-agXahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbagXaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaahaahaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaAKaKuaKuaKuaKuafIaKuaKuagyagzagAagBagCagDagyaKuaKuafIaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuoiXacUacUacUacUacUdtmacUacUacUacUacUdtmacUacUacUacUacUdtmacUacUacUacUacUhDwaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaalacKayIayJayIayJayIayJayIayJacKaaE
-agXahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbagXaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaahaahaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaAKaKuaKuaKuaKuafIaKuaKummqagzagEagCagCagDmmqaKuaKuafIaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuajTaKuaKuaKuaKuaKuajTaKuaKuaKuaKuaKuajTaKuaKuaKuaKuaKuajTaKuaKuaKuaKuaKuajTaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaalacKayKayLayMayNayOazbazcazdacKaaE
-agXahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbagXaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaahaahaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakafiafiafiafiafiafiafiafiafiafiafiafiafiafiafiafiafiafiafiafiafiaakaAKaKuaKuaKuaKuafIaKuaKuagswFqagFagCagGmmaagwaKuaKuafIaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuajTaKuaKuaKuaKuaKuajTaKuaKuaKuaKuaKuajTaKuaKuaKuaKuaKuajTaKuaKuaKuaKuaKuajTaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaalacKacKacKacKacKacKacKacKacKacKaaE
-agXahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbagXaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaahaahaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaAKaKuaKuaKuaKuafIafIaKuaKumOGagIagCagJmOGaKuaKuafIafIaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuajTaKuaKuaKuaKuaKuajTaKuaKuaKuaKuaKuajTaKuaKuaKuaKuaKuajTaKuaKuaKuaKuaKuajTaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahagKqLhsaksSvagNaahaahaahaahaahaahaahaaaaabaKuaKulpzaggaggaggaggaggaggaggaggaggaggmJP
-agXahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbagXaabaaaaahaahaahaahaahaahaahaahadEadEadEadEadEadEadEadEadEaahaahaahaahaahaahaahaahaaaaahaahaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKulpzaNlaNlaNlaNlaNlaNlaNlaNlaNlaNlaNlaNlaNlaNlaNlaNlaNlaNlaNlaNlaNlaNlaNlmJPaKuaKuaKuaKuaKuafIaKuaKumOGagFagCagGmOGaKuaKuafIaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuajTaKuaKuaKuaKuaKuajTaKuaKuaKuaKuaKuajTaKuaKuaKuaKuaKuajTaKuaKuaKuaKuaKuajTaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahelKagOagPagQoMBaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
-agXahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbagXaabaaaaahaahaahaahaahaahaahadEadEagRagRagRagRagRagRagRadEaaFaahaahaahaahaahaahaahaaaaahaahaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuafIaKuaKumOGagSagTagUmOGaKuaKuafIaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuajTaKuaKuaKuaKuaKuajTaKuaKuaKuaKuaKuajTaKuaKuaKuaKuaKuajTaKuaKuaKuaKuaKuajTaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahcJkagPagVagPcJkaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
-agXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXaabaaaaahaahaahaahaahaahaahagWagRagRagRagRagRagRagRagRagRaaFaahaahaahaahaahaahaahaaaaahaahaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuafIaKuaKuagswFqagYmmaagwaKuaKuafIaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuajUacUacUacUacUacUkhNacUacUacUacUacUkhNacUacUacUacUacUkhNacUacUacUacUacUajVaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaanagZagPagZaanaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+agXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXaabaacaacaacaacaacaacaacaacaacaacaadaadaadaadaadaadaadaadaadaadaadaadaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaNlaNlaNlaNlaNlaNlaNlaNlaNlaNlaNlaNlaNlaNlaNlaNlaNlaNlaNlaNlaNlaNlaNliWRaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+agXahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbagXaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaAKaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKusifxKfxKfxKfgoPxKfxKfabyaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+agXahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbagXaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaaFaaFaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaFaaFaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaakaAKaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKudCgabOabOabOoHaabOabOdCgaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+agXahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbagXaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSaaSaaSaaSaaTaahaahaaTaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakaaHaaUaaUaaUaaUaaUaaUaaVaaVaaVaaUaaUaaVaaVaaVaaUaaUaaUaaUaaUaaHaakaAKaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKudCgabOacaabOacbabOabOdCgaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+agXahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbagXaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSaaSaaSaaSaaTaahaahaaTaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakaaHabgaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUabhaaHaakaAKaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKudCgaclaclaclervabOabOdCgaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+agXahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbagXaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSaaSaaSaaSaaTaahaahaaTaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakaaHaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUabxaaUaaUaaUaaUaaUaaHaakaAKaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuacdacdacdacdeeNtITxKfxKfxKfbVrabOabOdCgaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+agXahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbagXaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSabNaaSaaSaaTaahaahaaTaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakaaHaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUabgaaUaaUaaUaaUaaUaaHaakaAKaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuacdacdacdacdacbabOacbabOabOabOabOabOdCgaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+agXahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbagXaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSaaSaaSaaSaaTaahaahaaTaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakaaHaaUaaUaaUaaUabZabxaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaHaakaAKaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuacdacdacdacdeeNxKfxKfabyabOabOabOacxdCgaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+agXahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbagXaabaacaaiaaiaaiaaiaaiaaiaciaciaciacjacjacjaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSaaSaaSaaSaaTaahaahaaTaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakaaHaaUaaUaaUaaUaaUackackaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaHaakaAKaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKudCgaclabOabOacxdCgaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+agXahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbagXaabaacaaiaaiaaiaaiaaiaaiaciacsacsactactacuaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSaaSaaSaaSaaTaahaahaaTaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakaaHaaUaaUaaUaaUackacvacwackaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaHaakaAKaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKudCgaclabOabOacxdCgaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+agXahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbagXaabaacaaiaaiaaiaaiaaiaaiaciacsacEactactacFaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSaaSaaSaaSaaTaaTaaTaaTaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakaaHaaUaaUaaUaaUackacGacHackaaUaaUabZaaUacIaaUaaUaaUaaUaaUaaUaaHaakaAKaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKupzrxKfxKfxKfxKfbVraKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+agXahbahbabYabYabYabYabYabYahbahbahbahbahbahbahbahbahbahbahbabYabYabYabYabYafHahbahbahbahbagXaabaacaaiaaiaaiaaiaaiaaiaciacsacsactactacFaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakaaHaaUaaUaaUaaUaaUackackaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaHaakaAKaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+agXahbahbabYawlawlawlawlabYabYabYabYabYabYabYabYabYabYabYabYabYawlawlawlawlafHahbahbahbahbagXaabaacaaiaaiaaiaaiaaiaaiaciaciaciacjacjacjaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakaaHaaUaaUabxaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUabgaaUaaUaaHaakaAKaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKudFvaxlaxltGUaxlaxltGUaxlaxltGUaxlaxljiEaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+agXahbahbabYawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlafHahbahbahbahbagXaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakaaHaaUaaUabZabxaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUabxaaUaaUaaHaakaAKaKuaKuaKuaKuaKuaKunzVkaeadpadpafNadpadpmXkxrkadqhrhadqvNCaKuaKuaKuaKuaeqacSaeUaeqacSaeVaeqacSaeWaeqacSaeUaeqaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+agXahbahbabYawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlafHahbahbahbahbagXaabaacaaiaaiaaiaaiaaiaaiaciaciaciacjacjacjaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahadEadEaaGaaGaaFaaGadEaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSabMabMaaFabMabMadEadEaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakaaHaaUaaUaaUaaUaaUaaUaaUadFaaUadFaaUadFaaUadGaaUaaUaaUaaUaaUaaHaakaAKaKuaKuaKuaKuaKuaKuddXadHadIadJadJadKadJadLmkjadMadNadMddXaKuaKuaKuaKuaeqaeTaeWaeqaeTaeUaeqaeTaeUaeqaeTaeUaeqaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+agXahbahbabYawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlafHahbahbahbahbagXaabaacaaiaaiaaiaaiaaiaaiaciadWadWadXadXacuaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahadEaaSaaSaaSaaSaaSaaTaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaTaaSaaSaaSaaSaaSadEaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakaaHaaUaaUaaUadYaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaHaakaAKaKuaKuaKuaKuaKuaKuddXadZaeaaeaaeaaeaaeaaeaaebadNadNadNddXaKuaKuaKuaKujYPaxlaxlbSkaxlaxlbSkaxlaxlbSkaxlaxlhMJaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+agXahbahbabYahHawlawlawlawlawlawlawlawlawlawnawlawlawlawlawlawlawlawlawlahIafHahbahbahbahbagXaabaacaaiaaiaaiaaiaaiaaiaciadWadWaeladXacFaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahadEaaSaaSaaSaaSaaSaaTaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaTaaSaaSaaSaaSaaSadEaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaakaAKaKuaKunzVhrhhrhhrhbXiaemaeaaenaenaenaeaaeofsDaepfsDaepddXaKuaKuaKuaKuaeqacSaeUaeqacSaeUaeqafpaeUaeqacSaeWaeqaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+agXahbahbahbabYawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlabYaKuahbahbahbahbagXaabaacaaiaaiaaiaaiaaiaaiaciadWadWadXadXacFaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahadEaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSadEaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakaeIaeJaeJaeJaeJaeJaeJaeJaeJaeJaeJaeJaeJaeJaeJaeJaeJaeJaeJaeJaeIaakaAKaKuaKuddXaeKaeLaeLaeLaeMaeaaeNaeOaeOaePaeQddXaeRddXaeSddXaKuaKuaKuaKuaeqaeTaeWaeqaeTaeUaeqaeTaeUaeqaeTaeUaeqaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+agXahbahbahbabYawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlabYaKuahbahbahbahbagXaabaacaaiaaiaaiaaiaaiaaiaciaciaciacjacjacjaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahadEaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSadEaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaAKaKuaKuddXafkaflaflaflafmaeaaeOafnafoaePaeQppYhrhkrehrhszRaKuaKuaKuaKuiCJaxlaxlkRkaxlaxlkRkaxlaxlkRkaxlaxlwgFaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+agXahbahbahbabYahHawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlahIabYaKuahbahbahbahbagXaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahadEaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSadEaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaAKaKuaKuvOChrhhrhhrhvNCafwaeaafxafxafxaeaaeomkjafyaeaafyppYhrhhrhvNCaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+agXahbahbahbahbabYawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlabYahbaKuahbahbahbahbagXaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahadEaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSadEaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaAKaKuaKuaKuaKuafIaKuddXadZaeaaeaaeaaeaaeaaeQafJaeaaeaafKddXafLafMddXaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+agXahbahbahbahbabYahHawlawlawlawlawlawlawlawlawlawlawlawlawlawlawlahIabYahbaKuahbahbahbahbagXaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahadEaaSaaSaaSaaSaaSadEadEadEadEaaSaaSaaSaaSaaSaaSadEadEadEadEaaSaaSaaSaaSaaSadEaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaAKaKuaKuaKuaKuafIaKuddXafTafUafVaeaaeaaeaafWfsDafyaeaafyppYhrhhrhbXiaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+agXahbahbahbahbahbabYahHawlawlawlawlawlawlawlawlawlawlawlawlawlahIabYahbahbaKuahbahbahbahbagXaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahadEaaSaaSaaSaaSaaSadEaahaahadEaaSaaSaaSaaSaaSaaSadEaahaahadEaaSaaSaaSaaSaaSadEaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaAKaKuaKuaKuaKuafIaKumkjadpadpfsDagffsDadpadpvOChrhhrhhrhbXiaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+agXahbahbahbahbahbahbafHafHafHahHawlawlawlawlawlawlawlahIafHafHafHahbahbahbaKuahbahbahbahbagXaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahadEaaSaaSaaSaaSaaSadEaahaahadEadEadEadEadEadEadEadEaahaahadEaaSaaSaaSaaSaaSadEaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaAKaKuaKuaKuaKuafIaKuaKuaKuaKuddXaghddXaKuaKuaKuaKuafIaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+agXahbahbahbahbahbahbahbahbahbabYawlawlawlawlawlawlawlabYahbahbahbahbahbahbaKuahbahbahbahbagXaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahadEaaSaaSaaSaaSaaSadEaahaahaahaahaahaahaahaahaahaahaahaahadEaaSaaSaaSaaSaaSadEaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaAKaKuaKuaKuaKuafIaKuaKuaKuaKuddXagiddXaKuaKuaKuaKuafIaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+agXahbahbahbahbahbahbahbahbahbabYahHahHahHahHahIahIahIabYahbahbahbahbahbahbahbahbahbahbahbagXaabaacaacaacaacaacaacaacaacaacaacaadaadaadaadaadaadaadaadaadaadaadaadaadaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahadEadEadEadEadEadEadEaahaahaahaahaahaahaahaahaahaahaahaahadEadEadEadEadEadEadEaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaAKaKuaKuaKuaKuafIaKuaKuaKuaKumkjagjmkjaKuaKuaKuaKuafIaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagkaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+agXahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbagXaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaAKaKuaKuaKuaKuafIaKuafXagmaglvjaagnvjaaglagmagHaKuafIaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+agXahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbagXaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaabaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaAKaKuaKuaKuaKuafIaKumOGagomOGagpagqagrmOGagomOGaKuafIaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+agXahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbagXaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaahaahaabaKuaKuaKuaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaAKaKuaKuaKuaKuafIaKuagsubBnZvagtaguagvbCejoDagwaKuafIaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+agXahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbagXaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaahaahaabaKuaKuaKuaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaAKaKuaKuaKuaKuafIaKuaKuqZvlDAvjaagxvjacWAlDUaKuaKuafIaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+agXahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbagXaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaahaahaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaAKaKuaKuaKuaKuafIaKuaKuagyagzagAagBagCagDagyaKuaKuafIaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+agXahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbagXaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaahaahaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaAKaKuaKuaKuaKuafIaKuaKummqagzagEagCagCagDmmqaKuaKuafIaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+agXahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbagXaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaahaahaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakafiafiafiafiafiafiafiafiafiafiafiafiafiafiafiafiafiafiafiafiafiaakaAKaKuaKuaKuaKuafIaKuaKuagswFqagFagCagGmmaagwaKuaKuafIaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+agXahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbagXaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaahaahaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaAKaKuaKuaKuaKuafIafIaKuaKumOGagIagCagJmOGaKuaKuafIafIaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahagKqLhsaksSvagNaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+agXahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbagXaabaaaaahaahaahaahaahaahaahaahadEadEadEadEadEadEadEadEadEaahaahaahaahaahaahaahaahaaaaahaahaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKulpzaNlaNlaNlaNlaNlaNlaNlaNlaNlaNlaNlaNlaNlaNlaNlaNlaNlaNlaNlaNlaNlaNlaNlmJPaKuaKuaKuaKuaKuafIaKuaKumOGagFagCagGmOGaKuaKuafIaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahelKagOagPagQoMBaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+agXahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbagXaabaaaaahaahaahaahaahaahaahadEadEagRagRagRagRagRagRagRadEaaFaahaahaahaahaahaahaahaaaaahaahaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuafIaKuaKumOGagSagTagUmOGaKuaKuafIaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahcJkagPagVagPcJkaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+agXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXaabaaaaahaahaahaahaahaahaahagWagRagRagRagRagRagRagRagRagRaaFaahaahaahaahaahaahaahaaaaahaahaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXagXaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuafIaKuaKuagswFqagYmmaagwaKuaKuafIaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaanagZagPagZaanaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
aabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaaaaahaahaahaahaahaahaahagWagRagRagRagRahaagRagRagRagRaaFaahaahaahaahaahaahaahaaaaahaahaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabagXahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbagXaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuafIafIaKuaKuagsahcagwaKuaKuafIafIaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahaanagPagPagPaanaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
aKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahagWagRagRagRagRagRagRagRagRagRaaFaahaahaahaahaahaahaahaaaaahaahaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabagXahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbagXaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuafIaKuaKuaKuaKuaKuaKuaKuafIaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahiiCagPagPagPiiCaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
aKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahagWagRagRagRagRagRagRagRagRagRaaFaahaahaahaahaahaahaahaaaaahaahaabaaaaahaahaahaahaahaahaaFaaFaaFaaGaaGaaGaaGaaGaaGaaGaaGaaGabMabMabMabMabMabMabMabMaaFaaFaaFaahaahaahaahaahaahaahaaaaabagXahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbahbagXaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuafIafIaKuaKuaKuaKuaKuafIafIaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaabaaaaahaahaahaahaahaahaahmsLahdahfaqbmsLaahaahaahaahaahaahaahaaaaabaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
@@ -3561,7 +3286,7 @@ aAKahJahJahJahJahJahJahJaiZajaaiYaqOaqPtgdaxGaspaydargxtoxtoxtoxtooqeayeayeeDray
aAKahJahJahJaiYayPaiZaiZaiZaiZaiZaqOaqPttsasnaspayQtgdaqPaqPaqPaqPtgdaAJaAJaAJaAJtgdaqPaqPaqPaqPtgdaySawLayTttsaqPaqQaiZaiYaiZahJahJaiYahJaAKaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaxOxPHpbrpbrpbrpbrpbrpbrpbrpbrpbrpbrpbrpbrpbrpbrpbrpbrpbrpbrdOMybMgZxaxTrQnybMmMhawXawXawXawXawXawXawXawXmvvayUawXawXawXayVeGKybMybMybMybMrsNbnCbnCbnCbnCbnCpCfayWayWayWucqdZrayYangangangdtMaxoaANaxosuOdZrdZrdZrdZrdZrwLwaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuahGaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaakaakaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaakaakaakaakaakaak
aAKahJahJaziaiYaiYaiZaiYaiZaiYaiZaqOaqPtgdazjaspazktgdaqPaqPaqPaqPavHazlazlazlazlavNaqPaqPaqPaqPtgdaxsaznazotgdaqPaqQaiZaiZaiZaiZaiZaiYahJaAKaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaxOfJcdqBdqBdqBdqBdqBdqBdqBdqBdqBdqBdqBdqBdqBdqBdqBdqBdqBdqBmezaxPazpawZawZazqmvvazrazsaztazuazvazwawXawXmvvazxawXawXawXazymvvazzaAPaAPazzaveazCazDazEayWayWayWayWayWazFmvvaAsfRdazGazHazHazHazHazHazHazHazHazHaLzfRdaAskTRaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuahGaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaakaakaakaakaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaakaakaakaakaak
aAKahJahJahJahJaiZaiYaiZaueaiYaiZaqOaqPtgdaAJaAJaAJtgdaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPtgdaAJaAJaAJtgdaqPaqQaiZaiZaiZaiZahJahJahJaAKaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuayiayjayjayjayjayjayjayjayjayjayjayjayjayjazRayjayjayjayjayjazRazSayjawZawZazTmqaaveaveaveaveaveawwawXawXmqaazUawXawXawXazVmqaawXayWayWayWaveayWayWayWayWayWayWayWayWazWmvvaAsofYazXangangangangangangangangangmHWofYaAskTRaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAiaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaakaakaakaakaakaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaakaakaakaakaak
-aAKahJahJahJahJahJahJahJaiZaiZaiZaqOaqPavHazlazlazlavNaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPavHazlazlazlavNaqPaqQaiZaiZahJaiZahJahJahJaAKaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaxOrQnybMybMybMybMybMybMybMybMybMybMybMybMybMybMybMybMybMybMgZxaxPaAjawZawZaAkaveaAlaAmaAnaAoaApaveawXawXaveawXawXawXawXaAqaveawXayWayWaxSaArayWayWayWazDazDeGKybMybMybMmMhaAsfRdazXangbZbaAsaAMaAOaAQaAsbZbangmHWfRdaAskTRaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuahGaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaakaakaakaakaakaakaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaakaakaakaak
+aAKahJahJahJahJahJahJahJaiZaiZaiZaqOaqPavHazlazlazlavNaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPavHazlazlazlavNaqPaqQaiZaiZahJaiZahJahJahJaAKaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaxOrQnybMybMybMybMybMybMybMybMybMybMybMybMybMybMybMybMybMybMgZxaxPaAjawZawZaAkaveaAlaAmaAnaAoaApaveawXawXaveawXawXawXawXaAqaveawXayWayWaxSaArayWayWayWazDazDeGKybMybMybMmMhaAsfRdazXangbZbaAsaAMaaIaAQaAsbZbangmHWfRdaAskTRaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuahGaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaakaakaakaakaakaakaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaakaakaakaak
aAKahJahJahJahJahJahJahJaiZaiZaiYaqOaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPaqQaiZajaaiZaiZahJahJahJaAKaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuayiayjayjayjayjayjayjayjayjayjayjayjayjayjaABayjayjayjayjayjaABaACayjawZawZaADaveaAEawXawXawXaAFaveawXawXaveawXawXaAGaAHazvaveaAIayWayWayWawwaveaveaxeaveavemqaayWayWayWaAaaAsfRdaALangcabaAUaBkaBlaBnaBCcbbangaLGfRdaAslELdZrdZrdZrawyaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuahGaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaakaakaakaakaakaakaakaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaakaak
aAKahJahJahJahJahJahJahJahJaiZaiZaAXaAYaAYaAYaAYaAYaAYaAYaAYaAYaAYaAYaAYaAYaAYaAYaAYaAYaAYaAYaAYaAYaAYaAYaAYaAYaAYaAZaiZaiYaiZahJahJahJahJaAKaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaxOrQnybMybMybMybMybMybMybMybMybMybMybMybMybMybMybMybMybMybMgZxaxPaBaawZawZaBbawwaBcawXawXawXawXawwaBdaBdawwaBeaBerQnybMybMgZxaAIayWayWaxSaBfaBgaBgaBgaBgaBgaBhmuXmuXmuXaBhaAsfRdaBiaBjccbaAsaBQaBRaCgaAsccbaBjaLIfRdaAsaMNaMOaMOaMOkTRaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuahGaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaakaakaakaakaakaakaakaakaakaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaak
aAKahJahJahJahJahJahJahJahJahJaiZaiZaiZaiZaiZaiZaiZaiZaiZaiZaiYaiZaiZaiZajaaiZaiZaiZaiZaiZaiZaiZaiZaiZaiZaiZaiZaiZaiZaiZahJahJahJahJahJahJaAKaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuayiayjayjayjayjayjayjayjayjayjayjayjayjayjaBrayjayjayjayjayjaBraBsaBtawZawZaxSaBuawXawXawXawXawXaBuawXawXaBvawXawXaBwaBxaByaByawXayWayWaBzawwaveaveaxeaveaveoFxayWayWayWaBAaAsfRdaBBangcdbaAUaCoaAsaCoaBCcebangaLQfRdaAsaBWdZrdZrdZrsMLaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuahGaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaakaakaakaakaakaakaakaakaakaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
@@ -3580,7 +3305,7 @@ aKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaK
aKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuxLYaEWaEWaEWaEWaEWaEWaEWaEWaEWaEWaEWaEWaEWfuraEnqIodIesXysXysXysXysXysXysXysXynKtaDvaDvaEKaJLpKGaJPaKyaKyaKyaaeazmazOazOazOazQpKGvfdtSHaGDaGDyazaGEdEMaFXbyWvYBcNvnwuaMEaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
aKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaJHaMWaJHaAcaAdaHDaHCaAfaHDaGaaBmaBmyazaJyaJyaJyaJLyazaKlaFJaFJaFJaAgaAhaFJaFJaFJaBFpKGaFMaAxaGDaGDaAyaGDaHuaFXfnxmmummummuaMEaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
aKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaJHaMWaJHaBoaIcaHDaHDaHCaHDaGaaGDaGDaCCaJyaJyaJyaJyayZaJPaKyaKlaFJaAgaAhaFJaBFazOazQpKGrVYaCjaGDaGDaCFaGDaHuaFXhHImmummummuaCFaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
-aKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaJHaMWaJHaHDaHCaHEaHCaOYaHDaGaaEsaGDayZaJyaJyaHmaJyayZaKDaFJaKlaFJaEyaAhaFJaBFaFJaEApKGfxHghGaGDaGDaEUaGDaHuaFXeliaFkaFlaFmaMEaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+aKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaJHaMWaJHaHDaHCaHEaHCaOYaHDaGaaEsaGDayZaJyaJyaHmaJyayZaKlaFJaKlaFJaAgaAhaFJaBFaFJaBFpKGfxHghGaGDaGDaEUaGDaHuaFXeliaFkaFlaFmaMEaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
aKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaJHaMWaJHaForzGaHEaFpaHDaHDaGaaGDaGDaCCaJyaJyaJyaJyayZaKJaKMaKlaFJaAgaAhaFJaBFaFtaFHpKGaFMaAxaGDaGDaEUaGDaHuaFXaFXaFXaFXaGmoHbaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
aKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaJHaMWaJHaFxaHCaJQaHDaHEaIcaGaaGdaGdtagtbAaJyaJyaJyfnYaKlaFJaFJaFJaAgaAhaFJaFJaFJaBFpKGaGDaGDaGDaGDaEUaGDaGDaGEaGEaGEaGEaGEaMEaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaafaNlaNlaNlaNlaNlaNlaNlaNlaNllzTwHfclbaGNclbtDMlzTqzSqzSqzSqzSqzSoLDclbclbclbifNtqAfpXwHfcmbcmbcmbtDMqzSqzSlzTaNluTH
aKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaJHaMWaJHaHDaGGaJCaHEaJDaJEaFGaGhaGhaGhpKGaJyaJyaJypKGaKJaKMaKMaKMaGJaGKaFtaFtaFtaFHpKGaGLaGDaGDaGDfnYdICdGFdqtaJAnPCsXysXysXysXytbAaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaAKaakaakaakaakaakaakaakaakaakiWCcnbcobcpbcobcqbiWCcrbcobcsbcobctbiWCcubcvbcwbiWCcxbcybczbcAbcBbcBbcCbcDbcEbiWCaakaak
@@ -3639,7 +3364,7 @@ aKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaK
aKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaQaaQbaQbaQeaQkaQlaQbaQiaQbaQbaLbaQbaLbaQbaQbaQiaQbaLdaLdaQbaQdaKuaKuaQaaQaaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaATszwxgxxgxlulinjxAnxAnxAnxAnxAnxAnwzbickxgxxgxaGoaGoaGoxgxxgxjtyjtyjtyjtyjtyjtynwdnwdjtyjtyjtyjtyjtyoxkxAntvXtvXtvXxAnxgxlullullulxAnxAnxAnmvFxAnxAnxAnqjGxAnxAnxAnszwszwaATaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
aKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaLdaQoaQpaQqaQraQbaLbaQbaQsaQtaQuaQvaQwaQbaLbaQbaQxaQyaQbaQaaQaaQaaQdaQaaQaaQbaQzaQzaQzaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaATszwszwszwszwszwxAntvXxAnvbpxAnxgxqBzxgxxgxsBurFRetztvXtjxxgxjtyjtyfaTbyDdcRjtyjtyjtyrnHfaTbyDwSpjtyoxkxAnmAUtvXxAnxAnxgxxgxxAnxAnxgxxAntvXxAnxAnxAnlullullulxAnxAnxAnszwaATaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
aKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaQaaLdaQAaQBaQCaQDaQbaQEaQFaQGaQEaQHaQFaQIaGbaQEaQBaQJaQFaQbaLaaQbaLaaLaaQbaLaaQbaQzaQzaQzaQzaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaATszwszwszwszwszwszwszwxAntvXxAnxAnetzetzxgxtvXtvXxAnxAntvXxgxjtyjtyxLztvXxEwjtyjtyjtyrnHfFhxAnjuQjtyoxktvXtvXxAnvbpxAnxAnxAnxAnxAnxAnxAnxAnmHighwlullulvYKxgxxgxxAntvXszwaATaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
-aKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaQaaLdaQKaQLaQMaQNaQOaQPaQQaQRaQSaQTaQUaQVaQWaQWaQUaQXaQFaQbaQhaQYaQhaQZaRaaRbaQbaQzaQzaQzaQzaQzaQzaQzaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaATszwszwszwszwszwszwxAntvXtvXxAnxAnetztvXetzetztvXkKNtvXetzqBzjtyjtyxLzvbpogZrnHjtyjtyjtyeedxAnxEwjtyoxktvXxAnxAnxAnxAnxAnkKNxAnxAnlullulxAntvXtvXxAnxAnxAnxAnlullultvXszwaATaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+aKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaQaaLdaQKaQLaQMaQNaQOaQPaQQaQRaQSaQTaQUaQVaQWaQWaQUaQXaQFaQbaQhaQYaQhacJaRaaRbaQbaQzaQzaQzaQzaQzaQzaQzaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaATszwszwszwszwszwszwxAntvXtvXxAnxAnetztvXetzetztvXkKNtvXetzqBzjtyjtyxLzvbpogZrnHjtyjtyjtyeedxAnxEwjtyoxktvXxAnxAnxAnxAnxAnkKNxAnxAnlullulxAntvXtvXxAnxAnxAnxAnlullultvXszwaATaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
aKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaQaaLdaRcaSbaReaRfaQbaLiaLaaLiaQbaRgaQbaLiaLaaLaaQbaRhaRiaQbaRbaQhaQiaQhaRbaQhaQbaQzaQzaQzaQzaQzaQzaQzaQzaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaATszwszwszwszwszwszwxAntvXtHHxAnidPxAnetzxgxsjrtvXtvXtvXetzxgxjtyjtyeedxAnogZrnHjtyjtyjtyhozxAnogZjtyoxktvXtvXxAnoncxAnxAnxAnxAnxAnxgxlullultvXtvXxAnxAnqjGxAnjZglulxAnszwaATaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
aKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaQbaQbaLdaLdaQbaQbaQdaQaaKuaLaaRjaLaaQaaQaaKuaQbaQCaRkaQbaLjaRmaLjaLjaRmaLjaQbaQzaQzaQzaQzaQzaQzaQzaQzaQzaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaATszwszwszwszwszwszwszwxAnxAnxAnxgxxAnxgxxgxtvXtvXetzetzpDsxgxjtyjtyhozlHNjuQjtyjtyjtyjtykgPtvXjuQjtyoxkxAnfzftvXxAnxAnxAnxAnxAnxAnxgxxgxlulxAnxgxxgxxAnxAnxAnxAnxAnszwszwaATaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
aKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaQaaQaaKuaQaaKuaKuaKuaKuaQbaRnaQbaQaaKuaKuaQbaRoaQEaQbaRpaRqaRraRsaRtaRuaQbaQzaQzaQzaQzaQzaQzaQzaQzaQzaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaATszwszwszwszwszwszwszwxAnxAnxAnqSumJNrnHxgxxgxaGoaGokGDxgxxgxjtyjtyhtPuPTfEKjtyjtyjtyjtymRHiIrpiTjtyhMvwzbwzbwzbwzbwzbwzbwzbvBExAnxAnxAntvXxAnxAnxgxbEvlullullulxAnszwszwaATaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
@@ -3647,7 +3372,7 @@ aKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaK
aKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKubgbbgbbhbaRKaRLaRMbhbbgbbgbaLdaRNaROaRPaRQaRRaRSaRRaRTaRUaQbaQzaQzaQzaQzaQzaQzaQzaQzaQzaQzaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaATszwszwszwszwszwszwszwxAnxAntvXxAnrHErnHjtyjtyjtyjtyjtyjtyjtyjtyjtytLijtyjtyjtyjtyjtyjtyjtyjtyjtynwdjtywImxgxiWqpLTiyiiWqxgxoxkdDZxAnxAntvXxAnxAnxgxxgxxAnlulxgxtvXszwszwaATaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
aKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKubibbjbbkbblbaRZblbbkbbjbbmbaLdaQCaQFaQbbnbaSdaSeaSfaSgaShaQbaQzaQzaQzaQzaQzaQzaQzaQzaQzaQzaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaATszwszwszwszwszwszwszwxAntvXtvXidPrHEjtyjtyjtyjtyjtyjtyxgxxgxqBzxgxqRbxgxxgxwImjtyjtyjtyxgxxgxxgxqRbxgxxgxxgxgrqekBetzgrqcraoxkxAnxAnxAntvXtvXtvXxAntvXxAntvXdfJtvXszwszwaATaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
aKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKubhbbobaSjaSkaSlbsbbhbaKuaQbaQCaQHaQbaQbaQbaQbaQbaQbaQbaQbaQzaQzaQzaQzaQzaQzaQzaQzaQzaQzaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaATszwszwszwszwszwszwszwszwtvXtlHxAnrHExgxxgxaHfaGoaGoxgxxgxetzetzetzetzetzxgxxgxrnHjtyrnHxgxfTwoQtetzconkpyxgxetzetzetzetzaHfoxkxAnqjGxAntvXtHHdROwzbwzbnlPnlPvBEtvXszwszwaATaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKubVlaSnaSnaSnaSnaSnaSnsHMaSnaSnaSnsHMaSnaSoaSnraebVuaKuaKuaKuaKuaKuaKuaKuaKuaKu
-aKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKubhbbpbaSqaSraSsbsbbhbaKuaQbaStaQEaQbaSuaSvbqbbrbaSyaSzaQbaQzaQzaQzaQzaQzaQzaQzaQzaQzaQzaQzaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaATszwszwszwszwszwszwszwszwtvXtvXoncrHExgxetzqsGetzqsGetzxgxetzbJLubeiBOetzxgxjtyjtyjtyjtyxgxoVdrgyrgyphQiSpxgxrJketzetzxspaHfoxkxAnxAnxAntvXxAnrHExgxxgxkwekwexgxxgxxgxxgxaATaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKudHfaSAaSBaKSaSDaSDaNbnQiaSGaSGaSGnQiaSHaSIaSJxRSgQUaKuaKuaKuaKuaKuaKuaKuaKuaKu
+aKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKubhbbpbaSqaSraSsbsbbhbaKuaQbaStaQEaQbaSuaSvbqbbrbaSyaSzaQbaQzaQzaQzaQzaQzaQzaQzaQzaQzaQzaQzaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaATszwszwszwszwszwszwszwszwtvXtvXoncrHExgxetzqsGetzqsGetzxgxetzbJLubeiBOetzxgxjtyjtyjtyjtyxgxoVdrgyrgyphQiSpxgxrJketzetzxspaHfoxkxAnxAnxAntvXxAnrHExgxxgxkwekwexgxxgxxgxxgxaATaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKudHfaSAaSBaKSaecaSDaNbnQiaSGaSGaSGnQiaSHaSIaSJxRSgQUaKuaKuaKuaKuaKuaKuaKuaKuaKu
aKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKubhbbUbaSLaSraSMbpbbtbaKuaQbaSOaRkaQbaSuaSQbubbvbaSSaSTaQbaQzaQzaQzaQzaQzaQzaQzaQzaQzaQzaQzaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaATszwszwszwszwszwszwszwxAnxAntvXxAnrHExgxetzdtotCUqKIetzxgxetziBOugknaaetzqRbnwdjtyjtyjtyaHfconphQoDmfhmetzqRbetzetzetzetzxgxoxktvXxAnxAntvXxAnrHExgxlullullullullullvQxgxaATaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKudHfaSCaSCaSCaSCaSCaSCaSUaSVaSWaSVaSXaSIaSIaSYxRSgQUaKuaKuaKuaKuaKuaKuaKuaKuaKu
aKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKubhbbUbaSLaSZaSsbVbbhbaKuaQbaQCaQEaQbaSuaTbaTcaRFaTeaSTaQbaQzaQzaQzaQzaQzaQzaQzaQzaQzaQzaQzaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaATszwszwszwszwszwszwxgxxgxtvXtvXxAnrHExgxetztCUtCUtCUetzqRbetznwccxktdletzqRbnwdjtyjtyjtyaHfetzphQxxYrgygPmxgxejYetzetzpPuxgxoxktvXxAndDZtvXtvXrHExgxjZglultmtkFYxuXkFYxgxaATaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKudHfaTfaTfaSCaSCaSCaTgjbAaSVaSVaThbVlaSnaSnaSnmnfmspaKuaKuaKuaKuaKuaKuaKuaKuaKu
aKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKubwbbpbaSqaSZaSsbVbbhbaKuaLdaQCaQEaQbaQbaTjaTkaTlaTmaQbaQbaQzaQzaQzaQzaQzaQzaQzaQzaQzaQzaQzaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaATszwszwxgxxgxszwszwlulxgxtvXdTWxAnrHExgxvSWetzetzetznCpxgxetzetzfBFetzetzxgxjtyjtyjtyjtyaHfconlofdHzrgyconxgxxgxxgxqRbxgxxgxoxktvXvbpxAntvXtlHrHExgxjZgjZgtmtlvQlultmtxgxaATaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKudHfaSCaSCaSCaSCaSCaTndHfaToaToaTpnQiaTqaTraTsaKXdHfaKuaKuaKuaKuaKuaKuaKuaKuaKu
@@ -3669,7 +3394,7 @@ aKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaK
aKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaVmaVzaVoaKuaVmaVzaVoaKuaKuaKuaQaaQaaQaaKuaQaaQaaQbaLkaLkaLkbRbaWNaWOaWPaWQaWRaWSaWTaQRaWVaWWaWXaQEaWYaUcaWZaQFaXaaXbaQdaXcaUcaQaaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaATszwszwszwszwszwszwszwtvXxAnvbpxAnrHEaGoetzoELlNsbNvetzxgxetzleyiBOnaaetzqRbjtyjtyjtyjtyaHfkFOiBOvboiBOetzxgxfQFetzetzrgPxgxoxktvXeouxAntvXtvXxAnkKNtvXtvXtvXtvXszwszwszwaATaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
aKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaXdaKuaKuaKuaXdaLkaLkaLkaLkaQbaQbaQbaQbaQbaQbaQbaXeaXfbSbaXhaXiaXjaXkaUcaUcaUcaUcaUcaUcaUcaXlaXmaXnaUcaXoaQEaXpaXqaXraXsaUcaQaaQaaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaATszwszwszwszwszwszwszwtvXtlHxAnxAnrHExgxetzetzetzetzetzxgxetzptvkIGhcfetzxgxrkUjtyjtyjtyaHfiqziBOtiviBOetzxgxxgxxgxqRbxgxxgxoxktvXtvXxAntvXtvXxAnqjGtvXtvXtvXszwszwszwszwaATaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
aKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaXtaXuaXuaXuaXvaLkaXwaQEaXxaXyaXzaXAaXBaUcaQEaQEaXCaXDaXEaXFaXGaXHaXIaXJaUcaXKaXLaXMaXNaXOaXPaQEankaUcaUcaUcaUcaUcaUcaUcaQbaLkaLkaQbaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaATszwszwszwszwszwszwszwtvXtvXxAnidPrHExgxxgxaGoaHfaGoxgxxgxetziBOiBOnaaetzxgxxgxjtyjtyjtyxgxpfYetzetzetzgPmxgxubuqSukUJqSuqSulYbxAnxAnxAntvXsjrxAnxAntvXsjrxgxszwszwszwszwaATaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
-aKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaXRaXSaLlaXUaXVaXWaXXaXXaXYaXZaYaaYbaYcaYdaYeaYfaYgaYhaYiaYjaYkaUcaYlaYmaYnaUcaUcaYoaYpaYpaYqaYqaYqaYraYsbTbaYuaYvaYwaYxaLkaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaATszwszwszwszwszwszwszwtvXtlHxAnxAntmRqSuqSuqSuqSuqSumJNxgxxgxqBzxgxqBzxgxxgxrnHrnHjtyrnHxgxounsMxetzetzhROxgxoxkxAnxAnxAnxAnxAnxAnmHixAntvXtvXxAnxAntvXtvXxgxszwxgxxgxxgxaATaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
+aKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaXRaXSaLlaXUaXVaXWaXXaXXaXYaXZaYaaYbaYcaYdaYeaYfaYgaYhaYiaYjaYkaUcaYlaYmaheaUcaUcaYoaYpaYpaYqaYqaYqaYraYsbTbaYuaYvaYwaYxaLkaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaATszwszwszwszwszwszwszwtvXtlHxAnxAntmRqSuqSuqSuqSuqSumJNxgxxgxqBzxgxqBzxgxxgxrnHrnHjtyrnHxgxounsMxetzetzhROxgxoxkxAnxAnxAnxAnxAnxAnmHixAntvXtvXxAnxAntvXtvXxgxszwxgxxgxxgxaATaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
aKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaYyaXuaXuaXuaYzaLkaQEaQEaYAaYBaYCaYDaYEaYFaQEaQEaYGaYHaYIaYJaYKaYLaYMaYNaUcaUcaUcaYOaUcaUcaYPaYQaWWaWTaYRaQSaYTaYUaYVaYWaYXaYXaYYaLkaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaATszwszwszwxAnxAntvXtvXtvXtvXxAnxAnxAnxAnxAnxAntvXtvXtmRqSuqSuqSuqSuqSuqSuqSuqSuqSuqSumJNxgxxgxxgxqRbxgxxgxxgxoxkxAndDZxAnxAnxAnidPxAnxAnxgxxgxisXxgxxgxisXhEMszwxgxlulxgxaATaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
aKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaXdaKuaKuaKuaXdaLkaLkaLkaLkaUcaUcaUcaUcaUcaUcaUcaUcaYZaZaaZbaZcaZdaZeaYNaUcaZfaZgaZhaUcaUcaZiaUcaZjaZkaZiaUcaUcaZlaZmaYWaZnaYXaZoaLkaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaATszwszwxAnxAnxAntvXxAntvXxAndTWxAnxAnxAnxAnxAnxAnvbpxAnxAnxAnxAnxAnxAnxAnxAnxAnxAnxAntmRqSuqSuqSukUJqSuqSuqSuxUqxAnqjGxAnmiRxAntvXxAnxAnxgxlullulxAntvXlulhFxlulsUrlulxgxaATaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
aKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaVmaZpaVoaKuaVmaZpaVoaKuaKuaKuaQzaQzaQzaQzaQzaQzaQzaUcaUcaZqaZraZsaZtaZuaUcaUcaUcaUcaYOaUcaZvaZwaUcaZxaUcaZyaZzaUcaZAaZmaYWaYWaYWaZBaQbaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaPZaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaATszwszwszwszwtvXxAntvXsjrxAntvXxAntvXdTWtvXxAnmiRxAnxAntvXtvXtvXmHixAnxgxlSntvXxgxxgxxgxxAnxAnxAnxAnxAnxAntvXxAnxAnxAnxAntvXtvXtvXxAnxAnxAntvXxAnxAnjrvtvXlullulxgxxgxxgxaATaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKuaKu
diff --git a/maps/frontier/frontier_holodecks.dm b/maps/frontier/frontier_holodecks.dm
deleted file mode 100644
index b37f026ffc6..00000000000
--- a/maps/frontier/frontier_holodecks.dm
+++ /dev/null
@@ -1,68 +0,0 @@
-
-/datum/map/frontier
-
- holodeck_programs = list(
- "emptycourt" = new /datum/holodeck_program(/area/holodeck/source_emptycourt, list('sound/music/THUNDERDOME.ogg')),
- "boxingcourt" = new /datum/holodeck_program(/area/holodeck/source_boxingcourt, list('sound/music/THUNDERDOME.ogg')),
- "basketball" = new /datum/holodeck_program(/area/holodeck/source_basketball, list('sound/music/THUNDERDOME.ogg')),
- "thunderdomecourt" = new /datum/holodeck_program(/area/holodeck/source_thunderdomecourt, list('sound/music/THUNDERDOME.ogg')),
- "beach" = new /datum/holodeck_program(/area/holodeck/source_beach),
- "desert" = new /datum/holodeck_program(/area/holodeck/source_desert,
- list(
- 'sound/effects/wind/wind_2_1.ogg',
- 'sound/effects/wind/wind_2_2.ogg',
- 'sound/effects/wind/wind_3_1.ogg',
- 'sound/effects/wind/wind_4_1.ogg',
- 'sound/effects/wind/wind_4_2.ogg',
- 'sound/effects/wind/wind_5_1.ogg'
- )
- ),
- "snowfield" = new /datum/holodeck_program(/area/holodeck/source_snowfield,
- list(
- 'sound/effects/wind/wind_2_1.ogg',
- 'sound/effects/wind/wind_2_2.ogg',
- 'sound/effects/wind/wind_3_1.ogg',
- 'sound/effects/wind/wind_4_1.ogg',
- 'sound/effects/wind/wind_4_2.ogg',
- 'sound/effects/wind/wind_5_1.ogg'
- )
- ),
- "space" = new /datum/holodeck_program(/area/holodeck/source_space,
- list(SFX_AMBIENT_SPACE)
- ),
- "picnicarea" = new /datum/holodeck_program(/area/holodeck/source_picnicarea, list('sound/music/classic/title2.ogg')),
- "theatre" = new /datum/holodeck_program(/area/holodeck/source_theatre),
- "meetinghall" = new /datum/holodeck_program(/area/holodeck/source_meetinghall),
- "courtroom" = new /datum/holodeck_program(/area/holodeck/source_courtroom, list('sound/music/classic/traitor.ogg')),
- "wildlifecarp" = new /datum/holodeck_program(/area/holodeck/source_wildlife, list()),
- "chess" = new /datum/holodeck_program(/area/holodeck/source_chess, list()),
- "turnoff" = new /datum/holodeck_program(/area/holodeck/source_plating, list())
- )
-
- holodeck_supported_programs = list(
-
- "FrontierMainPrograms" = list(
- "Empty Court" = "emptycourt",
- "Basketball Court" = "basketball",
- "Thunderdome Court" = "thunderdomecourt",
- "Boxing Ring" = "boxingcourt",
- "Beach" = "beach",
- "Desert" = "desert",
- "Space" = "space",
- "Picnic Area" = "picnicarea",
- "Snow Field" = "snowfield",
- "Theatre" = "theatre",
- "Meeting Hall" = "meetinghall",
- "Courtroom" = "courtroom",
- "Chess Field" = "chess"
- )
-
- )
-
- holodeck_restricted_programs = list(
-
- "FrontierMainPrograms" = list(
- "Wildlife Simulation" = "wildlifecarp"
- )
-
- )
diff --git a/maps/frontier/supermatter.dmm b/maps/frontier/supermatter.dmm
index 2b06baa0b1f..8a0349d9dd0 100644
--- a/maps/frontier/supermatter.dmm
+++ b/maps/frontier/supermatter.dmm
@@ -172,7 +172,7 @@
"uc" = (/obj/effect/floor_decal/industrial/outline/orange,/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/machinery/portable_atmospherics/canister/plasma/engine_setup,/turf/simulated/floor/tiled/dark/rough,/area/engineering/engine_room)
"uw" = (/obj/machinery/power/smes/buildable{RCon_tag = "Engine - Main 2"; capacity = 2.5e+006; charge = 500000; cur_coils = 2; input_attempt = 1; input_level = 500000; output_attempt = 1; output_level = 500000},/obj/structure/cable{d2 = 4; icon_state = "0-4"},/obj/effect/engine_setup/smes,/obj/structure/window/reinforced{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/engineering/engine_smes)
"uE" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/effect/floor_decal/corner/yellow{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/engineering/break_room)
-"uF" = (/obj/machinery/firealarm{dir = 4; layer = 3.3; pixel_x = 26},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/camera/network/engineering{c_tag = "Singularity Generator Room - South"; dir = 1},/obj/effect/floor_decal/corner/yellow/diagonal,/obj/structure/table/standard,/obj/machinery/chemical_dispenser/bar_coffee/full,/turf/simulated/floor/tiled/dark/rough,/area/engineering/break_room)
+"uF" = (/obj/machinery/firealarm{dir = 4; layer = 3.3; pixel_x = 26},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/camera/network/engineering{c_tag = "Singularity Generator Room - South"; dir = 1},/obj/effect/floor_decal/corner/yellow/diagonal,/obj/structure/table/standard,/turf/simulated/floor/tiled/dark/rough,/area/engineering/break_room)
"uI" = (/obj/machinery/shower,/obj/machinery/light/small{dir = 4},/obj/structure/curtain/open/shower/engineering,/turf/simulated/floor/tiled/dark/rough,/area/engineering/engine_airlock)
"uO" = (/obj/machinery/atmospherics/pipe/manifold/visible/black{dir = 1},/turf/simulated/floor/plating,/area/engineering/engine_room)
"va" = (/turf/simulated/wall/r_wall,/area/engineering/storage)
diff --git a/maps/genesis/genesis-1.dmm b/maps/genesis/genesis-1.dmm
index ec446c27e3f..366d073d1d3 100644
--- a/maps/genesis/genesis-1.dmm
+++ b/maps/genesis/genesis-1.dmm
@@ -330,7 +330,7 @@
"gr" = (/obj/effect/floor_decal/corner/green/diagonal{icon_state = "corner_white_diagonal"; dir = 8},/obj/effect/floor_decal/corner/green/diagonal,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/white,/area/maintenance/ghetto_virology)
"gs" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/item/remains,/turf/simulated/floor/tiled,/area/maintenance/ghetto_virology)
"gt" = (/obj/effect/floor_decal/corner/green{icon_state = "corner_white"; dir = 6},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/obj/effect/decal/cleanable/dirt,/obj/structure/spider/stickyweb,/turf/simulated/floor/tiled/white,/area/maintenance/ghetto_virology)
-"gu" = (/obj/machinery/door/airlock/medical{icon = 'icons/obj/doors/doorviro.dmi'; name = "Old Airlock"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/obj/structure/barricade/material{layer = 6},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/maintenance/underground/bar)
+"gu" = (/obj/machinery/door/airlock/medical{icon = 'icons/obj/doors/doorviro.dmi'; name = "Old Airlock"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/obj/structure/barricade/material,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/maintenance/underground/bar)
"gv" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/underground/bar)
"gw" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; icon_state = "intact-supply"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/underground/bar)
"gx" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/door/airlock/maintenance,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; icon_state = "intact-supply"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/underground/bar)
@@ -521,9 +521,9 @@
"ka" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/table/standard,/obj/item/paper_bin,/obj/item/pen/blue{pixel_x = -3; pixel_y = 2},/obj/item/stamp/clown,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark,/area/maintenance/ghetto_shop)
"kb" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/effect/decal/cleanable/dirt,/obj/structure/bed/chair/office/dark{dir = 8},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/dark,/area/maintenance/ghetto_shop)
"kc" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/dark,/area/maintenance/ghetto_shop)
-"kd" = (/obj/machinery/door/airlock/maintenance,/obj/structure/barricade/material{layer = 6},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/maintenance/ghetto_shop)
+"kd" = (/obj/machinery/door/airlock/maintenance,/obj/structure/barricade/material,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/maintenance/ghetto_shop)
"ke" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/plating,/area/maintenance/underground/library)
-"kf" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; icon_state = "intact-supply"},/obj/machinery/door/airlock/maintenance,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/structure/barricade/material{layer = 6},/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/maintenance/ghetto_minicasino)
+"kf" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; icon_state = "intact-supply"},/obj/machinery/door/airlock/maintenance,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/structure/barricade/material,/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/maintenance/ghetto_minicasino)
"kg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; icon_state = "intact-supply"},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/ghetto_minicasino)
"kh" = (/obj/effect/floor_decal/corner/beige/diagonal,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; icon_state = "intact-supply"},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/brown,/area/maintenance/ghetto_minicasino)
"ki" = (/obj/effect/floor_decal/corner/beige/diagonal,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; icon_state = "intact-supply"},/obj/effect/decal/cleanable/dirt,/obj/machinery/door/airlock/maintenance,/turf/simulated/floor/tiled/brown,/area/maintenance/ghetto_minicasino)
@@ -648,7 +648,7 @@
"mx" = (/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/structure/table/rack,/obj/item/clothing/under/rank/clown,/obj/item/clothing/shoes/clown_shoes,/obj/item/clothing/mask/gas/clown_hat,/turf/simulated/floor/tiled/dark,/area/maintenance/ghetto_shop)
"my" = (/obj/structure/window/reinforced{dir = 4},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/structure/table/rack,/obj/item/storage/backpack/clown,/obj/item/toy/figure/clown,/turf/simulated/floor/tiled/dark,/area/maintenance/ghetto_shop)
"mz" = (/obj/structure/cable{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/maintenance/underground/library)
-"mA" = (/obj/effect/wingrille_spawn/reinforced,/obj/structure/barricade/material{layer = 6},/turf/simulated/floor/plating,/area/maintenance/ghetto_minicasino)
+"mA" = (/obj/effect/wingrille_spawn/reinforced,/obj/structure/barricade/material,/turf/simulated/floor/plating,/area/maintenance/ghetto_minicasino)
"mB" = (/obj/structure/window/reinforced{dir = 4},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/structure/table/rack,/obj/item/device/synthesized_instrument/guitar,/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_minicasino)
"mC" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_minicasino)
"mD" = (/obj/structure/bed/chair/comfy/black{dir = 1},/turf/simulated/floor/tiled/dark,/area/maintenance/ghetto_minicasino)
@@ -679,12 +679,12 @@
"nc" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/atmospherics/portables_connector,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_main)
"nd" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_main)
"ne" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_main)
-"nf" = (/obj/effect/wingrille_spawn/reinforced,/obj/structure/barricade/material{layer = 6},/turf/simulated/floor/plating,/area/maintenance/ghetto_shop)
+"nf" = (/obj/effect/wingrille_spawn/reinforced,/obj/structure/barricade/material,/turf/simulated/floor/plating,/area/maintenance/ghetto_shop)
"ng" = (/obj/machinery/door/airlock/glass{name = "Clothing Shop"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/maintenance/ghetto_shop)
"nh" = (/obj/machinery/door/airlock/glass{name = "Clothing Shop"},/obj/effect/floor_decal/corner/white/diagonal,/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/firedoor/border_only,/turf/simulated/floor/plating,/area/maintenance/ghetto_shop)
"ni" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/underground/library)
"nj" = (/turf/simulated/floor/plating,/area/maintenance/ghetto_minicasino)
-"nk" = (/obj/machinery/door/airlock/maintenance,/obj/structure/barricade/material{layer = 6},/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/maintenance/ghetto_minicasino)
+"nk" = (/obj/machinery/door/airlock/maintenance,/obj/structure/barricade/material,/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/maintenance/ghetto_minicasino)
"nl" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/dark,/area/maintenance/ghetto_minicasino)
"nm" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/ghetto_minicasino)
"nn" = (/turf/simulated/floor/plating/airless,/area/maintenance/underground/port_primary_hallway)
@@ -742,7 +742,7 @@
"on" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; icon_state = "intact-supply"},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/maintenance,/turf/simulated/floor/plating,/area/maintenance/underground/library)
"oo" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/maintenance/underground/library)
"op" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/underground/library)
-"oq" = (/obj/machinery/door/airlock/maintenance,/obj/structure/barricade/material{layer = 6},/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_minicasino)
+"oq" = (/obj/machinery/door/airlock/maintenance,/obj/structure/barricade/material,/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_minicasino)
"or" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small{dir = 4; pixel_y = 0},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_minicasino)
"os" = (/obj/structure/sign/poster{pixel_x = 0; pixel_y = 0},/turf/simulated/wall,/area/maintenance/ghetto_minicasino)
"ot" = (/turf/simulated/wall,/area/maintenance/underground/locker_room)
@@ -919,7 +919,7 @@
"rI" = (/obj/machinery/door/airlock{name = "Unit 3"},/turf/simulated/floor/plating,/area/maintenance/ghetto_toilet)
"rJ" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/structure/table/standard,/obj/item/storage/toolbox/electrical,/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/underground/library)
"rK" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/underground/library)
-"rL" = (/obj/machinery/door/airlock/maintenance,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; icon_state = "intact-supply"},/obj/structure/barricade/material{layer = 6},/obj/machinery/door/firedoor,/turf/simulated/floor/tiled/dark,/area/maintenance/ghetto_minicasino)
+"rL" = (/obj/machinery/door/airlock/maintenance,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; icon_state = "intact-supply"},/obj/structure/barricade/material,/obj/machinery/door/firedoor,/turf/simulated/floor/tiled/dark,/area/maintenance/ghetto_minicasino)
"rM" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/dark,/area/maintenance/ghetto_minicasino)
"rN" = (/obj/structure/table/woodentable,/obj/item/paper_bin,/obj/item/pen/blue{pixel_x = -3; pixel_y = 2},/turf/simulated/floor/tiled/dark,/area/maintenance/ghetto_minicasino)
"rO" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/trim/wood,/area/maintenance/ghetto_minicasino)
@@ -1029,8 +1029,8 @@
"tO" = (/obj/effect/floor_decal/industrial/warning,/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_rnd)
"tP" = (/obj/structure/bed/chair/office/dark{dir = 1},/turf/simulated/floor/plating,/area/maintenance/ghetto_rnd)
"tQ" = (/obj/structure/table/reinforced,/obj/item/paper_bin,/obj/item/pen,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_rnd)
-"tR" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; icon_state = "intact-supply"},/obj/structure/barricade/material{layer = 6},/turf/simulated/floor/plating,/area/maintenance/underground/library)
-"tS" = (/obj/effect/wingrille_spawn/reinforced,/obj/structure/barricade/material{layer = 6},/turf/simulated/floor/plating,/area/maintenance/underground/library)
+"tR" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; icon_state = "intact-supply"},/obj/structure/barricade/material,/turf/simulated/floor/plating,/area/maintenance/underground/library)
+"tS" = (/obj/effect/wingrille_spawn/reinforced,/obj/structure/barricade/material,/turf/simulated/floor/plating,/area/maintenance/underground/library)
"tT" = (/obj/structure/table/woodentable,/obj/effect/decal/cleanable/dirt,/obj/item/newspaper,/turf/simulated/floor/trim/wood{icon_state = "wood_broken0"},/area/maintenance/ghetto_detective)
"tU" = (/obj/effect/decal/cleanable/dirt,/obj/structure/bed/chair/comfy/brown,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/ghetto_detective)
"tV" = (/obj/structure/computerframe,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/trim/wood{icon_state = "wood_broken0"},/area/maintenance/ghetto_detective)
@@ -1115,7 +1115,7 @@
"vw" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/structure/bed/chair{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/trim/wood,/area/maintenance/ghetto_detective)
"vx" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; icon_state = "intact-supply"},/turf/simulated/floor/trim/wood{icon_state = "wood_broken6"},/area/maintenance/ghetto_detective)
"vy" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; icon_state = "intact-supply"},/turf/simulated/floor/trim/lino,/area/maintenance/ghetto_detective)
-"vz" = (/obj/machinery/door/airlock/maintenance,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; icon_state = "intact-supply"},/obj/structure/barricade/material{layer = 6},/turf/simulated/floor/plating,/area/maintenance/ghetto_detective)
+"vz" = (/obj/machinery/door/airlock/maintenance,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; icon_state = "intact-supply"},/obj/structure/barricade/material,/turf/simulated/floor/plating,/area/maintenance/ghetto_detective)
"vA" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; icon_state = "intact-supply"},/turf/simulated/floor/trim/wood{icon_state = "wood_broken4"},/area/maintenance/ghetto_detective)
"vB" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor/trim/wood,/area/maintenance/ghetto_detective)
"vC" = (/obj/machinery/vending/cigarette,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/ghetto_detective)
@@ -1196,10 +1196,10 @@
"wZ" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/trim/wood,/area/maintenance/ghetto_strangeplace)
"xa" = (/obj/structure/flora/pottedplant{icon_state = "plant-22"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/trim/wood{icon_state = "wood_broken3"},/area/maintenance/ghetto_strangeplace)
"xb" = (/turf/simulated/wall,/area/maintenance/underground/robotics_lab)
-"xc" = (/obj/effect/wingrille_spawn/reinforced,/obj/structure/barricade/material{layer = 6},/turf/simulated/floor/plating,/area/maintenance/underground/robotics_lab)
+"xc" = (/obj/effect/wingrille_spawn/reinforced,/obj/structure/barricade/material,/turf/simulated/floor/plating,/area/maintenance/underground/robotics_lab)
"xd" = (/obj/machinery/door/airlock/maintenance,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/underground/robotics_lab)
"xe" = (/obj/structure/sign/poster{pixel_x = 0; pixel_y = 0},/turf/simulated/wall,/area/maintenance/underground/robotics_lab)
-"xf" = (/obj/machinery/door/airlock/maintenance,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/barricade/material{layer = 6},/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/maintenance/underground/robotics_lab)
+"xf" = (/obj/machinery/door/airlock/maintenance,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/barricade/material,/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/maintenance/underground/robotics_lab)
"xg" = (/turf/simulated/wall/r_wall,/area/maintenance/underground/robotics_lab)
"xh" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/turf/simulated/floor/plating,/area/maintenance/underground/research_port)
"xi" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/plating,/area/maintenance/underground/research_port)
@@ -1252,12 +1252,12 @@
"yd" = (/obj/structure/table/rack,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/tank/oxygen,/obj/item/device/radio,/obj/item/clothing/mask/breath,/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_main)
"ye" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_main)
"yf" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_main)
-"yg" = (/obj/structure/table/woodentable,/obj/item/airlock_electronics,/obj/item/firealarm_electronics,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor/carpet,/area/maintenance/ghetto_strangeplace)
-"yh" = (/obj/structure/bed/chair/comfy/brown,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor/carpet,/area/maintenance/ghetto_strangeplace)
-"yi" = (/obj/structure/bed/chair/comfy/black,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor/carpet,/area/maintenance/ghetto_strangeplace)
+"yg" = (/obj/structure/table/woodentable,/obj/item/airlock_electronics,/obj/item/firealarm_electronics,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/trim/carpet/oldred,/area/maintenance/ghetto_strangeplace)
+"yh" = (/obj/structure/bed/chair/comfy/brown,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/trim/carpet/oldred,/area/maintenance/ghetto_strangeplace)
+"yi" = (/obj/structure/bed/chair/comfy/black,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/trim/carpet/oldred,/area/maintenance/ghetto_strangeplace)
"yj" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/trim/wood,/area/maintenance/ghetto_strangeplace)
"yk" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/trim/wood,/area/maintenance/ghetto_strangeplace)
-"yl" = (/obj/machinery/door/airlock/maintenance,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/barricade/material{layer = 6},/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/ghetto_strangeplace)
+"yl" = (/obj/machinery/door/airlock/maintenance,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/barricade/material,/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/ghetto_strangeplace)
"ym" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/random/toolbox,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/underground/robotics_lab)
"yn" = (/turf/simulated/floor/plating,/area/maintenance/underground/robotics_lab)
"yo" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/door/airlock/maintenance{req_access = list(12)},/obj/structure/barricade/material,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/underground/robotics_lab)
@@ -1277,10 +1277,10 @@
"yC" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_main)
"yD" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/ghetto_main)
"yE" = (/obj/structure/table/reinforced,/obj/effect/decal/cleanable/dirt,/obj/item/storage/toolbox/mechanical,/obj/item/device/flashlight,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_main)
-"yF" = (/obj/structure/table/woodentable,/obj/item/storage/briefcase,/obj/item/device/taperecorder,/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/holofloor/carpet,/area/maintenance/ghetto_strangeplace)
-"yG" = (/obj/structure/table/woodentable,/obj/item/contraband/poster,/obj/item/contraband/poster,/obj/item/contraband/poster,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor/carpet,/area/maintenance/ghetto_strangeplace)
-"yH" = (/obj/structure/table/woodentable,/obj/item/clipboard,/obj/item/airalarm_electronics,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor/carpet,/area/maintenance/ghetto_strangeplace)
-"yI" = (/obj/structure/table/woodentable,/obj/item/folder,/obj/item/pen/blue{pixel_x = -3; pixel_y = 2},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor/carpet,/area/maintenance/ghetto_strangeplace)
+"yF" = (/obj/structure/table/woodentable,/obj/item/storage/briefcase,/obj/item/device/taperecorder,/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/trim/carpet/oldred,/area/maintenance/ghetto_strangeplace)
+"yG" = (/obj/structure/table/woodentable,/obj/item/contraband/poster,/obj/item/contraband/poster,/obj/item/contraband/poster,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/trim/carpet/oldred,/area/maintenance/ghetto_strangeplace)
+"yH" = (/obj/structure/table/woodentable,/obj/item/clipboard,/obj/item/airalarm_electronics,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/trim/carpet/oldred,/area/maintenance/ghetto_strangeplace)
+"yI" = (/obj/structure/table/woodentable,/obj/item/folder,/obj/item/pen/blue{pixel_x = -3; pixel_y = 2},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/trim/carpet/oldred,/area/maintenance/ghetto_strangeplace)
"yJ" = (/obj/structure/closet/crate/bin,/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/trim/wood,/area/maintenance/ghetto_strangeplace)
"yK" = (/obj/structure/cable{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/plating,/area/maintenance/underground/robotics_lab)
"yL" = (/turf/simulated/wall,/area/maintenance/ghetto_casino)
@@ -1307,12 +1307,12 @@
"zg" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_main)
"zh" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_main)
"zi" = (/obj/structure/table/reinforced,/obj/structure/sign/warning/high_voltage{pixel_y = -32},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/rods{amount = 50},/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_main)
-"zj" = (/obj/structure/table/woodentable,/obj/item/paper_bin,/obj/item/pen/blue{pixel_x = -3; pixel_y = 2},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor/carpet,/area/maintenance/ghetto_strangeplace)
-"zk" = (/obj/structure/bed/chair/comfy/brown{dir = 1},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor/carpet,/area/maintenance/ghetto_strangeplace)
-"zl" = (/obj/structure/bed/chair/comfy/black{dir = 1},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor/carpet,/area/maintenance/ghetto_strangeplace)
+"zj" = (/obj/structure/table/woodentable,/obj/item/paper_bin,/obj/item/pen/blue{pixel_x = -3; pixel_y = 2},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/trim/carpet/oldred,/area/maintenance/ghetto_strangeplace)
+"zk" = (/obj/structure/bed/chair/comfy/brown{dir = 1},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/trim/carpet/oldred,/area/maintenance/ghetto_strangeplace)
+"zl" = (/obj/structure/bed/chair/comfy/black{dir = 1},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/trim/carpet/oldred,/area/maintenance/ghetto_strangeplace)
"zm" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/vomit,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/trim/wood{icon_state = "wood_broken4"},/area/maintenance/ghetto_strangeplace)
"zn" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/trim/wood,/area/maintenance/ghetto_strangeplace)
-"zo" = (/obj/machinery/door/airlock/maintenance,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/barricade/material{layer = 6},/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/maintenance/ghetto_strangeplace)
+"zo" = (/obj/machinery/door/airlock/maintenance,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/barricade/material,/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/maintenance/ghetto_strangeplace)
"zp" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/underground/robotics_lab)
"zq" = (/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/ghetto_casino)
"zr" = (/obj/structure/closet/crate/bin,/turf/simulated/floor/plating,/area/maintenance/ghetto_casino)
@@ -1534,7 +1534,7 @@
"Dz" = (/obj/effect/floor_decal/corner/white{dir = 4},/obj/effect/floor_decal/corner/blue{dir = 1},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/spider/stickyweb,/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_dockhall)
"DA" = (/obj/effect/floor_decal/corner/white{dir = 4},/obj/effect/floor_decal/corner/blue{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light{icon_state = "tube1"; dir = 1},/obj/structure/spider/stickyweb,/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_dockhall)
"DB" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/ghetto_dockhall)
-"DC" = (/obj/effect/floor_decal/corner/white{dir = 4},/obj/effect/floor_decal/corner/blue{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/decal/cleanable/dirt,/obj/structure/barricade/material{layer = 6},/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_dockhall)
+"DC" = (/obj/effect/floor_decal/corner/white{dir = 4},/obj/effect/floor_decal/corner/blue{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/decal/cleanable/dirt,/obj/structure/barricade/material,/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_dockhall)
"DD" = (/obj/effect/floor_decal/corner/white{dir = 4},/obj/effect/floor_decal/corner/blue{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_dockhall)
"DE" = (/obj/effect/floor_decal/corner/white{dir = 4},/obj/effect/floor_decal/corner/blue{dir = 1},/obj/machinery/alarm{frequency = 1439; pixel_y = 23; req_one_access = list(201)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_dockhall)
"DF" = (/obj/effect/floor_decal/corner/white{dir = 4},/obj/effect/floor_decal/corner/blue{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_dockhall)
@@ -1591,7 +1591,7 @@
"EE" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/structure/closet/secure_closet/freezer/fridge,/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_cafe)
"EF" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/effect/decal/cleanable/dirt,/obj/structure/closet/secure_closet/freezer/fridge,/turf/simulated/floor/plating,/area/maintenance/ghetto_cafe)
"EG" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/structure/table/standard,/obj/item/reagent_containers/ivbag/blood/AMinus,/obj/item/reagent_containers/ivbag/blood/APlus,/obj/item/reagent_containers/ivbag/blood/OMinus,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_cafe)
-"EH" = (/obj/effect/wingrille_spawn/reinforced,/obj/structure/barricade/material{layer = 6},/turf/simulated/floor/plating,/area/maintenance/underground/research)
+"EH" = (/obj/effect/wingrille_spawn/reinforced,/obj/structure/barricade/material,/turf/simulated/floor/plating,/area/maintenance/underground/research)
"EI" = (/obj/structure/cable{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/plating,/area/maintenance/underground/research)
"EJ" = (/obj/structure/bed/chair/wood{icon_state = "wooden_chair_preview"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/ghetto_casino)
"EK" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/trim/wood,/area/maintenance/ghetto_casino)
@@ -1603,7 +1603,7 @@
"EQ" = (/obj/structure/cable{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/plating,/area/maintenance/underground/engineering)
"ER" = (/obj/machinery/door/firedoor,/obj/effect/floor_decal/industrial/warning,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_dockhall)
"ES" = (/obj/machinery/door/firedoor,/obj/effect/floor_decal/industrial/warning,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_dockhall)
-"ET" = (/obj/machinery/door/firedoor,/obj/effect/floor_decal/industrial/warning,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/barricade/material{layer = 6},/turf/simulated/floor/plating,/area/maintenance/ghetto_dockhall)
+"ET" = (/obj/machinery/door/firedoor,/obj/effect/floor_decal/industrial/warning,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/barricade/material,/turf/simulated/floor/plating,/area/maintenance/ghetto_dockhall)
"EU" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_dockhall)
"EV" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/maintenance/ghetto_dockhall)
"EW" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "merchant_shuttle_station_interior"; locked = 1; name = "Docking Port Airlock"; req_access = list(13)},/turf/simulated/floor/plating,/area/maintenance/ghetto_dockhall)
@@ -1616,19 +1616,19 @@
"Fd" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/structure/closet/crate/bin,/obj/random/maintenance,/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_dockhall)
"Fe" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/vending/snack,/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_dockhall)
"Ff" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/structure/flora/pottedplant{anchored = 1; icon_state = "plant-21"},/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_dockhall)
-"Fg" = (/obj/effect/floor_decal/industrial/warning,/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/barricade/material{layer = 6},/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_dockhall)
-"Fh" = (/obj/effect/floor_decal/industrial/warning,/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/barricade/material{layer = 6},/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_dockhall)
+"Fg" = (/obj/effect/floor_decal/industrial/warning,/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/barricade/material,/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_dockhall)
+"Fh" = (/obj/effect/floor_decal/industrial/warning,/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/barricade/material,/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_dockhall)
"Fi" = (/obj/effect/floor_decal/corner/white{icon_state = "corner_white"; dir = 6},/obj/effect/decal/cleanable/dirt,/obj/machinery/optable,/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_cafe)
"Fj" = (/obj/effect/floor_decal/corner/red/diagonal{icon_state = "corner_white_diagonal"; dir = 8},/obj/effect/floor_decal/corner/red/diagonal,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/remains,/turf/simulated/floor/tiled/brown,/area/maintenance/ghetto_cafe)
"Fk" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_cafe)
-"Fl" = (/obj/machinery/door/airlock/maintenance{req_access = list(12)},/obj/structure/barricade/material{layer = 6},/turf/simulated/floor/plating,/area/maintenance/ghetto_cafe)
+"Fl" = (/obj/machinery/door/airlock/maintenance{req_access = list(12)},/obj/structure/barricade/material,/turf/simulated/floor/plating,/area/maintenance/ghetto_cafe)
"Fm" = (/obj/effect/floor_decal/corner/red/diagonal{icon_state = "corner_white_diagonal"; dir = 8},/obj/effect/floor_decal/corner/red/diagonal,/obj/effect/decal/cleanable/vomit,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/brown,/area/maintenance/ghetto_cafe)
"Fn" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/white,/area/maintenance/ghetto_cafe)
"Fo" = (/obj/effect/floor_decal/corner/red/diagonal{icon_state = "corner_white_diagonal"; dir = 8},/obj/effect/floor_decal/corner/red/diagonal,/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled/brown,/area/maintenance/ghetto_cafe)
"Fp" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/maintenance/ghetto_cafe)
"Fq" = (/obj/effect/floor_decal/corner/red/diagonal{icon_state = "corner_white_diagonal"; dir = 8},/obj/effect/floor_decal/corner/red/diagonal,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/brown,/area/maintenance/ghetto_cafe)
"Fr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/maintenance/ghetto_cafe)
-"Fs" = (/obj/machinery/door/airlock/maintenance{req_access = list(12)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/barricade/material{layer = 6},/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/underground/research_misc)
+"Fs" = (/obj/machinery/door/airlock/maintenance{req_access = list(12)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/barricade/material,/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/underground/research_misc)
"Ft" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/underground/research_misc)
"Fu" = (/turf/simulated/wall,/area/maintenance/underground/research_misc)
"Fv" = (/obj/structure/flora/pottedplant{icon_state = "plant-10"},/turf/simulated/floor/plating,/area/maintenance/ghetto_casino)
@@ -1661,7 +1661,7 @@
"FW" = (/obj/machinery/light/small,/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_cafe)
"FX" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/ghetto_cafe)
"FY" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/ghetto_cafe)
-"FZ" = (/obj/effect/wingrille_spawn/reinforced,/obj/structure/barricade/material{layer = 6},/turf/simulated/floor/plating,/area/maintenance/underground/research_misc)
+"FZ" = (/obj/effect/wingrille_spawn/reinforced,/obj/structure/barricade/material,/turf/simulated/floor/plating,/area/maintenance/underground/research_misc)
"Ga" = (/obj/structure/cable{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/plating,/area/maintenance/underground/research_misc)
"Gb" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/trim/wood{icon_state = "wood_broken4"},/area/maintenance/ghetto_casino)
"Gc" = (/obj/machinery/door/airlock/maintenance{req_access = list(12)},/obj/machinery/door/firedoor/border_only,/obj/structure/cable{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/plating,/area/maintenance/underground/research_shuttle)
@@ -1671,7 +1671,7 @@
"Gg" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_dockhall)
"Gh" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "merchant_shuttle_station_exterior"; locked = 1; name = "Docking Port Airlock"; req_access = list(13)},/turf/simulated/floor/plating,/area/maintenance/ghetto_dockhall)
"Gi" = (/obj/effect/wingrille_spawn/reinforced,/obj/structure/sign/warning/airlock,/turf/simulated/floor/plating,/area/maintenance/ghetto_dockhall)
-"Gj" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/decal/cleanable/dirt,/obj/structure/barricade/material{layer = 6},/turf/simulated/floor/plating,/area/maintenance/ghetto_dockhall)
+"Gj" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/decal/cleanable/dirt,/obj/structure/barricade/material,/turf/simulated/floor/plating,/area/maintenance/ghetto_dockhall)
"Gk" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/structure/spider/stickyweb,/turf/simulated/floor/plating,/area/maintenance/ghetto_dockhall)
"Gl" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/cleanable/dirt,/obj/structure/spider/stickyweb,/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_dockhall)
"Gm" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/ghetto_dockhall)
@@ -1914,11 +1914,11 @@
"KP" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/underground/security_lobby)
"KQ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/underground/security_lobby)
"KR" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/underground/security_lobby)
-"KS" = (/obj/machinery/door/airlock/multi_tile/glass{id_tag = "MedbayFoyerPort"; req_access = list(5)},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/barricade/material{layer = 6},/turf/simulated/wall,/area/maintenance/underground/security_lobby)
-"KT" = (/obj/machinery/door/firedoor/border_only,/obj/structure/barricade/material{layer = 6},/turf/simulated/floor/plating,/area/maintenance/underground/security_lobby)
+"KS" = (/obj/machinery/door/airlock/multi_tile/glass{id_tag = "MedbayFoyerPort"; req_access = list(5)},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/barricade/material,/turf/simulated/wall,/area/maintenance/underground/security_lobby)
+"KT" = (/obj/machinery/door/firedoor/border_only,/obj/structure/barricade/material,/turf/simulated/floor/plating,/area/maintenance/underground/security_lobby)
"KU" = (/obj/structure/sign/bluecross_1,/turf/simulated/wall,/area/maintenance/underground/security_lobby)
-"KV" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/border_only,/obj/structure/barricade/material{layer = 6},/turf/simulated/floor/plating,/area/maintenance/underground/security_lobby)
-"KW" = (/obj/effect/wingrille_spawn/reinforced,/obj/structure/barricade/material{layer = 6},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/maintenance/underground/security_lobby)
+"KV" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/firedoor/border_only,/obj/structure/barricade/material,/turf/simulated/floor/plating,/area/maintenance/underground/security_lobby)
+"KW" = (/obj/effect/wingrille_spawn/reinforced,/obj/structure/barricade/material,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/maintenance/underground/security_lobby)
"KX" = (/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},/turf/simulated/floor/plating,/area/maintenance/underground/security_lobby)
"KY" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/underground/security_lobby)
"KZ" = (/obj/machinery/light/small,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; icon_state = "intact-supply"},/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/underground/security_lobby)
@@ -1932,7 +1932,7 @@
"Lh" = (/obj/effect/decal/cleanable/dirt,/obj/structure/bed/roller,/obj/structure/sign/warning/nosmoking_burned{pixel_y = 32},/turf/simulated/floor/plating,/area/maintenance/ghetto_medbay)
"Li" = (/obj/effect/floor_decal/corner/green{icon_state = "corner_white"; dir = 4},/obj/effect/decal/cleanable/dirt,/obj/machinery/sleeper,/turf/simulated/floor/tiled/white,/area/maintenance/ghetto_medbay)
"Lj" = (/obj/effect/floor_decal/corner/green{icon_state = "corner_white"; dir = 4},/obj/effect/decal/cleanable/dirt,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/random/pottedplant,/turf/simulated/floor/tiled/white,/area/maintenance/ghetto_medbay)
-"Lk" = (/obj/machinery/door/airlock/medical{icon = 'icons/obj/doors/doorviro.dmi'; name = "Old Airlock"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/barricade/material{layer = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/maintenance/underground/security_lobby)
+"Lk" = (/obj/machinery/door/airlock/medical{icon = 'icons/obj/doors/doorviro.dmi'; name = "Old Airlock"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/barricade/material,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/maintenance/underground/security_lobby)
"Ll" = (/obj/effect/floor_decal/corner/green{icon_state = "corner_white"; dir = 8},/obj/effect/decal/cleanable/dirt,/obj/item/stool/padded,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/maintenance/ghetto_medbay)
"Lm" = (/obj/effect/decal/cleanable/dirt,/obj/structure/spider/stickyweb,/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_medbay)
"Ln" = (/obj/effect/floor_decal/corner/green{dir = 6},/obj/effect/floor_decal/corner/green{dir = 9},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/structure/spider/stickyweb,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled/white,/area/maintenance/ghetto_medbay)
@@ -1991,9 +1991,9 @@
"Mo" = (/obj/structure/closet/secure_closet/medical_wall{name = "Pill Cabinet"},/obj/item/storage/pill_bottle/tramadol,/obj/item/reagent_containers/syringe/antiviral,/turf/simulated/wall,/area/maintenance/ghetto_medbay)
"Mp" = (/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/maintenance/ghetto_medbay)
"Mq" = (/obj/effect/floor_decal/corner/beige,/obj/effect/decal/cleanable/dirt,/obj/machinery/door/airlock/medical{icon = 'icons/obj/doors/doorviro.dmi'; name = "Old Airlock"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled/white,/area/maintenance/ghetto_medbay)
-"Mr" = (/obj/effect/floor_decal/corner/green{dir = 1},/obj/effect/floor_decal/corner/green{icon_state = "corner_white"; dir = 8},/obj/structure/spider/stickyweb,/obj/structure/barricade/material{layer = 6},/turf/simulated/floor/tiled/white,/area/maintenance/ghetto_medbay)
+"Mr" = (/obj/effect/floor_decal/corner/green{dir = 1},/obj/effect/floor_decal/corner/green{icon_state = "corner_white"; dir = 8},/obj/structure/spider/stickyweb,/obj/structure/barricade/material,/turf/simulated/floor/tiled/white,/area/maintenance/ghetto_medbay)
"Ms" = (/obj/effect/floor_decal/corner/green/diagonal{icon_state = "corner_white_diagonal"; dir = 8},/obj/effect/floor_decal/corner/green/diagonal,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/maintenance/ghetto_medbay)
-"Mt" = (/obj/effect/floor_decal/corner/green,/obj/effect/floor_decal/corner/green{icon_state = "corner_white"; dir = 4},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/structure/barricade/material{layer = 6},/obj/machinery/light/small{dir = 4; pixel_y = 8},/turf/simulated/floor/tiled/white,/area/maintenance/ghetto_medbay)
+"Mt" = (/obj/effect/floor_decal/corner/green,/obj/effect/floor_decal/corner/green{icon_state = "corner_white"; dir = 4},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/structure/barricade/material,/obj/machinery/light/small{dir = 4; pixel_y = 8},/turf/simulated/floor/tiled/white,/area/maintenance/ghetto_medbay)
"Mu" = (/turf/simulated/floor/tiled/dark,/area/maintenance/ghetto_medbay)
"Mv" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark,/area/maintenance/ghetto_medbay)
"Mw" = (/obj/structure/closet/crate/bin,/turf/simulated/floor/tiled/dark,/area/maintenance/ghetto_medbay)
@@ -2011,11 +2011,11 @@
"MI" = (/obj/effect/floor_decal/corner/green{icon_state = "corner_white"; dir = 8},/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/maintenance/ghetto_medbay)
"MJ" = (/obj/effect/decal/cleanable/dirt,/obj/structure/spider/stickyweb,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_medbay)
"MK" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/ghetto_medbay)
-"ML" = (/obj/machinery/door/airlock/medical{icon = 'icons/obj/doors/doorviro.dmi'; name = "Old Airlock"},/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/structure/barricade/material{layer = 6},/turf/simulated/floor/plating,/area/maintenance/ghetto_medbay)
+"ML" = (/obj/machinery/door/airlock/medical{icon = 'icons/obj/doors/doorviro.dmi'; name = "Old Airlock"},/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/structure/barricade/material,/turf/simulated/floor/plating,/area/maintenance/ghetto_medbay)
"MM" = (/obj/effect/decal/cleanable/dirt,/obj/structure/spider/stickyweb,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/ghetto_medbay)
"MN" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark,/area/maintenance/ghetto_medbay)
"MO" = (/obj/effect/decal/cleanable/dirt,/obj/structure/spider/stickyweb,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled/dark,/area/maintenance/ghetto_medbay)
-"MP" = (/obj/machinery/door/airlock/medical{icon = 'icons/obj/doors/doorviro.dmi'; name = "Old Airlock"},/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/structure/barricade/material{layer = 6},/turf/simulated/floor/plating,/area/maintenance/underground/fitness)
+"MP" = (/obj/machinery/door/airlock/medical{icon = 'icons/obj/doors/doorviro.dmi'; name = "Old Airlock"},/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/structure/barricade/material,/turf/simulated/floor/plating,/area/maintenance/underground/fitness)
"MQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/underground/fitness)
"MR" = (/obj/effect/floor_decal/corner/green{icon_state = "corner_white"; dir = 9},/obj/effect/decal/cleanable/dirt,/obj/machinery/constructable_frame,/turf/simulated/floor/tiled/white,/area/maintenance/ghetto_medbay)
"MS" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/structure/spider/stickyweb,/turf/simulated/floor/tiled,/area/maintenance/ghetto_medbay)
@@ -2098,14 +2098,14 @@
"Or" = (/obj/effect/floor_decal/corner/beige/diagonal,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/floor_decal/corner/red/diagonal{icon_state = "corner_white_diagonal"; dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; icon_state = "intact-supply"},/turf/simulated/floor/tiled/brown,/area/maintenance/ghetto_cafe)
"Os" = (/obj/effect/floor_decal/corner/beige/diagonal,/obj/effect/decal/cleanable/dirt,/obj/effect/floor_decal/corner/red/diagonal{icon_state = "corner_white_diagonal"; dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; icon_state = "intact-supply"},/turf/simulated/floor/tiled/brown,/area/maintenance/ghetto_cafe)
"Ot" = (/obj/effect/floor_decal/corner/beige/diagonal,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/floor_decal/corner/red/diagonal{icon_state = "corner_white_diagonal"; dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; icon_state = "intact-supply"},/turf/simulated/floor/tiled/brown,/area/maintenance/ghetto_cafe)
-"Ou" = (/obj/machinery/door/airlock/maintenance{req_access = list(12)},/obj/structure/barricade/material{layer = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; icon_state = "intact-supply"},/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/maintenance/underground/research_misc)
+"Ou" = (/obj/machinery/door/airlock/maintenance{req_access = list(12)},/obj/structure/barricade/material,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; icon_state = "intact-supply"},/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/maintenance/underground/research_misc)
"Ov" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/underground/research_misc)
"Ow" = (/obj/machinery/door/airlock/maintenance{req_access = list(12)},/turf/simulated/floor/plating,/area/maintenance/underground/engineering)
"Ox" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/random/trash,/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_dockhall)
"Oy" = (/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_dockhall)
"Oz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/ghetto_dockhall)
"OA" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_dockhall)
-"OB" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/structure/barricade/material{layer = 6},/turf/simulated/floor/plating,/area/maintenance/ghetto_dockhall)
+"OB" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/structure/barricade/material,/turf/simulated/floor/plating,/area/maintenance/ghetto_dockhall)
"OC" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/spider/stickyweb,/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_dockhall)
"OD" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/spider/stickyweb,/obj/structure/spider/stickyweb,/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_dockhall)
"OE" = (/obj/effect/floor_decal/corner/beige/diagonal,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/floor_decal/corner/red/diagonal{icon_state = "corner_white_diagonal"; dir = 8},/turf/simulated/floor/tiled/brown,/area/maintenance/ghetto_cafe)
@@ -2140,13 +2140,13 @@
"Ph" = (/obj/machinery/door/airlock/maintenance{req_access = list(12)},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/maintenance/underground/engineering)
"Pi" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/ghetto_dockhall)
"Pj" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/ghetto_dockhall)
-"Pk" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = 0; locked = 1; name = "Port Internal Access"; req_access = list(11,13)},/obj/structure/barricade/material{layer = 6},/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/maintenance/ghetto_dockhall)
+"Pk" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = 0; locked = 1; name = "Port Internal Access"; req_access = list(11,13)},/obj/structure/barricade/material,/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/maintenance/ghetto_dockhall)
"Pl" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/obj/effect/floor_decal/industrial/warning,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/ghetto_dockhall)
"Pm" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/maintenance/ghetto_dockhall)
-"Pn" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = 0; locked = 1; name = "Port External Access"; req_access = list(11,13)},/obj/structure/barricade/material{layer = 6},/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/maintenance/ghetto_dockhall)
+"Pn" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = 0; locked = 1; name = "Port External Access"; req_access = list(11,13)},/obj/structure/barricade/material,/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/maintenance/ghetto_dockhall)
"Po" = (/obj/effect/decal/remains,/obj/item/wrench,/turf/simulated/floor/plating,/area/space)
"Pp" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/vomit,/turf/simulated/floor/plating,/area/space)
-"Pq" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = 0; locked = 1; name = "Port Internal Access"; req_access = list(11,13)},/obj/structure/barricade/material{layer = 6},/turf/simulated/floor/plating,/area/maintenance/ghetto_dockhall)
+"Pq" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = 0; locked = 1; name = "Port Internal Access"; req_access = list(11,13)},/obj/structure/barricade/material,/turf/simulated/floor/plating,/area/maintenance/ghetto_dockhall)
"Pr" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/spider/stickyweb,/obj/structure/spider/stickyweb,/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_dockhall)
"Ps" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_dockhall)
"Pt" = (/obj/effect/floor_decal/industrial/warning/full,/turf/simulated/floor/plating,/area/maintenance/ghetto_dockhall)
@@ -2161,9 +2161,9 @@
"PC" = (/turf/simulated/floor/tiled,/area/maintenance/underground/engineering)
"PD" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/random/tech_supply,/obj/structure/table/steel,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/contraband,/turf/simulated/floor,/area/maintenance/underground/engineering)
"PE" = (/obj/structure/sign/warning/engineering_access,/turf/simulated/wall,/area/maintenance/underground/engineering)
-"PF" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/barricade/material{layer = 6},/turf/simulated/floor/plating,/area/maintenance/ghetto_dockhall)
+"PF" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/structure/barricade/material,/turf/simulated/floor/plating,/area/maintenance/ghetto_dockhall)
"PG" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_dockhall)
-"PH" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/structure/barricade/material{layer = 6},/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_dockhall)
+"PH" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/structure/barricade/material,/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_dockhall)
"PI" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/space)
"PJ" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_dockhall)
"PK" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_dockhall)
@@ -2273,7 +2273,7 @@
"RK" = (/obj/machinery/door/airlock/atmos{name = "Atmospherics Maintenance"; req_access = list(12,24)},/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"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/maintenance/underground/atmospherics)
"RL" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/machinery/atmospherics/portables_connector,/turf/simulated/floor/plating,/area/maintenance/underground/engineering)
"RM" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_dockhall)
-"RN" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/effect/decal/cleanable/dirt,/obj/structure/barricade/material{layer = 6},/turf/simulated/floor/plating,/area/maintenance/ghetto_dockhall)
+"RN" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/effect/decal/cleanable/dirt,/obj/structure/barricade/material,/turf/simulated/floor/plating,/area/maintenance/ghetto_dockhall)
"RO" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/spider/stickyweb,/turf/simulated/floor/plating,/area/maintenance/ghetto_dockhall)
"RP" = (/obj/machinery/vending/plasmaresearch,/turf/simulated/floor/tiled/dark,/area/maintenance/underground/atmospherics)
"RQ" = (/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"},/turf/simulated/floor/tiled/dark,/area/maintenance/underground/atmospherics)
@@ -2284,7 +2284,7 @@
"RV" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 9; icon_state = "intact"},/turf/simulated/floor/plating,/area/maintenance/underground/engineering)
"RW" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/spider/stickyweb,/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_dockhall)
"RX" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_dockhall)
-"RY" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/structure/barricade/material{layer = 6},/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_dockhall)
+"RY" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/structure/barricade/material,/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_dockhall)
"RZ" = (/turf/simulated/floor/tiled/dark,/area/maintenance/underground/atmospherics)
"Sa" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/underground/atmospherics)
"Sb" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/underground/atmospherics)
@@ -2327,14 +2327,14 @@
"SM" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_dockhall)
"SN" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_dockhall)
"SO" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/structure/flora/pottedplant{icon_state = "plant-22"},/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_dockhall)
-"SP" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/door/firedoor,/obj/structure/barricade/material{layer = 6},/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_dockhall)
-"SQ" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/door/firedoor,/obj/structure/barricade/material{layer = 6},/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_dockhall)
+"SP" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/door/firedoor,/obj/structure/barricade/material,/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_dockhall)
+"SQ" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/door/firedoor,/obj/structure/barricade/material,/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_dockhall)
"SR" = (/turf/simulated/wall/r_wall,/area/maintenance/sub/relay_station)
"SS" = (/obj/machinery/power/port_gen/pacman{anchored = 0; sheets = 25},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/dark,/area/maintenance/underground/atmospherics)
"ST" = (/obj/structure/table/steel,/obj/random/firstaid,/turf/simulated/floor/tiled/dark,/area/maintenance/underground/atmospherics)
"SU" = (/obj/structure/cable{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/maintenance/underground/engineering)
"SV" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/maintenance/ghetto_dockhall)
-"SW" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = 0; locked = 1; name = "Port External Access"; req_access = list(11,13)},/obj/structure/barricade/material{layer = 6},/turf/simulated/floor/plating,/area/maintenance/ghetto_dockhall)
+"SW" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = 0; locked = 1; name = "Port External Access"; req_access = list(11,13)},/obj/structure/barricade/material,/turf/simulated/floor/plating,/area/maintenance/ghetto_dockhall)
"SX" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/grid/bluegrid,/area/maintenance/sub/relay_station)
"SY" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/item/device/radio/intercom{dir = 8; pixel_x = 22},/turf/simulated/floor/grid/bluegrid,/area/maintenance/sub/relay_station)
"SZ" = (/turf/simulated/wall/r_wall,/area/maintenance/underground/engineering)
diff --git a/maps/genesis/genesis-2.dmm b/maps/genesis/genesis-2.dmm
index 82361001d37..0593df10c3b 100644
--- a/maps/genesis/genesis-2.dmm
+++ b/maps/genesis/genesis-2.dmm
@@ -1311,7 +1311,7 @@
"azr" = (/obj/machinery/cryopod,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/cryo)
"azs" = (/obj/structure/cryofeed,/turf/simulated/floor/tiled/white,/area/crew_quarters/sleep/cryo)
"azt" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/maintenance,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/crew_quarters/fitness)
-"azu" = (/turf/simulated/floor/reinforced{name = "Holodeck Projector Floor"},/area/holodeck/alphadeck)
+"azu" = (/turf/simulated/floor/reinforced{name = "Holodeck Projector Floor"},/area/holodeck)
"azv" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/hallway/secondary/entry/pods)
"azw" = (/obj/machinery/shield_diffuser,/turf/simulated/floor/plating,/area/hallway/secondary/entry/pods)
"azx" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/hallway/secondary/entry/pods)
@@ -1748,7 +1748,7 @@
"aHO" = (/obj/machinery/shower{dir = 8; icon_state = "shower"; pixel_x = -5; pixel_y = -2},/obj/structure/curtain/open/shower,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/toilet)
"aHP" = (/obj/machinery/door/airlock/maintenance{req_access = list(12)},/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor,/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"},/turf/simulated/floor/plating,/area/crew_quarters/fitness)
"aHQ" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/tiled,/area/crew_quarters/fitness)
-"aHR" = (/obj/machinery/computer/HolodeckControl{programs_list_id = "ExodusMainPrograms"; linkedholodeck_area = /area/holodeck/alphadeck},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/fitness)
+"aHR" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/computer/holodeck,/turf/simulated/floor/tiled,/area/crew_quarters/fitness)
"aHS" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/grille,/turf/simulated/floor/plating,/area/crew_quarters/fitness)
"aHT" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard)
"aHU" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/universal,/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard)
@@ -2624,10 +2624,10 @@
"aYG" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/tiled,/area/hallway/primary/central_two)
"aYH" = (/obj/machinery/status_display,/turf/simulated/wall,/area/hallway/primary/central_two)
"aYI" = (/obj/machinery/door/airlock{name = "Bar"; req_access = list(25)},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/trim/lino,/area/crew_quarters/bar)
-"aYJ" = (/obj/effect/floor_decal/corner/beige/diagonal,/obj/effect/floor_decal/spline/fancy/wood,/turf/simulated/floor/tiled{color = "#ceb689"; icon_state = "steel_dirty"},/area/crew_quarters/mess)
+"aYJ" = (/obj/effect/floor_decal/corner/beige/diagonal,/obj/effect/floor_decal/spline/fancy/wood,/obj/structure/table/woodentable{pixel_y = 2},/obj/structure/coffee_condi_display,/turf/simulated/floor/tiled{color = "#ceb689"; icon_state = "steel_dirty"},/area/crew_quarters/mess)
"aYK" = (/obj/item/stool/bar/padded,/obj/effect/floor_decal/spline/fancy/wood{dir = 4},/obj/effect/floor_decal/spline/fancy/wood{dir = 8},/turf/simulated/floor/tiled/dark,/area/crew_quarters/mess)
"aYL" = (/obj/structure/bookcase{name = "bookcase (Fiction)"},/turf/simulated/floor/trim/wood,/area/library)
-"aYM" = (/obj/effect/floor_decal/corner/beige/diagonal,/obj/structure/bed/chair/wood{dir = 4; pixel_y = 3},/obj/effect/floor_decal/spline/fancy/wood,/turf/simulated/floor/tiled{color = "#ceb689"; icon_state = "steel_dirty"},/area/crew_quarters/mess)
+"aYM" = (/obj/effect/floor_decal/corner/beige/diagonal,/obj/effect/floor_decal/spline/fancy/wood,/obj/structure/table/woodentable{pixel_y = 2},/obj/item/reagent_containers/vessel/bottle/syrup_bottle/liqueur{pixel_y = 13; pixel_x = -5},/obj/item/reagent_containers/vessel/bottle/syrup_bottle/caramel{pixel_y = 9; pixel_x = 7},/turf/simulated/floor/tiled{color = "#ceb689"; icon_state = "steel_dirty"},/area/crew_quarters/mess)
"aYO" = (/obj/effect/floor_decal/corner/beige/diagonal,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/brown,/area/crew_quarters/mess)
"aYP" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen)
"aYQ" = (/obj/structure/sink/kitchen{pixel_y = 21},/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/kitchen)
@@ -7604,7 +7604,7 @@
"dxb" = (/obj/structure/shuttle/engine/propulsion/burst,/turf/simulated/shuttle/wall{icon_state = "whiteship"; dir = 1},/area/shuttle/escape_pod1/station)
"dyb" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"; dir = 8},/area/shuttle/mining/station)
"dzb" = (/obj/structure/shuttle/engine/propulsion/burst,/turf/simulated/shuttle/wall{icon_state = "whiteship"; dir = 1},/area/shuttle/escape_pod2/station)
-"dAb" = (/obj/effect/floor_decal/corner/beige/diagonal,/obj/structure/table/woodentable{pixel_y = 2},/obj/effect/floor_decal/spline/fancy/wood,/obj/item/modular_computer/telescreen/preset/civilian{name = "telescreen"; pixel_x = 32; pixel_y = 0},/turf/simulated/floor/tiled{color = "#ceb689"; icon_state = "steel_dirty"},/area/crew_quarters/mess)
+"dAb" = (/obj/effect/floor_decal/corner/beige/diagonal,/obj/structure/table/woodentable{pixel_y = 2},/obj/effect/floor_decal/spline/fancy/wood,/obj/item/modular_computer/telescreen/preset/civilian{name = "telescreen"; pixel_x = 32; pixel_y = 0},/obj/machinery/coffeemaker,/turf/simulated/floor/tiled{color = "#ceb689"; icon_state = "steel_dirty"},/area/crew_quarters/mess)
"dBb" = (/obj/effect/floor_decal/corner/beige/diagonal,/obj/item/stool/bar/padded{pixel_x = -3; pixel_y = 23},/turf/simulated/floor/tiled{color = "#ceb689"; icon_state = "steel_dirty"},/area/crew_quarters/mess)
"dCb" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/simulated/floor/tiled/dark,/area/teleporter)
"dDb" = (/obj/effect/floor_decal/industrial/warning{dir = 5},/obj/effect/floor_decal/industrial/arrows/yellow,/turf/simulated/floor/tiled/dark,/area/teleporter)
diff --git a/maps/genesis/genesis-3.dmm b/maps/genesis/genesis-3.dmm
index c2d18c8cfbb..b145bf7908b 100644
--- a/maps/genesis/genesis-3.dmm
+++ b/maps/genesis/genesis-3.dmm
@@ -4,187 +4,49 @@
"aad" = (/obj/effect/step_trigger/teleporter/random/admin,/turf/space/transit/east,/area/space)
"aae" = (/turf/space,/area/space)
"aaf" = (/turf/unsimulated/wall,/area/space)
-"aag" = (/obj/structure/window/reinforced/crescent,/turf/unsimulated/wall,/area/space)
"aah" = (/turf/space/transit/north,/area/space)
"aai" = (/turf/space/transit/west,/area/space)
"aaj" = (/turf/space/transit/east,/area/space)
"aak" = (/turf/simulated/mineral,/area/space)
-"aal" = (/obj/structure/window/reinforced/crescent{dir = 4},/turf/unsimulated/wall,/area/space)
-"aam" = (/turf/simulated/floor/holofloor/desert,/area/holodeck/source_desert)
-"aan" = (/obj/structure/flora/ausbushes/sparsegrass,/turf/simulated/floor/holofloor/desert,/area/holodeck/source_desert)
-"aao" = (/obj/structure/window/reinforced/crescent{dir = 4},/obj/structure/window/reinforced/crescent{dir = 8},/turf/unsimulated/wall,/area/space)
-"aap" = (/obj/structure/flora/ausbushes/fullgrass,/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea)
-"aaq" = (/obj/structure/flora/ausbushes/sparsegrass,/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea)
-"aar" = (/obj/structure/table/rack/holorack,/obj/item/clothing/under/dress/dress_saloon,/obj/item/clothing/head/hairflower,/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_theatre)
-"aas" = (/obj/effect/landmark/costume,/obj/structure/table/rack/holorack,/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_theatre)
-"aat" = (/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_courtroom)
-"aau" = (/obj/structure/window/reinforced/holowindow{dir = 4},/obj/structure/flora/pottedplant{icon_state = "plant-10"},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_courtroom)
-"aav" = (/obj/structure/table/holo_woodentable,/turf/simulated/floor/holofloor/wood,/area/holodeck/source_courtroom)
-"aaw" = (/turf/simulated/floor/holofloor/reinforced,/area/holodeck/source_wildlife)
-"aax" = (/turf/simulated/floor/holofloor/reinforced,/area/holodeck/source_plating)
-"aay" = (/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_emptycourt)
-"aaz" = (/obj/structure/holostool,/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_emptycourt)
-"aaA" = (/obj/structure/holostool,/obj/structure/window/reinforced/holowindow{dir = 4},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_emptycourt)
-"aaB" = (/obj/effect/floor_decal/corner/red/three_quarters{dir = 8},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_emptycourt)
-"aaC" = (/obj/effect/floor_decal/corner/red{dir = 5},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_emptycourt)
-"aaD" = (/obj/effect/floor_decal/corner/red/three_quarters{dir = 1},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_emptycourt)
-"aaE" = (/obj/structure/window/reinforced/crescent{dir = 8},/turf/unsimulated/wall,/area/space)
-"aaF" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_throwdown"; stopper = 0; tiles = 0},/turf/space/transit/north,/area/space)
-"aaG" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north,/area/space)
-"aaH" = (/turf/unsimulated/beach/sand{density = 1; opacity = 1},/area/beach)
-"aaI" = (/obj/structure/flora/ausbushes/fullgrass,/turf/simulated/floor/holofloor/desert,/area/holodeck/source_desert)
-"aaJ" = (/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea)
-"aaK" = (/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea)
-"aaL" = (/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_theatre)
-"aaM" = (/obj/machinery/door/window/holowindoor,/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_courtroom)
-"aaN" = (/turf/simulated/floor/holofloor/wood,/area/holodeck/source_courtroom)
-"aaO" = (/obj/effect/landmark/event/other/holodeck/carps,/turf/simulated/floor/holofloor/reinforced,/area/holodeck/source_wildlife)
-"aaP" = (/obj/effect/floor_decal/corner/red{dir = 9},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_emptycourt)
-"aaQ" = (/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_emptycourt)
-"aaR" = (/obj/effect/floor_decal/corner/red{dir = 6},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_emptycourt)
+"aaF" = (/obj/effect/step_trigger/thrower{name = "thrower_throwdown"; tiles = 0; affect_ghosts = 1; stopper = 0},/turf/space/transit/north,/area/space)
+"aaG" = (/obj/effect/step_trigger/thrower{name = "thrower_escapeshuttletop(left)"; direction = 8; tiles = 0; affect_ghosts = 1},/turf/space/transit/north,/area/space)
+"aaH" = (/turf/unsimulated/beach/sand{opacity = 1; density = 1},/area/beach)
"aaS" = (/turf/space/transit/north,/area/rescue_base/transit)
-"aaT" = (/obj/effect/step_trigger/thrower{direction = 1; name = "thrower_throwup"; tiles = 0},/turf/space/transit/north,/area/space)
+"aaT" = (/obj/effect/step_trigger/thrower{name = "thrower_throwup"; direction = 1; tiles = 0},/turf/space/transit/north,/area/space)
"aaU" = (/turf/unsimulated/beach/sand,/area/beach)
"aaV" = (/obj/structure/closet,/turf/unsimulated/beach/sand,/area/beach)
-"aaW" = (/obj/structure/flora/ausbushes/brflowers,/obj/effect/floor_decal/spline/fancy/wood/corner,/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea)
-"aaX" = (/obj/structure/flora/ausbushes/ywflowers,/obj/effect/floor_decal/spline/fancy/wood,/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea)
-"aaY" = (/obj/structure/flora/ausbushes/brflowers,/obj/effect/floor_decal/spline/fancy/wood,/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea)
-"aaZ" = (/obj/structure/flora/ausbushes/ywflowers,/obj/effect/floor_decal/spline/fancy/wood/corner{dir = 8},/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea)
-"aba" = (/obj/structure/window/reinforced/holowindow{dir = 4},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_courtroom)
-"abb" = (/obj/structure/bed/chair/holochair,/turf/simulated/floor/holofloor/wood,/area/holodeck/source_courtroom)
-"abc" = (/obj/structure/window/reinforced/holowindow{dir = 1},/obj/structure/window/reinforced/holowindow{dir = 8},/obj/structure/table/holo_woodentable,/turf/simulated/floor/holofloor/wood,/area/holodeck/source_courtroom)
-"abd" = (/obj/structure/window/reinforced/holowindow{dir = 1},/obj/structure/table/holo_woodentable,/turf/simulated/floor/holofloor/wood,/area/holodeck/source_courtroom)
-"abe" = (/obj/machinery/door/window/holowindoor{dir = 1; name = "Jury Box"},/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 9},/obj/effect/floor_decal/carpet{dir = 5},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
-"abf" = (/obj/machinery/door/window/holowindoor{name = "Red Team"},/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_emptycourt)
"abg" = (/obj/effect/overlay/palmtree_l,/turf/unsimulated/beach/sand,/area/beach)
"abh" = (/obj/effect/overlay/palmtree_r,/obj/effect/overlay/coconut,/turf/unsimulated/beach/sand,/area/beach)
-"abi" = (/obj/structure/flora/ausbushes/ywflowers,/obj/effect/floor_decal/spline/fancy/wood{dir = 6},/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea)
-"abj" = (/turf/simulated/floor/holofloor/desert,/area/holodeck/source_picnicarea)
-"abk" = (/obj/effect/decal/cleanable/dirt,/obj/structure/holostool,/turf/simulated/floor/holofloor/desert,/area/holodeck/source_picnicarea)
-"abl" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor/desert,/area/holodeck/source_picnicarea)
-"abm" = (/obj/structure/flora/ausbushes/brflowers,/obj/effect/floor_decal/spline/fancy/wood{dir = 8},/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea)
-"abn" = (/obj/effect/floor_decal/spline/plain{dir = 1},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_theatre)
-"abo" = (/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 5},/obj/effect/floor_decal/carpet{dir = 9},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_theatre)
-"abp" = (/obj/structure/window/reinforced/holowindow,/obj/machinery/door/window/holowindoor{dir = 1; name = "Court Reporter's Box"},/obj/structure/bed/chair/holochair,/turf/simulated/floor/holofloor/wood,/area/holodeck/source_courtroom)
-"abq" = (/obj/structure/table/holo_woodentable,/obj/structure/window/reinforced/holowindow,/obj/structure/window/reinforced/holowindow{dir = 8},/turf/simulated/floor/holofloor/wood,/area/holodeck/source_courtroom)
-"abr" = (/obj/structure/table/holo_woodentable,/obj/structure/window/reinforced/holowindow,/turf/simulated/floor/holofloor/wood,/area/holodeck/source_courtroom)
-"abs" = (/obj/structure/table/holo_woodentable,/obj/structure/window/reinforced/holowindow,/obj/structure/window/reinforced/holowindow{dir = 4},/turf/simulated/floor/holofloor/wood,/area/holodeck/source_courtroom)
-"abt" = (/obj/structure/window/reinforced/holowindow,/obj/machinery/door/window/holowindoor{base_state = "right"; dir = 1; icon_state = "right"; name = "Witness Box"},/obj/structure/bed/chair/holochair,/turf/simulated/floor/holofloor/wood,/area/holodeck/source_courtroom)
-"abu" = (/obj/structure/window/reinforced/holowindow{dir = 8},/obj/structure/table/holo_woodentable,/turf/simulated/floor/holofloor/wood,/area/holodeck/source_courtroom)
-"abv" = (/obj/structure/bed/chair/holochair{dir = 8},/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 9},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
-"abw" = (/obj/structure/bed/chair/holochair{dir = 8},/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet/corners{dir = 9},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
"abx" = (/obj/effect/overlay/coconut,/turf/unsimulated/beach/sand,/area/beach)
"aby" = (/turf/unsimulated/wall,/area/alien)
-"abz" = (/obj/structure/table/holo_woodentable,/turf/simulated/floor/holofloor/desert,/area/holodeck/source_picnicarea)
-"abA" = (/obj/structure/flora/ausbushes/ywflowers,/obj/effect/floor_decal/spline/fancy/wood{dir = 8},/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea)
-"abB" = (/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_theatre)
-"abC" = (/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 9},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_theatre)
-"abD" = (/obj/effect/floor_decal/carpet{dir = 1},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_theatre)
-"abE" = (/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 5},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_theatre)
-"abF" = (/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet{dir = 4},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_theatre)
-"abG" = (/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 9},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
-"abH" = (/obj/effect/floor_decal/carpet{dir = 1},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
-"abI" = (/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 5},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
-"abJ" = (/obj/structure/bed/chair/holochair{dir = 8},/obj/effect/floor_decal/carpet{dir = 8},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
-"abK" = (/obj/structure/bed/chair/holochair{dir = 8},/obj/effect/floor_decal/carpet{dir = 4},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
-"abL" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north,/area/space)
-"abM" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north,/area/space)
+"abL" = (/obj/effect/step_trigger/thrower{name = "thrower_throwdownside"; tiles = 0; affect_ghosts = 1; nostop = 1},/turf/space/transit/north,/area/space)
+"abM" = (/obj/effect/step_trigger/thrower{name = "thrower_escapeshuttletop(right)"; direction = 4; tiles = 0; affect_ghosts = 1},/turf/space/transit/north,/area/space)
"abN" = (/obj/effect/shuttle_landmark/rescue/internim,/turf/space/transit/north,/area/rescue_base/transit)
"abO" = (/turf/unsimulated/floor{icon_state = "dark"},/area/alien)
-"abP" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet{dir = 8},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_theatre)
-"abQ" = (/obj/structure/holostool,/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_theatre)
-"abR" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet{dir = 4},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_theatre)
-"abS" = (/obj/structure/table/holo_woodentable,/obj/effect/floor_decal/carpet{dir = 8},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
-"abT" = (/obj/structure/table/holo_woodentable,/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
-"abU" = (/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
-"abV" = (/obj/structure/table/holo_woodentable,/obj/effect/floor_decal/carpet{dir = 4},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
-"abW" = (/obj/effect/floor_decal/corner/green{dir = 9},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_emptycourt)
-"abX" = (/obj/effect/floor_decal/corner/green{dir = 6},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_emptycourt)
"abY" = (/turf/space/transit/north,/area/shuttle/escape/transit)
"abZ" = (/obj/effect/overlay/palmtree_r,/turf/unsimulated/beach/sand,/area/beach)
-"aca" = (/obj/item/paper{info = "Some stuff is missing..."; name = "Insert alien artifacts here."},/turf/unsimulated/floor{icon_state = "dark"},/area/alien)
+"aca" = (/obj/item/paper{name = "Insert alien artifacts here."; info = "Some stuff is missing..."},/turf/unsimulated/floor{icon_state = "dark"},/area/alien)
"acb" = (/obj/machinery/door/airlock/hatch,/turf/unsimulated/floor{icon_state = "dark"},/area/alien)
-"acc" = (/obj/structure/flora/ausbushes/ywflowers,/obj/effect/floor_decal/spline/fancy/wood{dir = 1},/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea)
-"acd" = (/obj/structure/flora/ausbushes/brflowers,/obj/effect/floor_decal/spline/fancy/wood{dir = 1},/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea)
-"ace" = (/obj/structure/flora/ausbushes/ywflowers,/obj/effect/floor_decal/spline/fancy/wood{dir = 5},/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea)
-"acf" = (/obj/structure/bed/chair/holochair{dir = 1},/obj/effect/floor_decal/carpet{dir = 8},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
-"acg" = (/obj/structure/bed/chair/holochair{dir = 1},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
-"ach" = (/obj/structure/bed/chair/holochair{dir = 1},/obj/effect/floor_decal/carpet{dir = 4},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
-"aci" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/west,/area/space)
-"acj" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east,/area/space)
+"aci" = (/obj/effect/step_trigger/thrower{name = "thrower_leftnostop"; affect_ghosts = 1},/turf/space/transit/west,/area/space)
+"acj" = (/obj/effect/step_trigger/thrower{name = "thrower_leftnostop"; affect_ghosts = 1},/turf/space/transit/east,/area/space)
"ack" = (/obj/effect/landmark/event/rift/exit,/turf/unsimulated/beach/sand,/area/beach)
"acl" = (/obj/structure/closet/acloset,/turf/unsimulated/floor{icon_state = "dark"},/area/alien)
-"acm" = (/obj/structure/flora/ausbushes/brflowers,/obj/effect/floor_decal/spline/fancy/wood/corner{dir = 1},/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea)
-"acn" = (/obj/structure/flora/ausbushes/ywflowers,/obj/effect/floor_decal/spline/fancy/wood/corner{dir = 4},/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea)
-"aco" = (/obj/machinery/door/window/holowindoor{base_state = "right"; icon_state = "right"},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_courtroom)
-"acp" = (/obj/effect/floor_decal/carpet{dir = 8},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
-"acq" = (/obj/effect/floor_decal/carpet{dir = 4},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
-"acr" = (/obj/machinery/door/window/holowindoor{base_state = "right"; icon_state = "right"; name = "Green Team"},/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_emptycourt)
"acs" = (/turf/space/transit/west,/area/shuttle/escape_pod5/transit)
"act" = (/turf/space/transit/east,/area/shuttle/escape_pod5/transit)
-"acu" = (/obj/effect/step_trigger/thrower{direction = 1; name = "thrower_throwup"; tiles = 0},/turf/space/transit/east,/area/space)
+"acu" = (/obj/effect/step_trigger/thrower{name = "thrower_throwup"; direction = 1; tiles = 0},/turf/space/transit/east,/area/space)
"acv" = (/obj/structure/table/standard,/obj/item/reagent_containers/vessel/bottle/small/beer,/obj/item/reagent_containers/vessel/bottle/small/beer,/obj/item/reagent_containers/vessel/bottle/small/beer,/obj/item/reagent_containers/vessel/bottle/small/beer,/obj/item/reagent_containers/vessel/bottle/small/beer,/obj/item/reagent_containers/vessel/bottle/small/beer,/obj/item/reagent_containers/vessel/bottle/small/beer,/turf/unsimulated/beach/sand,/area/beach)
"acw" = (/obj/structure/table/standard,/obj/item/clothing/under/color/rainbow,/obj/item/clothing/glasses/sunglasses,/obj/item/clothing/head/collectable/petehat{pixel_y = 5},/turf/unsimulated/beach/sand,/area/beach)
"acx" = (/turf/space,/area/shuttle/alien/base)
-"acy" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 10},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_theatre)
-"acz" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet,/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_theatre)
-"acA" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 6},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_theatre)
-"acB" = (/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 6},/obj/effect/floor_decal/carpet{dir = 10},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_theatre)
-"acC" = (/obj/structure/bed/chair/holochair{dir = 8},/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 10},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
-"acD" = (/obj/structure/bed/chair/holochair{dir = 8},/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 6},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
"acE" = (/obj/effect/shuttle_landmark/escape_pod/transit/pod5,/turf/space/transit/west,/area/shuttle/escape_pod5/transit)
-"acF" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_throwdown"; stopper = 0; tiles = 0},/turf/space/transit/east,/area/space)
+"acF" = (/obj/effect/step_trigger/thrower{name = "thrower_throwdown"; tiles = 0; affect_ghosts = 1; stopper = 0},/turf/space/transit/east,/area/space)
"acG" = (/obj/structure/table/standard,/obj/item/reagent_containers/food/packaged/chips,/turf/unsimulated/beach/sand,/area/beach)
"acH" = (/obj/structure/table/standard,/obj/item/reagent_containers/vessel/can/cola,/obj/item/reagent_containers/vessel/can/cola,/obj/item/reagent_containers/vessel/can/cola,/obj/item/reagent_containers/vessel/can/cola,/obj/item/reagent_containers/vessel/can/cola,/obj/item/reagent_containers/vessel/can/cola,/turf/unsimulated/beach/sand,/area/beach)
"acI" = (/obj/item/beach_ball,/turf/unsimulated/beach/sand,/area/beach)
-"acJ" = (/turf/simulated/shuttle/wall/syndi{dir = 2; icon_state = "syndiwall"},/area/syndicate_mothership/elite_squad)
-"acK" = (/obj/structure/flora/pottedplant{icon_state = "plant-06"},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_theatre)
-"acL" = (/obj/effect/floor_decal/carpet{dir = 5},/obj/effect/floor_decal/carpet{dir = 6},/obj/effect/floor_decal/carpet{dir = 10},/obj/effect/floor_decal/carpet{dir = 9},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_theatre)
-"acM" = (/obj/structure/bed/chair/holochair{dir = 1},/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 10},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
-"acN" = (/obj/structure/bed/chair/holochair{dir = 1},/obj/effect/floor_decal/carpet,/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
-"acO" = (/obj/structure/bed/chair/holochair{dir = 1},/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 6},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_courtroom)
-"acP" = (/obj/effect/floor_decal/corner/green/three_quarters,/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_emptycourt)
-"acQ" = (/obj/effect/floor_decal/corner/green{dir = 10},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_emptycourt)
-"acR" = (/obj/effect/floor_decal/corner/green/three_quarters{dir = 4},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_emptycourt)
+"acJ" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 2},/area/syndicate_mothership/elite_squad)
"acS" = (/obj/structure/bed/alien,/turf/unsimulated/floor{icon_state = "dark"},/area/alien)
-"acT" = (/obj/structure/window/reinforced/crescent,/obj/structure/window/reinforced/crescent{dir = 1},/turf/unsimulated/wall,/area/space)
-"acU" = (/obj/structure/window/reinforced/crescent{dir = 1},/obj/structure/window/reinforced/crescent,/turf/unsimulated/wall,/area/space)
-"acV" = (/turf/simulated/floor/holofloor/space,/area/holodeck/source_space)
-"acW" = (/turf/simulated/floor/holofloor/snow,/area/holodeck/source_snowfield)
-"acX" = (/turf/simulated/floor/holofloor/wood,/area/holodeck/source_meetinghall)
-"acY" = (/obj/structure/flora/pottedplant{icon_state = "plant-06"},/turf/simulated/floor/holofloor/wood,/area/holodeck/source_meetinghall)
-"acZ" = (/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_basketball)
-"ada" = (/obj/structure/holostool,/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"adb" = (/obj/structure/holostool,/obj/structure/window/reinforced/holowindow{dir = 4},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"adc" = (/obj/effect/floor_decal/corner/red/three_quarters{dir = 8},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"add" = (/obj/effect/floor_decal/corner/red{dir = 5},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"ade" = (/obj/structure/holohoop,/obj/effect/floor_decal/corner/red{dir = 5},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"adf" = (/obj/effect/floor_decal/corner/red/three_quarters{dir = 1},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"adg" = (/turf/simulated/floor/holofloor/beach/sand,/area/holodeck/source_beach)
-"adh" = (/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_thunderdomecourt)
-"adi" = (/obj/structure/holostool,/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt)
-"adj" = (/obj/structure/holostool,/obj/structure/window/reinforced/holowindow{dir = 4},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt)
-"adk" = (/obj/structure/table/holotable,/obj/machinery/readybutton,/obj/effect/floor_decal/corner/red/three_quarters{dir = 8},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt)
-"adl" = (/obj/structure/table/holotable,/obj/item/clothing/head/helmet/thunderdome,/obj/item/clothing/suit/armor/tdome/red,/obj/item/clothing/under/color/red,/obj/item/holo/esword/red,/obj/effect/floor_decal/corner/red{dir = 5},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt)
-"adm" = (/obj/structure/table/holotable,/obj/effect/floor_decal/corner/red/three_quarters{dir = 1},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt)
-"adn" = (/obj/structure/table/holotable,/obj/item/clothing/gloves/boxing/hologlove,/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_boxingcourt)
-"ado" = (/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_boxingcourt)
"adp" = (/obj/effect/wingrille_spawn/reinforced/crescent,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
-"adq" = (/obj/structure/mirror,/turf/simulated/shuttle/wall/syndi{dir = 8; icon_state = "syndiwall_straight"},/area/syndicate_mothership/elite_squad)
-"adr" = (/obj/effect/landmark/event/other/holodeck/randcarps,/turf/simulated/floor/holofloor/space,/area/holodeck/source_space)
-"ads" = (/obj/structure/flora/grass/both,/turf/simulated/floor/holofloor/snow,/area/holodeck/source_snowfield)
-"adt" = (/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 9},/obj/effect/floor_decal/carpet{dir = 10},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_meetinghall)
-"adu" = (/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 1},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_meetinghall)
-"adv" = (/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 5},/obj/effect/floor_decal/carpet{dir = 6},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_meetinghall)
-"adw" = (/obj/effect/floor_decal/corner/red{dir = 9},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"adx" = (/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"ady" = (/obj/effect/floor_decal/corner/red{dir = 6},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"adz" = (/obj/effect/overlay/palmtree_r,/turf/simulated/floor/holofloor/beach/sand,/area/holodeck/source_beach)
-"adA" = (/obj/effect/floor_decal/corner/red{dir = 9},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt)
-"adB" = (/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt)
-"adC" = (/obj/effect/floor_decal/corner/red{dir = 6},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt)
-"adD" = (/obj/structure/holostool,/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_boxingcourt)
-"adE" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_throwdownsidenostop"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north,/area/space)
+"adq" = (/obj/structure/mirror,/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_straight"; dir = 8},/area/syndicate_mothership/elite_squad)
+"adE" = (/obj/effect/step_trigger/thrower{name = "thrower_throwdownsidenostop"; tiles = 0; affect_ghosts = 1; stopper = 0; nostop = 1},/turf/space/transit/north,/area/space)
"adF" = (/obj/structure/bed/chair,/obj/effect/landmark/event/rift/exit,/turf/unsimulated/beach/sand,/area/beach)
"adG" = (/mob/living/simple_animal/crab/Coffee,/turf/unsimulated/beach/sand,/area/beach)
"adH" = (/obj/effect/floor_decal/corner/red/three_quarters{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
@@ -194,53 +56,19 @@
"adL" = (/obj/effect/floor_decal/corner/red/three_quarters{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
"adM" = (/obj/structure/sink{dir = 1; pixel_y = 16},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/syndicate_mothership/elite_squad)
"adN" = (/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/syndicate_mothership/elite_squad)
-"adO" = (/obj/structure/flora/tree/pine,/turf/simulated/floor/holofloor/snow,/area/holodeck/source_snowfield)
-"adP" = (/obj/structure/table/holo_woodentable,/turf/simulated/floor/holofloor/wood,/area/holodeck/source_meetinghall)
-"adQ" = (/obj/machinery/door/window/holowindoor{name = "Red Team"},/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_basketball)
-"adR" = (/obj/item/clothing/glasses/sunglasses,/turf/simulated/floor/holofloor/beach/sand,/area/holodeck/source_beach)
-"adS" = (/obj/effect/overlay/palmtree_l,/obj/effect/overlay/coconut,/turf/simulated/floor/holofloor/beach/sand,/area/holodeck/source_beach)
-"adT" = (/obj/machinery/door/window/holowindoor{name = "Red Team"},/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_thunderdomecourt)
-"adU" = (/obj/machinery/door/window/holowindoor{base_state = "right"; dir = 2; icon_state = "right"; name = "Red Corner"},/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_boxingcourt)
-"adV" = (/obj/structure/window/reinforced/holowindow,/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_boxingcourt)
"adW" = (/turf/space/transit/west,/area/shuttle/escape_pod3/transit)
"adX" = (/turf/space/transit/east,/area/shuttle/escape_pod3/transit)
"adY" = (/obj/item/clothing/head/collectable/paper,/turf/unsimulated/beach/sand,/area/beach)
"adZ" = (/obj/effect/floor_decal/corner/red{dir = 9},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
"aea" = (/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
"aeb" = (/obj/machinery/door/airlock/hatch{name = "Restroom"; req_access = list(150)},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/syndicate_mothership/elite_squad)
-"aec" = (/obj/structure/flora/tree/dead,/turf/simulated/floor/holofloor/snow,/area/holodeck/source_snowfield)
-"aed" = (/turf/simulated/floor/holofloor/lino,/area/holodeck/source_meetinghall)
-"aee" = (/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_meetinghall)
-"aef" = (/obj/item/beach_ball,/turf/simulated/floor/holofloor/beach/sand,/area/holodeck/source_beach)
-"aeg" = (/obj/structure/window/reinforced/holowindow{dir = 4},/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_boxingcourt)
-"aeh" = (/obj/effect/floor_decal/corner/red/three_quarters{dir = 8},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_boxingcourt)
-"aei" = (/obj/effect/floor_decal/corner/red{dir = 5},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_boxingcourt)
-"aej" = (/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_boxingcourt)
-"aek" = (/obj/structure/window/reinforced/holowindow{dir = 8},/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_boxingcourt)
"ael" = (/obj/effect/shuttle_landmark/escape_pod/transit/pod3,/turf/space/transit/east,/area/shuttle/escape_pod3/transit)
"aem" = (/obj/machinery/light{dir = 8},/obj/effect/floor_decal/corner/red{dir = 9},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
"aen" = (/obj/structure/bed/chair/comfy/black,/obj/effect/landmark/start/antags/commando,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
"aeo" = (/obj/machinery/light{dir = 4},/obj/effect/floor_decal/corner/red{dir = 6},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
"aep" = (/obj/machinery/door/airlock/hatch{name = "Cabin"; req_access = list(150)},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/syndicate_mothership/elite_squad)
"aeq" = (/turf/unsimulated/wall,/area/prison/solitary)
-"aer" = (/obj/structure/flora/grass/green,/turf/simulated/floor/holofloor/snow,/area/holodeck/source_snowfield)
-"aes" = (/obj/effect/floor_decal/carpet{dir = 5},/obj/effect/floor_decal/carpet{dir = 6},/obj/effect/floor_decal/carpet{dir = 9},/obj/effect/floor_decal/carpet{dir = 10},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_meetinghall)
-"aet" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 9},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_meetinghall)
-"aeu" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet{dir = 1},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_meetinghall)
-"aev" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 5},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_meetinghall)
-"aew" = (/obj/effect/floor_decal/corner/red/three_quarters,/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"aex" = (/obj/effect/floor_decal/corner/red{dir = 10},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"aey" = (/obj/item/beach_ball/holoball,/obj/effect/floor_decal/corner/red{dir = 10},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"aez" = (/obj/effect/floor_decal/corner/red/three_quarters{dir = 4},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"aeA" = (/obj/item/inflatable_duck,/turf/simulated/floor/holofloor/beach/sand,/area/holodeck/source_beach)
-"aeB" = (/obj/structure/window/reinforced/holowindow/disappearing,/obj/effect/floor_decal/corner/red/three_quarters,/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt)
-"aeC" = (/obj/structure/window/reinforced/holowindow/disappearing,/obj/effect/floor_decal/corner/red{dir = 10},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt)
-"aeD" = (/obj/structure/window/reinforced/holowindow/disappearing,/obj/effect/floor_decal/corner/red/three_quarters{dir = 4},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt)
-"aeE" = (/obj/effect/floor_decal/corner/red{dir = 9},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_boxingcourt)
-"aeF" = (/obj/effect/floor_decal/corner/blue/three_quarters{dir = 8},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_boxingcourt)
-"aeG" = (/obj/effect/floor_decal/corner/blue/three_quarters{dir = 1},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_boxingcourt)
-"aeH" = (/obj/effect/floor_decal/corner/green{dir = 6},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_boxingcourt)
-"aeI" = (/turf/unsimulated/beach/coastline{density = 1; opacity = 1},/area/beach)
+"aeI" = (/turf/unsimulated/beach/coastline{opacity = 1; density = 1},/area/beach)
"aeJ" = (/turf/unsimulated/beach/coastline,/area/beach)
"aeK" = (/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; locked = 1; req_access = list(150)},/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/syndicate_mothership/elite_squad)
"aeL" = (/obj/effect/floor_decal/corner/red{dir = 5},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
@@ -255,18 +83,7 @@
"aeU" = (/turf/unsimulated/floor{name = "plating"},/area/prison/solitary)
"aeV" = (/obj/effect/decal/cleanable/cobweb2,/turf/unsimulated/floor{name = "plating"},/area/prison/solitary)
"aeW" = (/obj/effect/decal/cleanable/blood,/turf/unsimulated/floor{name = "plating"},/area/prison/solitary)
-"aeX" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet{dir = 8},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_meetinghall)
-"aeY" = (/obj/structure/holostool,/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_meetinghall)
-"aeZ" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet{dir = 4},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_meetinghall)
-"afa" = (/obj/effect/floor_decal/corner/green/three_quarters{dir = 8},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"afb" = (/obj/effect/floor_decal/corner/green{dir = 5},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"afc" = (/obj/effect/floor_decal/corner/green/three_quarters{dir = 1},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"afd" = (/obj/structure/window/reinforced/holowindow/disappearing{dir = 1},/obj/effect/floor_decal/corner/green/three_quarters{dir = 8},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt)
-"afe" = (/obj/structure/window/reinforced/holowindow/disappearing{dir = 1},/obj/effect/floor_decal/corner/green{dir = 5},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt)
-"aff" = (/obj/structure/window/reinforced/holowindow/disappearing{dir = 1},/obj/effect/floor_decal/corner/green/three_quarters{dir = 1},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt)
-"afg" = (/obj/effect/floor_decal/corner/blue/three_quarters,/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_boxingcourt)
-"afh" = (/obj/effect/floor_decal/corner/blue/three_quarters{dir = 4},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_boxingcourt)
-"afi" = (/turf/unsimulated/beach/water{density = 1; opacity = 1},/area/beach)
+"afi" = (/turf/unsimulated/beach/water{opacity = 1; density = 1},/area/beach)
"afj" = (/turf/unsimulated/beach/water,/area/beach)
"afk" = (/obj/machinery/door/airlock/hatch{icon_state = "door_locked"; locked = 1; req_access = list(150)},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
"afl" = (/obj/effect/floor_decal/corner/red{dir = 10},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
@@ -274,70 +91,44 @@
"afn" = (/obj/structure/table/steel_reinforced,/obj/item/deck/cards,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
"afo" = (/obj/structure/table/steel_reinforced,/obj/machinery/recharger,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
"afp" = (/obj/effect/landmark/event/prison/prisioner,/turf/unsimulated/floor{name = "plating"},/area/prison/solitary)
-"afq" = (/obj/effect/floor_decal/corner/green{dir = 9},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"afr" = (/obj/effect/floor_decal/corner/green{dir = 6},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"afs" = (/obj/effect/floor_decal/corner/green{dir = 9},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt)
-"aft" = (/obj/effect/floor_decal/corner/green{dir = 6},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt)
-"afu" = (/obj/effect/floor_decal/corner/green{dir = 10},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_boxingcourt)
-"afv" = (/obj/effect/floor_decal/corner/green/three_quarters{dir = 4},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_boxingcourt)
"afw" = (/obj/machinery/light{dir = 8},/obj/item/device/radio/intercom/syndicate{dir = 4; pixel_x = -22},/obj/effect/floor_decal/corner/red{dir = 9},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
"afx" = (/obj/effect/landmark/start/antags/commando,/obj/structure/bed/chair/comfy/black{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
"afy" = (/obj/machinery/mech_recharger,/obj/mecha/combat/marauder/mauler,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
-"afz" = (/obj/structure/flora/grass/brown,/turf/simulated/floor/holofloor/snow,/area/holodeck/source_snowfield)
-"afA" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet{dir = 4},/turf/simulated/floor/holofloor/carpet{dir = 8},/area/holodeck/source_meetinghall)
-"afB" = (/obj/machinery/door/window/holowindoor{base_state = "right"; icon_state = "right"; name = "Green Team"},/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_basketball)
-"afC" = (/obj/effect/floor_decal/corner/green{dir = 10},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"afD" = (/turf/unsimulated/beach/sand{icon_state = "beach"},/area/holodeck/source_beach)
-"afE" = (/obj/machinery/door/window/holowindoor{base_state = "right"; icon_state = "right"; name = "Green Team"},/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_thunderdomecourt)
-"afF" = (/obj/structure/window/reinforced/holowindow{dir = 1},/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_boxingcourt)
-"afG" = (/obj/machinery/door/window/holowindoor{dir = 1; name = "Green Corner"},/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_boxingcourt)
"afH" = (/obj/effect/shuttle_landmark/escape/internim,/turf/space/transit/north,/area/shuttle/escape/transit)
"afI" = (/obj/effect/step_trigger/teleporter/random,/turf/space,/area/space)
-"afJ" = (/obj/machinery/door/airlock/glass_security{name = "Airlock"; req_access = list(150)},/obj/machinery/door/blast/regular{id = "syndicate_elite_mech_room"; name = "Mech Room Door"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
-"afK" = (/obj/machinery/button/remote/blast_door{id = "syndicate_elite_mech_room"; name = "Mech Access"; pixel_x = 32; req_access = list(150)},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
+"afJ" = (/obj/machinery/door/airlock/glass_security{name = "Airlock"; req_access = list(150)},/obj/machinery/door/blast/regular{name = "Mech Room Door"; id = "syndicate_elite_mech_room"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
+"afK" = (/obj/machinery/button/remote/blast_door{name = "Mech Access"; pixel_x = 32; id = "syndicate_elite_mech_room"; req_access = list(150)},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
"afL" = (/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership/elite_squad)
-"afM" = (/mob/living/silicon/decoy{icon_state = "ai-malf"; name = "GLaDOS"},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership/elite_squad)
+"afM" = (/mob/living/silicon/decoy{name = "GLaDOS"; icon_state = "ai-malf"},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership/elite_squad)
"afN" = (/obj/item/device/radio/intercom/syndicate{dir = 8; pixel_x = 22},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership/elite_squad)
"afO" = (/obj/structure/bed,/obj/effect/decal/cleanable/cobweb,/turf/unsimulated/floor{name = "plating"},/area/prison/solitary)
-"afP" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 10},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_meetinghall)
-"afQ" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet,/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_meetinghall)
-"afR" = (/obj/structure/holostool,/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet{dir = 6},/turf/simulated/floor/holofloor/carpet,/area/holodeck/source_meetinghall)
-"afS" = (/turf/simulated/floor/holofloor/beach/water,/area/holodeck/source_beach)
"afT" = (/obj/effect/floor_decal/corner/red/three_quarters,/turf/simulated/floor/tiled/dark,/area/syndicate_mothership/elite_squad)
"afU" = (/obj/machinery/computer/shuttle_control/multi/elite_syndicate,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
-"afV" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1331; id_tag = "emerc_base"; name = "docking port controller"; pixel_y = -25; req_one_access = 150; tag_door = "emerc_airlock_dock_door"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
+"afV" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{name = "docking port controller"; pixel_y = -25; frequency = 1331; req_one_access = 150; id_tag = "emerc_base"; tag_door = "emerc_airlock_dock_door"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
"afW" = (/obj/effect/floor_decal/corner/red/three_quarters{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
"afX" = (/obj/effect/decal/cleanable/blood,/turf/unsimulated/wall,/area/prison/solitary)
-"afY" = (/obj/effect/floor_decal/corner/green/three_quarters,/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"afZ" = (/obj/structure/holohoop{dir = 1},/obj/effect/floor_decal/corner/green{dir = 10},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"aga" = (/obj/effect/floor_decal/corner/green/three_quarters{dir = 4},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_basketball)
-"agb" = (/obj/structure/table/holotable,/obj/effect/floor_decal/corner/green/three_quarters,/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt)
-"agc" = (/obj/structure/table/holotable,/obj/item/clothing/head/helmet/thunderdome,/obj/item/clothing/suit/armor/tdome/green,/obj/item/clothing/under/color/green,/obj/item/holo/esword/green,/obj/effect/floor_decal/corner/green{dir = 10},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt)
-"agd" = (/obj/structure/table/holotable,/obj/machinery/readybutton,/obj/effect/floor_decal/corner/green/three_quarters{dir = 4},/turf/simulated/floor/holofloor/tiled,/area/holodeck/source_thunderdomecourt)
-"age" = (/obj/structure/table/holotable,/obj/item/clothing/gloves/boxing/hologlove{icon_state = "boxinggreen"; item_state = "boxinggreen"},/turf/simulated/floor/holofloor/tiled/dark,/area/holodeck/source_boxingcourt)
-"agf" = (/obj/machinery/door/airlock/external{frequency = 1331; icon_state = "door_locked"; id_tag = "emerc_airlock_dock_door"; locked = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
-"agg" = (/obj/structure/window/reinforced/crescent{dir = 1},/turf/unsimulated/wall,/area/space)
+"agf" = (/obj/machinery/door/airlock/external{icon_state = "door_locked"; frequency = 1331; locked = 1; id_tag = "emerc_airlock_dock_door"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/elite_squad)
"agh" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor,/area/syndicate_mothership/elite_squad)
"agi" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor,/area/syndicate_mothership/elite_squad)
-"agj" = (/obj/machinery/door/airlock/external{frequency = 1331; icon_state = "door_locked"; id_tag = "emerc_airlock_dock_door"; locked = 1},/turf/simulated/floor,/area/syndicate_mothership/elite_squad)
+"agj" = (/obj/machinery/door/airlock/external{icon_state = "door_locked"; frequency = 1331; locked = 1; id_tag = "emerc_airlock_dock_door"},/turf/simulated/floor,/area/syndicate_mothership/elite_squad)
"agk" = (/obj/effect/step_trigger/teleporter/random/admin,/obj/effect/step_trigger/teleporter/random/admin,/turf/space/transit/north,/area/space)
-"agl" = (/turf/simulated/shuttle/wall/syndi{dir = 1; icon_state = "syndiwall_straight"},/area/shuttle/syndicate_elite/mothership)
+"agl" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_straight"; dir = 1},/area/shuttle/syndicate_elite/mothership)
"agm" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"; dir = 1},/turf/space,/area/shuttle/syndicate_elite/mothership)
-"agn" = (/obj/machinery/door/airlock/external{frequency = 1331; icon_state = "door_locked"; id_tag = "emerc_shuttle_outer"; locked = 1; name = "Ship External Access"; req_access = list(150)},/obj/machinery/shield_diffuser,/turf/simulated/floor/shuttle/red,/area/shuttle/syndicate_elite/mothership)
+"agn" = (/obj/machinery/door/airlock/external{name = "Ship External Access"; icon_state = "door_locked"; frequency = 1331; locked = 1; req_access = list(150); id_tag = "emerc_shuttle_outer"},/obj/machinery/shield_diffuser,/turf/simulated/floor/shuttle/red,/area/shuttle/syndicate_elite/mothership)
"ago" = (/obj/structure/shuttle/engine/heater{dir = 1},/turf/simulated/floor/plating/airless,/area/shuttle/syndicate_elite/mothership)
"agp" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1331; id_tag = "emerc_shuttle_pump"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/shuttle/red,/area/shuttle/syndicate_elite/mothership)
"agq" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 1},/turf/simulated/floor/shuttle/red,/area/shuttle/syndicate_elite/mothership)
-"agr" = (/obj/machinery/airlock_sensor{frequency = 1331; id_tag = "emerc_shuttle_sensor"; pixel_y = 25},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1331; id_tag = "emerc_shuttle_pump"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/shuttle/red,/area/shuttle/syndicate_elite/mothership)
+"agr" = (/obj/machinery/airlock_sensor{pixel_y = 25; frequency = 1331; id_tag = "emerc_shuttle_sensor"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1331; id_tag = "emerc_shuttle_pump"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/shuttle/red,/area/shuttle/syndicate_elite/mothership)
"ags" = (/turf/simulated/shuttle/wall/corner/syndi/sw,/area/shuttle/syndicate_elite/mothership)
"agt" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1331; id_tag = "emerc_shuttle_pump"},/turf/simulated/floor/shuttle/red,/area/shuttle/syndicate_elite/mothership)
"agu" = (/obj/machinery/atmospherics/pipe/manifold4w/visible,/turf/simulated/floor/shuttle/red,/area/shuttle/syndicate_elite/mothership)
-"agv" = (/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1331; id_tag = "emerc_shuttle"; pixel_x = 25; req_access = list(150)},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1331; id_tag = "emerc_shuttle_pump"},/turf/simulated/floor/shuttle/red,/area/shuttle/syndicate_elite/mothership)
+"agv" = (/obj/machinery/embedded_controller/radio/airlock/docking_port{pixel_x = 25; frequency = 1331; req_access = list(150); id_tag = "emerc_shuttle"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1331; id_tag = "emerc_shuttle_pump"},/turf/simulated/floor/shuttle/red,/area/shuttle/syndicate_elite/mothership)
"agw" = (/turf/simulated/shuttle/wall/corner/syndi/se,/area/shuttle/syndicate_elite/mothership)
-"agx" = (/obj/machinery/door/airlock/external{frequency = 1331; icon_state = "door_locked"; id_tag = "emerc_shuttle_inner"; locked = 1; name = "Ship External Access"; req_access = list(150)},/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor/shuttle/red,/area/shuttle/syndicate_elite/mothership)
-"agy" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "elite_syndicate_ship"; name = "Shuttle Blast Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/shuttle/syndicate_elite/mothership)
+"agx" = (/obj/machinery/door/airlock/external{name = "Ship External Access"; icon_state = "door_locked"; frequency = 1331; locked = 1; req_access = list(150); id_tag = "emerc_shuttle_inner"},/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor/shuttle/red,/area/shuttle/syndicate_elite/mothership)
+"agy" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{name = "Shuttle Blast Shutters"; icon_state = "pdoor0"; opacity = 0; density = 0; id = "elite_syndicate_ship"},/turf/simulated/floor/plating,/area/shuttle/syndicate_elite/mothership)
"agz" = (/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/machinery/atmospherics/portables_connector{dir = 4},/turf/simulated/floor/tiled/dark,/area/shuttle/syndicate_elite/mothership)
"agA" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/manifold/visible{dir = 1},/turf/simulated/floor/tiled/dark,/area/shuttle/syndicate_elite/mothership)
-"agB" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 9},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1331; master_tag = "emerc_shuttle"; name = "interior access button"; pixel_x = 25; pixel_y = 25; req_access = list(150)},/turf/simulated/floor/tiled/dark,/area/shuttle/syndicate_elite/mothership)
+"agB" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 9},/obj/machinery/access_button{name = "interior access button"; pixel_x = 25; pixel_y = 25; frequency = 1331; req_access = list(150); command = "cycle_interior"; master_tag = "emerc_shuttle"},/turf/simulated/floor/tiled/dark,/area/shuttle/syndicate_elite/mothership)
"agC" = (/turf/simulated/floor/tiled/dark,/area/shuttle/syndicate_elite/mothership)
"agD" = (/obj/effect/floor_decal/industrial/outline/grey,/obj/effect/landmark{name = "Syndicate-Commando-Bomb"},/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled/dark,/area/shuttle/syndicate_elite/mothership)
"agE" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 9},/turf/simulated/floor/tiled/dark,/area/shuttle/syndicate_elite/mothership)
@@ -347,28 +138,29 @@
"agI" = (/obj/structure/bed/chair{dir = 4},/obj/effect/floor_decal/corner/red{dir = 9},/obj/machinery/light/small{dir = 8},/obj/item/device/radio/intercom/syndicate{dir = 4; pixel_x = -22},/turf/simulated/floor/tiled/dark,/area/shuttle/syndicate_elite/mothership)
"agJ" = (/obj/structure/bed/chair{dir = 8},/obj/effect/floor_decal/corner/red{dir = 6},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/tiled/dark,/area/shuttle/syndicate_elite/mothership)
"agK" = (/turf/simulated/shuttle/wall/corner/syndi/nw,/area/syndicate_mothership/ninja)
-"agL" = (/turf/simulated/shuttle/wall/syndi{dir = 6; icon_state = "syndiwall"},/area/syndicate_mothership/ninja)
+"agL" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 6},/area/syndicate_mothership/ninja)
"agM" = (/obj/effect/wingrille_spawn/reinforced/crescent,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership/ninja)
"agN" = (/turf/simulated/shuttle/wall/corner/syndi/ne,/area/syndicate_mothership/ninja)
-"agO" = (/turf/simulated/shuttle/wall/syndi{dir = 9; icon_state = "syndiwall"},/area/syndicate_mothership/ninja)
+"agO" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 9},/area/syndicate_mothership/ninja)
"agP" = (/turf/simulated/floor/shuttle/red,/area/syndicate_mothership/ninja)
-"agQ" = (/turf/simulated/shuttle/wall/syndi{dir = 5; icon_state = "syndiwall"},/area/syndicate_mothership/ninja)
+"agQ" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 5},/area/syndicate_mothership/ninja)
"agR" = (/turf/space/transit/north,/area/syndicate_station/transit)
-"agS" = (/obj/machinery/button/remote/blast_door{id = "elite_syndicate_ship"; name = "remote shutter control"; req_access = list(150)},/obj/structure/table/reinforced,/obj/effect/floor_decal/corner/red/three_quarters,/turf/simulated/floor/tiled/dark,/area/shuttle/syndicate_elite/mothership)
+"agS" = (/obj/machinery/button/remote/blast_door{name = "remote shutter control"; id = "elite_syndicate_ship"; req_access = list(150)},/obj/structure/table/reinforced,/obj/effect/floor_decal/corner/red/three_quarters,/turf/simulated/floor/tiled/dark,/area/shuttle/syndicate_elite/mothership)
"agT" = (/obj/structure/bed/chair,/obj/effect/shuttle_landmark/elite_syndicate/start,/obj/effect/floor_decal/corner/red{dir = 10},/turf/simulated/floor/tiled/dark,/area/shuttle/syndicate_elite/mothership)
"agU" = (/obj/structure/table/reinforced,/obj/machinery/recharger,/obj/effect/floor_decal/corner/red/three_quarters{dir = 4},/turf/simulated/floor/tiled/dark,/area/shuttle/syndicate_elite/mothership)
"agV" = (/obj/structure/bed/chair{dir = 1},/obj/effect/landmark/start/antags/ninja,/turf/simulated/floor/shuttle/red,/area/syndicate_mothership/ninja)
-"agW" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north,/area/space)
+"agW" = (/obj/effect/step_trigger/thrower{name = "thrower_throwdown"; tiles = 0; affect_ghosts = 1},/turf/space/transit/north,/area/space)
"agX" = (/obj/effect/step_trigger/teleporter/random/admin,/turf/space/transit/south,/area/space)
"agY" = (/obj/machinery/computer/shuttle_control/multi/elite_syndicate,/obj/effect/floor_decal/corner/red/full,/turf/simulated/floor/tiled/dark,/area/shuttle/syndicate_elite/mothership)
"agZ" = (/obj/effect/landmark/start/antags/ninja,/turf/simulated/floor/shuttle/red,/area/syndicate_mothership/ninja)
"aha" = (/obj/effect/shuttle_landmark/syndi/internim,/turf/space/transit/north,/area/syndicate_station/transit)
"ahb" = (/turf/space/transit/south,/area/space)
-"ahc" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "elite_syndicate_ship"; name = "Shuttle Blast Shutters"; opacity = 0},/turf/simulated/floor/plating/airless,/area/shuttle/syndicate_elite/mothership)
+"ahc" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{name = "Shuttle Blast Shutters"; icon_state = "pdoor0"; opacity = 0; density = 0; id = "elite_syndicate_ship"},/turf/simulated/floor/plating/airless,/area/shuttle/syndicate_elite/mothership)
"ahd" = (/obj/machinery/computer/teleporter,/turf/simulated/floor/plating,/area/syndicate_mothership/ninja)
+"ahe" = (/mob/living/silicon/decoy{name = "A.L.I.C.E."},/obj/item/device/radio/intercom/specops{pixel_y = 22},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
"ahf" = (/obj/machinery/teleporter_gate,/turf/simulated/floor/plating,/area/syndicate_mothership/ninja)
"ahg" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced/crescent{dir = 1},/turf/simulated/floor/plating/airless,/area/syndicate_mothership/ninja)
-"ahh" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 1; name = "thrower_throwupsidenostop"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north,/area/space)
+"ahh" = (/obj/effect/step_trigger/thrower{name = "thrower_throwupsidenostop"; direction = 1; tiles = 0; affect_ghosts = 1; stopper = 0; nostop = 1},/turf/space/transit/north,/area/space)
"ahi" = (/turf/simulated/shuttle/wall/corner/syndi/sw,/area/syndicate_mothership/ninja)
"ahj" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"},/turf/space,/area/syndicate_mothership/ninja)
"ahk" = (/obj/structure/shuttle/engine/propulsion,/turf/space,/area/syndicate_mothership/ninja)
@@ -379,26 +171,26 @@
"ahp" = (/turf/space/transit/north,/area/shuttle/escape_pod2/transit)
"ahq" = (/obj/effect/shuttle_landmark/escape_pod/transit/pod1,/turf/space/transit/north,/area/shuttle/escape_pod1/transit)
"ahr" = (/obj/effect/shuttle_landmark/escape_pod/transit/pod2,/turf/space/transit/north,/area/shuttle/escape_pod2/transit)
-"ahs" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 1; name = "thrower_throwupsidenostop"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/south,/area/space)
-"aht" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/south,/area/space)
+"ahs" = (/obj/effect/step_trigger/thrower{name = "thrower_throwupsidenostop"; direction = 1; tiles = 0; affect_ghosts = 1; stopper = 0; nostop = 1},/turf/space/transit/south,/area/space)
+"aht" = (/obj/effect/step_trigger/thrower{name = "thrower_throwdown"; tiles = 0; affect_ghosts = 1},/turf/space/transit/south,/area/space)
"ahu" = (/turf/space/transit/south,/area/shuttle/syndicate_elite/transit)
-"ahv" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/east,/area/space)
+"ahv" = (/obj/effect/step_trigger/thrower{name = "thrower_escapeshuttletop(left)"; direction = 8; tiles = 0; affect_ghosts = 1},/turf/space/transit/east,/area/space)
"ahw" = (/turf/space/transit/east,/area/shuttle/administration/transit)
"ahx" = (/obj/effect/shuttle_landmark/elite_syndicate/internim,/turf/space/transit/south,/area/shuttle/syndicate_elite/transit)
-"ahy" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/east,/area/space)
+"ahy" = (/obj/effect/step_trigger/thrower{name = "thrower_escapeshuttletop(right)"; direction = 4; tiles = 0; affect_ghosts = 1},/turf/space/transit/east,/area/space)
"ahz" = (/obj/effect/shuttle_landmark/administration/internim,/turf/space/transit/east,/area/shuttle/administration/transit)
-"ahA" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/east,/area/space)
+"ahA" = (/obj/effect/step_trigger/thrower{name = "thrower_throwdown"; tiles = 0; affect_ghosts = 1},/turf/space/transit/east,/area/space)
"ahB" = (/turf/space/transit/east,/area/shuttle/deathsquad/transit)
"ahC" = (/obj/effect/shuttle_landmark/deathsquad/internim,/turf/space/transit/east,/area/shuttle/deathsquad/transit)
"ahD" = (/turf/space/transit/south,/area/shuttle/merchant/transit)
"ahE" = (/obj/effect/shuttle_landmark/merchant/internim,/turf/space/transit/south,/area/shuttle/merchant/transit)
-"ahF" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_throwdown"; tiles = 0},/obj/effect/step_trigger/teleporter/random/admin,/obj/effect/step_trigger/teleporter/random/admin,/turf/space,/area/space)
-"ahG" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_throwdown"; tiles = 0},/obj/effect/step_trigger/teleporter/random/admin,/turf/space,/area/space)
-"ahH" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/south,/area/space)
-"ahI" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/south,/area/space)
+"ahF" = (/obj/effect/step_trigger/thrower{name = "thrower_throwdown"; tiles = 0; affect_ghosts = 1},/obj/effect/step_trigger/teleporter/random/admin,/obj/effect/step_trigger/teleporter/random/admin,/turf/space,/area/space)
+"ahG" = (/obj/effect/step_trigger/thrower{name = "thrower_throwdown"; tiles = 0; affect_ghosts = 1},/obj/effect/step_trigger/teleporter/random/admin,/turf/space,/area/space)
+"ahH" = (/obj/effect/step_trigger/thrower{name = "thrower_escapeshuttletop(left)"; direction = 8; tiles = 0; affect_ghosts = 1},/turf/space/transit/south,/area/space)
+"ahI" = (/obj/effect/step_trigger/thrower{name = "thrower_escapeshuttletop(right)"; direction = 4; tiles = 0; affect_ghosts = 1},/turf/space/transit/south,/area/space)
"ahJ" = (/turf/unsimulated/mineral,/area/rescue_base/base)
"ahK" = (/turf/unsimulated/wall,/area/rescue_base/base)
-"ahL" = (/turf/unsimulated/wall{desc = "A secure airlock. Doesn't look like you can get through easily."; icon = 'icons/obj/doors/doorele.dmi'; icon_state = "door_locked"; name = "Facility Access"},/area/rescue_base/base)
+"ahL" = (/turf/unsimulated/wall{name = "Facility Access"; desc = "A secure airlock. Doesn't look like you can get through easily."; icon = 'icons/obj/doors/doorele.dmi'; icon_state = "door_locked"},/area/rescue_base/base)
"ahM" = (/obj/structure/table/steel_reinforced,/obj/item/material/hatchet/tacknife,/turf/unsimulated/floor{icon_state = "dark"},/area/rescue_base/base)
"ahN" = (/obj/structure/table/steel_reinforced,/obj/item/storage/firstaid/regular,/turf/unsimulated/floor{icon_state = "dark"},/area/rescue_base/base)
"ahO" = (/obj/machinery/floodlight,/turf/unsimulated/floor{icon_state = "dark"},/area/rescue_base/base)
@@ -467,7 +259,7 @@
"aiZ" = (/turf/unsimulated/floor{icon_state = "asteroidplating"},/area/rescue_base/base)
"aja" = (/obj/structure/flora/ausbushes/fullgrass,/turf/unsimulated/floor{icon_state = "asteroidplating"},/area/rescue_base/base)
"ajb" = (/obj/structure/table/rack,/obj/item/gun/projectile/automatic/z8,/obj/item/gun/projectile/automatic/z8,/obj/item/grenade/frag/shell,/obj/item/grenade/frag/shell,/obj/item/grenade/frag/shell,/obj/item/grenade/frag/shell,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
-"ajc" = (/obj/machinery/door/airlock/centcom{name = "Restricted Equipment"; opacity = 1; req_access = list(103)},/obj/machinery/door/blast/regular{id = "heavyrescue"; name = "Restricted Equipment"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
+"ajc" = (/obj/machinery/door/airlock/centcom{name = "Restricted Equipment"; opacity = 1; req_access = list(103)},/obj/machinery/door/blast/regular{name = "Restricted Equipment"; id = "heavyrescue"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
"ajd" = (/obj/structure/table/rack,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"aje" = (/obj/structure/table/reinforced,/obj/item/device/camera,/turf/unsimulated/floor{icon_state = "dark"},/area/rescue_base/base)
"ajf" = (/obj/item/stool,/turf/unsimulated/floor{icon_state = "dark"},/area/rescue_base/base)
@@ -477,11 +269,11 @@
"ajj" = (/obj/structure/table/rack,/obj/item/gun/launcher/grenade,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"ajk" = (/obj/structure/table/rack,/obj/item/storage/box/flashbangs,/obj/item/storage/box/flashbangs,/obj/item/storage/box/teargas,/obj/item/storage/box/teargas,/obj/item/storage/box/emps,/obj/item/storage/box/emps,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"ajl" = (/obj/structure/lattice,/obj/structure/grille,/turf/space,/area/space)
-"ajm" = (/obj/item/clothing/under/ert,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/head/beret/centcom/officer,/obj/item/clothing/mask/balaclava,/obj/item/material/coin/silver,/obj/structure/closet{icon_closed = "syndicate1"; icon_opened = "syndicate1open"; icon_state = "syndicate1"; name = "emergency response team wardrobe"},/obj/item/clothing/under/tactical,/obj/item/clothing/accessory/holochip/ert,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"ajm" = (/obj/item/clothing/under/ert,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/head/beret/centcom/officer,/obj/item/clothing/mask/balaclava,/obj/item/material/coin/silver,/obj/structure/closet{name = "emergency response team wardrobe"; icon_state = "syndicate1"; icon_closed = "syndicate1"; icon_opened = "syndicate1open"},/obj/item/clothing/under/tactical,/obj/item/clothing/accessory/holochip/ert,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"ajn" = (/obj/structure/bed/padded,/obj/item/bedsheet/captain,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"ajo" = (/obj/structure/bed/padded,/obj/item/bedsheet/captain,/obj/item/device/radio/intercom/specops{pixel_y = 22},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"ajp" = (/obj/machinery/vending/coffee{prices = list()},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
-"ajq" = (/obj/machinery/door/airlock/centcom{name = "Heavy Equipment"; opacity = 1; req_access = list(103)},/obj/machinery/door/blast/regular{dir = 4; id = "standardrescue"; name = "Heavy Equipment"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
+"ajq" = (/obj/machinery/door/airlock/centcom{name = "Heavy Equipment"; opacity = 1; req_access = list(103)},/obj/machinery/door/blast/regular{name = "Heavy Equipment"; dir = 4; id = "standardrescue"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
"ajr" = (/obj/machinery/door/airlock/centcom{name = "Detention"; opacity = 1; req_access = list(103)},/turf/unsimulated/floor{icon_state = "dark"},/area/rescue_base/base)
"ajs" = (/obj/structure/lattice,/obj/structure/grille/broken,/turf/space,/area/space)
"ajt" = (/turf/unsimulated/wall,/area/syndicate_mothership)
@@ -525,11 +317,11 @@
"akf" = (/obj/machinery/lapvend,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"akg" = (/obj/structure/reagent_dispensers/water_cooler,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"akh" = (/obj/structure/table/reinforced,/obj/item/device/radio/intercom/specops{pixel_y = 22},/obj/item/storage/box/cups,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
-"aki" = (/obj/structure/table/rack,/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/steel{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/material/steel{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/material/steel{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/material/steel{amount = 50; pixel_x = 2; pixel_y = 2},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"aki" = (/obj/structure/table/rack,/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/steel{pixel_x = 2; pixel_y = 2; amount = 50},/obj/item/stack/material/steel{pixel_x = 2; pixel_y = 2; amount = 50},/obj/item/stack/material/steel{pixel_x = 2; pixel_y = 2; amount = 50},/obj/item/stack/material/steel{pixel_x = 2; pixel_y = 2; amount = 50},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"akj" = (/obj/structure/table/rack,/obj/item/gun/energy/laser,/obj/item/gun/energy/laser,/obj/item/gun/energy/laser,/obj/item/gun/energy/laser,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"akk" = (/obj/machinery/chemical_dispenser/ert,/obj/item/reagent_containers/vessel/beaker/large,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"akl" = (/obj/item/device/pda/syndicate,/turf/unsimulated/floor{icon_state = "lino"},/area/syndicate_mothership)
-"akm" = (/obj/machinery/autolathe{desc = "Your typical Autolathe. It appears to have much more options than your regular one, however..."; hacked = 1; name = "Unlocked Autolathe"},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"akm" = (/obj/machinery/autolathe{name = "Unlocked Autolathe"; desc = "Your typical Autolathe. It appears to have much more options than your regular one, however..."; hacked = 1},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"akn" = (/obj/structure/table/rack,/obj/item/gun/energy/ionrifle,/obj/item/gun/energy/ionrifle,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"ako" = (/obj/structure/table/reinforced,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"akp" = (/obj/structure/table/reinforced,/obj/item/roller,/obj/item/roller,/obj/item/roller,/obj/item/roller,/obj/item/roller,/obj/item/roller,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
@@ -558,9 +350,9 @@
"akM" = (/obj/structure/window/reinforced/crescent,/obj/structure/table/rack,/obj/item/rig_module/mounted/taser,/obj/item/rig_module/mounted/taser,/obj/item/rig_module/maneuvering_jets,/obj/item/rig_module/maneuvering_jets,/obj/item/rig_module/device/drill,/obj/item/rig_module/device/drill,/obj/item/rig_module/device/rcd,/obj/item/rig_module/device/rcd,/obj/item/rig_module/vision/meson,/obj/item/rig_module/vision/meson,/obj/structure/window/reinforced/crescent{dir = 8},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"akN" = (/obj/structure/window/reinforced/crescent,/obj/structure/table/rack,/obj/item/rig/ert/engineer,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"akO" = (/obj/structure/window/reinforced/crescent,/obj/structure/table/rack,/obj/item/rig/ert/engineer,/obj/structure/window/reinforced/crescent{dir = 4},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
-"akP" = (/turf/unsimulated/wall{desc = "A secure airlock. Doesn't look like you can get through easily."; icon = 'icons/obj/doors/doorele.dmi'; icon_state = "door_locked"; name = "Foxtrot Barracks"},/area/rescue_base/base)
+"akP" = (/turf/unsimulated/wall{name = "Foxtrot Barracks"; desc = "A secure airlock. Doesn't look like you can get through easily."; icon = 'icons/obj/doors/doorele.dmi'; icon_state = "door_locked"},/area/rescue_base/base)
"akQ" = (/turf/simulated/shuttle/wall/corner/syndi/nw,/area/syndicate_station/start)
-"akR" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "syndieshutters"; name = "Shuttle Blast Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/syndicate_station/start)
+"akR" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{name = "Shuttle Blast Shutters"; icon_state = "pdoor0"; opacity = 0; density = 0; dir = 4; id = "syndieshutters"},/turf/simulated/floor/plating,/area/syndicate_station/start)
"akS" = (/turf/simulated/shuttle/wall/corner/syndi/ne,/area/syndicate_station/start)
"akT" = (/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_mothership)
"akU" = (/obj/structure/sign/double/map/left{pixel_y = 32},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_mothership)
@@ -578,15 +370,15 @@
"alg" = (/obj/machinery/door/airlock/centcom{name = "Security"; opacity = 1; req_access = list(103)},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
"alh" = (/obj/machinery/door/airlock/centcom{name = "Medical"; opacity = 1; req_access = list(103)},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
"ali" = (/obj/machinery/vending/medical,/turf/unsimulated/wall,/area/rescue_base/base)
-"alj" = (/obj/machinery/door/airlock/centcom{name = "EVA"; opacity = 1; req_access = list(103)},/obj/machinery/door/blast/regular{dir = 4; id = "standardrescue"; name = "EVA"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
+"alj" = (/obj/machinery/door/airlock/centcom{name = "EVA"; opacity = 1; req_access = list(103)},/obj/machinery/door/blast/regular{name = "EVA"; dir = 4; id = "standardrescue"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
"alk" = (/turf/space,/area/shuttle/escape_pod1/centcom)
"all" = (/turf/space,/area/shuttle/escape_pod2/centcom)
-"alm" = (/turf/simulated/shuttle/wall/syndi{dir = 9; icon_state = "syndiwall"},/area/syndicate_station/start)
+"alm" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 9},/area/syndicate_station/start)
"aln" = (/obj/machinery/recharger,/obj/structure/table/reinforced,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"alo" = (/obj/item/modular_computer/console/preset/syndicate,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"alp" = (/obj/machinery/computer/shuttle_control/multi/syndicate,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"alq" = (/obj/structure/computerframe,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
-"alr" = (/obj/machinery/button/remote/blast_door{id = "syndieshutters"; name = "remote shutter control"; req_access = list(150)},/obj/structure/table/reinforced,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"alr" = (/obj/machinery/button/remote/blast_door{name = "remote shutter control"; id = "syndieshutters"; req_access = list(150)},/obj/structure/table/reinforced,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"als" = (/obj/structure/bed/chair/comfy/black,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_mothership)
"alt" = (/obj/machinery/door/airlock/centcom{name = "Kitchen"; opacity = 1; req_access = list(150)},/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership)
"alu" = (/turf/unsimulated/floor{icon_state = "white"},/area/syndicate_mothership)
@@ -594,7 +386,7 @@
"alw" = (/obj/machinery/door/airlock/centcom{name = "Unit Area"; opacity = 1; req_access = list(103)},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
"alx" = (/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = 32},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
"aly" = (/obj/machinery/door/airlock/centcom{name = "Echo Barracks"; opacity = 1; req_access = list(103)},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
-"alz" = (/turf/unsimulated/wall{desc = "A secure airlock. Doesn't look like you can get through easily."; icon = 'icons/obj/doors/doorele.dmi'; icon_state = "door_locked"; name = "Delta Barracks"},/area/rescue_base/base)
+"alz" = (/turf/unsimulated/wall{name = "Delta Barracks"; desc = "A secure airlock. Doesn't look like you can get through easily."; icon = 'icons/obj/doors/doorele.dmi'; icon_state = "door_locked"},/area/rescue_base/base)
"alA" = (/obj/machinery/microwave{pixel_x = -1; pixel_y = 2},/obj/structure/table/reinforced,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"alB" = (/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"alC" = (/obj/structure/bed/chair{dir = 1},/obj/effect/shuttle_landmark/syndi/start,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
@@ -613,8 +405,8 @@
"alP" = (/obj/structure/table/rack,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"alQ" = (/obj/structure/table/rack,/obj/item/clothing/accessory/holster/armpit,/obj/item/clothing/accessory/holster/armpit,/obj/item/clothing/accessory/holster/armpit,/obj/item/clothing/accessory/holster/armpit,/obj/item/clothing/accessory/holster/armpit,/obj/item/clothing/accessory/holster/armpit,/obj/item/clothing/accessory/holster/hip,/obj/item/clothing/accessory/holster/hip,/obj/item/clothing/accessory/holster/hip,/obj/item/clothing/accessory/holster/hip,/obj/item/clothing/accessory/holster/hip,/obj/item/clothing/accessory/holster/hip,/obj/item/clothing/accessory/holster/waist,/obj/item/clothing/accessory/holster/waist,/obj/item/clothing/accessory/holster/waist,/obj/item/clothing/accessory/holster/waist,/obj/item/clothing/accessory/holster/waist,/obj/item/clothing/accessory/holster/waist,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"alR" = (/obj/item/device/radio/intercom/specops{dir = 1; pixel_y = -22},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
-"alS" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1331; id_tag = "rescue_base"; pixel_x = 5; pixel_y = -25; tag_door = "rescue_base_hatch"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
-"alT" = (/turf/simulated/shuttle/wall/syndi{dir = 1; icon_state = "syndiwall"},/area/syndicate_station/start)
+"alS" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{pixel_x = 5; pixel_y = -25; frequency = 1331; id_tag = "rescue_base"; tag_door = "rescue_base_hatch"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
+"alT" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 1},/area/syndicate_station/start)
"alU" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"; dir = 1},/turf/space,/area/centcom/evac)
"alV" = (/obj/structure/shuttle/engine/propulsion{dir = 1},/turf/space,/area/centcom/evac)
"alW" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"; dir = 1},/turf/space,/area/centcom/evac)
@@ -634,17 +426,18 @@
"amk" = (/obj/machinery/door/airlock/centcom{name = "Command"; opacity = 1; req_access = list(103)},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
"aml" = (/obj/machinery/door/airlock/centcom{name = "Engineering"; opacity = 1; req_access = list(103)},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
"amm" = (/obj/machinery/vending/engineering,/turf/unsimulated/wall,/area/rescue_base/base)
-"amn" = (/obj/machinery/door/airlock/external{frequency = 1331; id_tag = "rescue_base_hatch"; name = "Landing Pad"; req_access = list(103)},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
+"amn" = (/obj/machinery/door/airlock/external{name = "Landing Pad"; frequency = 1331; req_access = list(103); id_tag = "rescue_base_hatch"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
"amo" = (/turf/simulated/shuttle/wall{icon_state = "whiteship_straight"},/area/centcom/evac)
"amp" = (/obj/structure/window/reinforced/crescent,/obj/structure/shuttle/engine/heater{dir = 1},/turf/simulated/floor/plating/airless,/area/centcom/evac)
"amq" = (/turf/simulated/shuttle/wall{icon_state = "whiteship_t"; dir = 8},/area/centcom/evac)
"amr" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"; dir = 4},/area/centcom/evac)
-"ams" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_1_recovery_hatch"; locked = 1; name = "Recovery Shuttle Dock"; req_access = list(13)},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor2"},/area/centcom/evac)
-"amt" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_2_recovery_hatch"; locked = 1; name = "Recovery Shuttle Dock"; req_access = list(13)},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor2"},/area/centcom/evac)
+"ams" = (/obj/machinery/door/airlock/external{name = "Recovery Shuttle Dock"; icon_state = "door_locked"; frequency = 1380; locked = 1; req_access = list(13); id_tag = "escape_pod_1_recovery_hatch"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor2"},/area/centcom/evac)
+"amt" = (/obj/machinery/door/airlock/external{name = "Recovery Shuttle Dock"; icon_state = "door_locked"; frequency = 1380; locked = 1; req_access = list(13); id_tag = "escape_pod_2_recovery_hatch"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor2"},/area/centcom/evac)
"amu" = (/turf/simulated/shuttle/wall{icon_state = "whiteship_t"; dir = 4},/area/centcom/evac)
"amv" = (/obj/item/stack/material/glass{amount = 15},/obj/structure/table/reinforced,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"amw" = (/obj/machinery/light,/obj/item/device/radio/intercom/syndicate{dir = 1; pixel_y = -22},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"amx" = (/obj/item/paper_bin{pixel_x = -3; pixel_y = 8},/obj/item/pen{pixel_y = 4},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"amy" = (/mob/living/simple_animal/tindalos{name = "Eddy"},/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/natural/grass,/area/merchant_station)
"amz" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/engie,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/engie,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"amA" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/red,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"amB" = (/obj/structure/table/reinforced,/obj/item/storage/box/trackimp,/obj/item/storage/box/cdeathalarm_kit,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
@@ -662,11 +455,11 @@
"amN" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"; dir = 6},/area/centcom/evac)
"amO" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"; dir = 9},/area/centcom/evac)
"amP" = (/obj/structure/closet/emcloset,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
-"amQ" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "escape_pod_1_recovery"; pixel_x = 25; pixel_y = 30; req_one_access = list(13); tag_door = "escape_pod_1_recovery_hatch"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor2"},/area/centcom/evac)
+"amQ" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{pixel_x = 25; pixel_y = 30; frequency = 1380; req_one_access = list(13); id_tag = "escape_pod_1_recovery"; tag_door = "escape_pod_1_recovery_hatch"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor2"},/area/centcom/evac)
"amR" = (/obj/structure/table/standard,/obj/item/storage/firstaid/toxin{pixel_x = -2; pixel_y = 4},/obj/item/storage/firstaid/toxin,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
"amS" = (/obj/structure/table/standard,/obj/item/storage/firstaid/fire,/obj/item/storage/firstaid/fire{pixel_x = -2; pixel_y = 4},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
"amT" = (/obj/structure/table/standard,/obj/item/storage/firstaid/regular{pixel_x = 2},/obj/item/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
-"amU" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "escape_pod_2_recovery"; pixel_x = -25; pixel_y = 30; req_one_access = list(13); tag_door = "escape_pod_2_recovery_hatch"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor2"},/area/centcom/evac)
+"amU" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{pixel_x = -25; pixel_y = 30; frequency = 1380; req_one_access = list(13); id_tag = "escape_pod_2_recovery"; tag_door = "escape_pod_2_recovery_hatch"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor2"},/area/centcom/evac)
"amV" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"; dir = 5},/area/centcom/evac)
"amW" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"; dir = 10},/area/centcom/evac)
"amX" = (/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/floor/plating,/area/centcom/evac)
@@ -674,14 +467,15 @@
"amZ" = (/turf/simulated/shuttle/wall/corner/syndi/sw,/area/syndicate_station/start)
"ana" = (/obj/machinery/door/window/northright{name = "Flight Deck"; req_access = list(150)},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"anb" = (/turf/simulated/shuttle/wall/corner/syndi/se,/area/syndicate_station/start)
+"anc" = (/obj/structure/table/woodentable,/obj/item/immovable_wand,/obj/item/paper/immovable_wand_note,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
"and" = (/obj/structure/urinal{pixel_y = 32},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/syndicate_mothership)
"ane" = (/obj/machinery/shower{pixel_y = 32},/obj/structure/window/basic{dir = 8},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/syndicate_mothership)
"anf" = (/obj/machinery/shower{pixel_y = 32},/obj/item/soap/syndie,/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/syndicate_mothership)
"ang" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"anh" = (/obj/structure/table/rack,/obj/item/clothing/suit/armor/vest{pixel_x = 2; pixel_y = 2},/obj/item/clothing/suit/armor/vest,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"ani" = (/obj/structure/bed/chair/office/dark,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
-"anj" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/door/airlock/external{frequency = 1331; id_tag = "rescue_base_hatch"; req_access = list(103)},/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/rescue_base/base)
-"ank" = (/obj/machinery/door/airlock/centcom{name = "Garage"; opacity = 1; req_access = list(103)},/obj/machinery/door/blast/regular{dir = 4; id = "standardrescue"; name = "Garage"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
+"anj" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/door/airlock/external{frequency = 1331; req_access = list(103); id_tag = "rescue_base_hatch"},/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/rescue_base/base)
+"ank" = (/obj/machinery/door/airlock/centcom{name = "Garage"; opacity = 1; req_access = list(103)},/obj/machinery/door/blast/regular{name = "Garage"; dir = 4; id = "standardrescue"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
"anl" = (/turf/simulated/floor/plating,/area/centcom/evac)
"anm" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"; dir = 8},/area/shuttle/escape/centcom)
"ann" = (/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = -30},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
@@ -706,17 +500,17 @@
"anG" = (/obj/machinery/shieldgen,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"anH" = (/obj/effect/floor_decal/industrial/outline/yellow,/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/rescue_base/base)
"anI" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/effect/floor_decal/industrial/warning/corner,/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/rescue_base/base)
-"anJ" = (/obj/machinery/button/remote/blast_door{id = "rescuegarage"; name = "Garage"; pixel_x = -24; pixel_y = -4; req_access = list(103)},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
+"anJ" = (/obj/machinery/button/remote/blast_door{name = "Garage"; pixel_x = -24; pixel_y = -4; id = "rescuegarage"; req_access = list(103)},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
"anK" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/tool/sleeper,/obj/item/mecha_parts/mecha_equipment/tool/sleeper,/obj/item/mecha_parts/mecha_equipment/tool/syringe_gun,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"anL" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/teleporter,/obj/item/mecha_parts/mecha_tracking,/obj/item/mecha_parts/mecha_tracking,/obj/item/mecha_parts/mecha_tracking,/obj/item/mecha_parts/mecha_tracking,/obj/item/device/radio/intercom/specops{pixel_y = 22},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"anM" = (/obj/structure/table/reinforced,/obj/machinery/cell_charger,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
-"anN" = (/turf/simulated/shuttle/wall/syndi{dir = 2; icon_state = "syndiwall"},/area/syndicate_station/start)
+"anN" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 2},/area/syndicate_station/start)
"anO" = (/obj/machinery/door/airlock/maintenance_hatch{req_access = list(101)},/turf/simulated/floor/plating,/area/centcom/evac)
-"anP" = (/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "merchantshuttle"; name = "Merchant Window Shutters"; opacity = 0},/obj/structure/window/shuttle{icon_state = "window-whiteship"},/turf/simulated/floor/plating,/area/shuttle/merchant/home)
+"anP" = (/obj/structure/grille,/obj/machinery/door/blast/shutters{name = "Merchant Window Shutters"; icon_state = "shutter0"; opacity = 0; density = 0; dir = 8; id = "merchantshuttle"},/obj/structure/window/shuttle{icon_state = "window-whiteship"},/turf/simulated/floor/plating,/area/shuttle/merchant/home)
"anQ" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"; dir = 1},/area/centcom/evac)
"anR" = (/obj/machinery/recharger/wallcharger{pixel_x = -25},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"anS" = (/obj/structure/bed/chair{dir = 8},/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
-"anT" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/north,/area/space)
+"anT" = (/obj/effect/step_trigger/thrower{name = "thrower_leftnostop"; affect_ghosts = 1},/turf/space/transit/north,/area/space)
"anU" = (/obj/structure/mirror{dir = 4; pixel_x = -32},/obj/structure/sink{dir = 8; pixel_x = -12; pixel_y = 2},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/syndicate_mothership)
"anV" = (/obj/machinery/door/airlock/centcom{name = "Suit Storage"; opacity = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"anW" = (/obj/structure/table/steel,/turf/unsimulated/floor{icon_state = "dark"},/area/rescue_base/base)
@@ -729,14 +523,14 @@
"aod" = (/obj/structure/reagent_dispensers/fueltank,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"aoe" = (/obj/machinery/portable_atmospherics/powered/scrubber,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"aof" = (/obj/effect/floor_decal/industrial/outline/yellow,/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/rescue_base/base)
-"aog" = (/obj/machinery/door/blast/regular{id = "rescuegarage"; name = "Garage Exit"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
+"aog" = (/obj/machinery/door/blast/regular{name = "Garage Exit"; id = "rescuegarage"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
"aoh" = (/obj/machinery/mech_recharger,/obj/mecha/medical/odysseus/loaded,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
"aoi" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
"aoj" = (/obj/structure/bed/chair,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
"aok" = (/obj/machinery/vending/cola,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
"aol" = (/obj/structure/closet,/obj/item/reagent_containers/food/liquidfood,/obj/item/reagent_containers/food/liquidfood,/obj/item/reagent_containers/food/liquidfood,/obj/item/reagent_containers/food/liquidfood,/obj/machinery/light{dir = 4},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"aom" = (/obj/structure/table/rack,/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
-"aon" = (/obj/machinery/autolathe{desc = "Your typical Autolathe. It appears to have much more options than your regular one, however..."; hacked = 1; name = "Unlocked Autolathe"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"aon" = (/obj/machinery/autolathe{name = "Unlocked Autolathe"; desc = "Your typical Autolathe. It appears to have much more options than your regular one, however..."; hacked = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"aoo" = (/obj/structure/table/rack,/obj/item/gun/energy/ionrifle,/obj/item/gun/energy/ionrifle,/obj/machinery/recharger/wallcharger{pixel_x = 5; pixel_y = 32},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"aop" = (/obj/structure/table/rack,/obj/item/ammo_magazine/a10mm,/obj/item/ammo_magazine/a10mm,/obj/item/ammo_magazine/a10mm,/obj/item/ammo_magazine/a10mm,/obj/item/ammo_magazine/a10mm,/obj/item/ammo_magazine/a10mm,/obj/item/gun/projectile/automatic/c20r,/obj/item/gun/projectile/automatic/c20r,/obj/item/gun/projectile/automatic/c20r,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"aoq" = (/obj/item/modular_computer/console/preset/command,/obj/item/card/id/centcom,/turf/unsimulated/floor{icon_state = "dark"},/area/rescue_base/base)
@@ -748,23 +542,23 @@
"aow" = (/obj/structure/bed/chair{dir = 4},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
"aox" = (/obj/structure/bed/chair{dir = 8},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
"aoy" = (/obj/machinery/vending/snack,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
-"aoz" = (/obj/structure/sign/poster{poster_type = "/datum/poster/bay_50"; pixel_x = -32},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"aoz" = (/obj/structure/sign/poster{pixel_x = -32; poster_type = "/datum/poster/bay_50"},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"aoA" = (/obj/structure/closet,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"aoB" = (/obj/structure/window/reinforced/crescent,/turf/space,/area/space)
-"aoC" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1331; id_tag = "merc_base"; pixel_x = -25; pixel_y = -5},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"aoC" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{pixel_x = -25; pixel_y = -5; frequency = 1331; id_tag = "merc_base"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"aoD" = (/obj/structure/table/rack,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"aoE" = (/obj/structure/table/rack,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"aoF" = (/obj/machinery/suit_cycler/syndicate{locked = 0},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
-"aoG" = (/obj/structure/table/woodentable{dir = 5},/obj/machinery/button/remote/blast_door{id = "heavyrescue"; name = "Heavy Gear"; pixel_x = -5; pixel_y = 4},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/rescue_base/base)
+"aoG" = (/obj/structure/table/woodentable{dir = 5},/obj/machinery/button/remote/blast_door{name = "Heavy Gear"; pixel_x = -5; pixel_y = 4; id = "heavyrescue"},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/rescue_base/base)
"aoH" = (/obj/item/modular_computer/console/preset/ert,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/rescue_base/base)
-"aoI" = (/obj/structure/table/woodentable{dir = 5},/obj/machinery/button/remote/blast_door{id = "standardrescue"; name = "Standard Gear"; pixel_x = 5; pixel_y = 4},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/rescue_base/base)
+"aoI" = (/obj/structure/table/woodentable{dir = 5},/obj/machinery/button/remote/blast_door{name = "Standard Gear"; pixel_x = 5; pixel_y = 4; id = "standardrescue"},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/rescue_base/base)
"aoJ" = (/obj/structure/table/rack,/obj/item/clothing/suit/armor/vest/ert/engineer,/obj/item/clothing/head/helmet/ert/engineer,/obj/item/clothing/suit/armor/vest/ert/engineer,/obj/item/clothing/head/helmet/ert/engineer,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"aoK" = (/obj/structure/table/rack,/obj/item/storage/backpack/ert/engineer,/obj/item/storage/backpack/ert/engineer,/obj/item/storage/belt/utility/full,/obj/item/storage/belt/utility/full,/obj/item/clothing/gloves/insulated,/obj/item/clothing/gloves/insulated,/obj/item/clothing/gloves/insulated,/obj/item/clothing/gloves/insulated,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"aoL" = (/obj/structure/table/rack,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/glasses/welding/superior,/obj/item/clothing/glasses/welding/superior,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"aoM" = (/obj/structure/table/rack,/obj/item/device/flash,/obj/item/device/flash,/obj/item/melee/baton/loaded,/obj/item/melee/baton/loaded,/obj/item/grenade/chem_grenade/metalfoam,/obj/item/grenade/chem_grenade/metalfoam,/obj/item/grenade/chem_grenade/metalfoam,/obj/item/grenade/chem_grenade/metalfoam,/obj/item/grenade/chem_grenade/metalfoam,/obj/item/grenade/chem_grenade/metalfoam,/obj/item/grenade/chem_grenade/metalfoam,/obj/item/grenade/chem_grenade/metalfoam,/obj/item/inflatable_dispenser,/obj/item/inflatable_dispenser,/obj/item/pickaxe/drill/diamonddrill,/obj/item/pickaxe/drill/diamonddrill,/obj/item/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"aoN" = (/obj/structure/table/reinforced,/obj/item/taperoll/engineering,/obj/item/taperoll/engineering,/obj/item/taperoll/atmos,/obj/item/taperoll/atmos,/obj/item/device/multitool,/obj/item/device/multitool,/obj/item/tape_roll,/obj/item/tape_roll,/obj/item/tape_roll,/obj/item/tape_roll,/obj/item/cell/high,/obj/item/cell/high,/obj/item/cell/high,/obj/item/cell/high,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"aoO" = (/obj/structure/table/reinforced,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/construction/rcd,/obj/item/construction/rcd,/obj/item/construction/rcd,/obj/item/construction/rcd,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
-"aoP" = (/obj/structure/table/reinforced,/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/steel{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/material/steel{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/material/steel{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/material/steel{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/material/plasteel{amount = 50},/obj/item/stack/material/plasteel{amount = 50},/obj/item/stack/material/plasteel{amount = 50},/obj/item/stack/material/plasteel{amount = 50},/obj/item/stack/material/glass/reinforced{amount = 50},/obj/item/stack/material/glass/reinforced{amount = 50},/obj/item/stack/material/glass/reinforced{amount = 50},/obj/item/stack/material/glass/reinforced{amount = 50},/obj/item/stack/material/plastic{amount = 50},/obj/item/stack/material/plastic{amount = 50},/obj/item/stack/material/plastic{amount = 50},/obj/item/stack/material/plastic{amount = 50},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
+"aoP" = (/obj/structure/table/reinforced,/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/steel{pixel_x = 2; pixel_y = 2; amount = 50},/obj/item/stack/material/steel{pixel_x = 2; pixel_y = 2; amount = 50},/obj/item/stack/material/steel{pixel_x = 2; pixel_y = 2; amount = 50},/obj/item/stack/material/steel{pixel_x = 2; pixel_y = 2; amount = 50},/obj/item/stack/material/plasteel{amount = 50},/obj/item/stack/material/plasteel{amount = 50},/obj/item/stack/material/plasteel{amount = 50},/obj/item/stack/material/plasteel{amount = 50},/obj/item/stack/material/glass/reinforced{amount = 50},/obj/item/stack/material/glass/reinforced{amount = 50},/obj/item/stack/material/glass/reinforced{amount = 50},/obj/item/stack/material/glass/reinforced{amount = 50},/obj/item/stack/material/plastic{amount = 50},/obj/item/stack/material/plastic{amount = 50},/obj/item/stack/material/plastic{amount = 50},/obj/item/stack/material/plastic{amount = 50},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"aoQ" = (/obj/structure/table/reinforced,/obj/item/circuitboard/smes,/obj/item/circuitboard/smes,/obj/item/smes_coil,/obj/item/smes_coil,/obj/item/smes_coil/super_capacity,/obj/item/smes_coil/super_capacity,/obj/item/smes_coil/super_io,/obj/item/smes_coil/super_io,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"aoR" = (/obj/machinery/portable_atmospherics/canister/air,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"aoS" = (/obj/machinery/mech_recharger,/obj/mecha/working/hoverpod,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
@@ -772,33 +566,34 @@
"aoU" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/armor_booster/anticcw_armor_booster,/obj/item/mecha_parts/mecha_equipment/armor_booster/antiproj_armor_booster,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"aoV" = (/obj/structure/table/standard,/obj/item/hand_labeler,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
"aoW" = (/obj/structure/toilet{dir = 4},/turf/simulated/floor/shuttle/black,/area/syndicate_station/start)
-"aoX" = (/obj/machinery/flasher{id = "syndieflash"; pixel_y = 28},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/shuttle/black,/area/syndicate_station/start)
+"aoX" = (/obj/machinery/flasher{pixel_y = 28; id = "syndieflash"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/shuttle/black,/area/syndicate_station/start)
"aoY" = (/obj/item/device/radio/electropack,/turf/simulated/floor/shuttle/black,/area/syndicate_station/start)
"aoZ" = (/obj/item/device/radio/intercom/syndicate{dir = 1; pixel_y = -22},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"apa" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1331; id_tag = "merc_shuttle_pump"},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
-"apb" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 1},/obj/machinery/airlock_sensor{frequency = 1331; id_tag = "merc_shuttle_sensor"; pixel_x = 8; pixel_y = 25},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
-"apc" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1331; id_tag = "merc_shuttle_pump"},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1331; id_tag = "merc_shuttle"; pixel_x = -8; pixel_y = 25; req_access = list(150)},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
-"apd" = (/obj/machinery/door/airlock/external{frequency = 1331; id_tag = "merc_shuttle_outer"; name = "Ship External Access"; req_access = list(150)},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "smindicate"; name = "Outer Airlock"; opacity = 0},/obj/machinery/shield_diffuser,/turf/simulated/floor/plating,/area/syndicate_station/start)
-"ape" = (/obj/machinery/door/airlock/external{frequency = 1331; id_tag = "merc_base_hatch"; req_access = list(150)},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"apb" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 1},/obj/machinery/airlock_sensor{pixel_x = 8; pixel_y = 25; frequency = 1331; id_tag = "merc_shuttle_sensor"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"apc" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1331; id_tag = "merc_shuttle_pump"},/obj/machinery/embedded_controller/radio/airlock/docking_port{pixel_x = -8; pixel_y = 25; frequency = 1331; req_access = list(150); id_tag = "merc_shuttle"},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"apd" = (/obj/machinery/door/airlock/external{name = "Ship External Access"; frequency = 1331; req_access = list(150); id_tag = "merc_shuttle_outer"},/obj/machinery/door/blast/regular{name = "Outer Airlock"; icon_state = "pdoor0"; opacity = 0; density = 0; id = "smindicate"},/obj/machinery/shield_diffuser,/turf/simulated/floor/plating,/area/syndicate_station/start)
+"ape" = (/obj/machinery/door/airlock/external{frequency = 1331; req_access = list(150); id_tag = "merc_base_hatch"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"apf" = (/obj/structure/window/reinforced/crescent{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"apg" = (/obj/machinery/door/airlock/vault{name = "Armory"; req_access = list(150)},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"aph" = (/mob/living/simple_animal/tindalos{name = "Eddy"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/freezer,/area/merchant_station)
"api" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"apj" = (/obj/structure/table/woodentable{dir = 5},/obj/item/material/ashtray/bronze,/obj/item/cigbutt/cigarbutt,/obj/item/device/radio/phone{desc = "Should anything ever go wrong..."; frequency = 1345},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/rescue_base/base)
"apk" = (/obj/structure/bed/chair/comfy/brown{dir = 1},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/rescue_base/base)
"apl" = (/obj/structure/table/woodentable{dir = 5},/obj/item/storage/fancy/cigar,/obj/item/flame/lighter/zippo,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/rescue_base/base)
-"apm" = (/obj/machinery/door/airlock/centcom{name = "Combat Exosuit"; opacity = 1; req_access = list(103)},/obj/machinery/door/blast/regular{id = "heavyrescue"; name = "Combat Exosuit"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
+"apm" = (/obj/machinery/door/airlock/centcom{name = "Combat Exosuit"; opacity = 1; req_access = list(103)},/obj/machinery/door/blast/regular{name = "Combat Exosuit"; id = "heavyrescue"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
"apn" = (/obj/mecha/combat/gygax/dark,/obj/machinery/mech_recharger,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/rescue_base/base)
"apo" = (/obj/effect/shuttle_landmark/escape_pod/out/pod1,/turf/space,/area/shuttle/escape_pod1/centcom)
-"app" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_5_recovery_hatch"; locked = 1; name = "Recovery Shuttle Dock"; req_access = list(13)},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor2"},/area/centcom/evac)
-"apq" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "escape_pod_5_recovery"; pixel_x = -25; pixel_y = 25; req_one_access = list(13); tag_door = "escape_pod_5_recovery_hatch"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor2"},/area/centcom/evac)
+"app" = (/obj/machinery/door/airlock/external{name = "Recovery Shuttle Dock"; icon_state = "door_locked"; frequency = 1380; locked = 1; req_access = list(13); id_tag = "escape_pod_5_recovery_hatch"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor2"},/area/centcom/evac)
+"apq" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{pixel_x = -25; pixel_y = 25; frequency = 1380; req_one_access = list(13); id_tag = "escape_pod_5_recovery"; tag_door = "escape_pod_5_recovery_hatch"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor2"},/area/centcom/evac)
"apr" = (/obj/structure/bed/chair{dir = 1},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
-"aps" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "escape_pod_3_recovery"; pixel_x = 25; pixel_y = -25; req_one_access = list(13); tag_door = "escape_pod_3_recovery_hatch"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor2"},/area/centcom/evac)
-"apt" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_pod_3_recovery_hatch"; locked = 1; name = "Recovery Shuttle Dock"; req_access = list(13)},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor2"},/area/centcom/evac)
+"aps" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{pixel_x = 25; pixel_y = -25; frequency = 1380; req_one_access = list(13); id_tag = "escape_pod_3_recovery"; tag_door = "escape_pod_3_recovery_hatch"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor2"},/area/centcom/evac)
+"apt" = (/obj/machinery/door/airlock/external{name = "Recovery Shuttle Dock"; icon_state = "door_locked"; frequency = 1380; locked = 1; req_access = list(13); id_tag = "escape_pod_3_recovery_hatch"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor2"},/area/centcom/evac)
"apu" = (/obj/effect/shuttle_landmark/escape_pod/out/pod2,/turf/space,/area/shuttle/escape_pod2/centcom)
"apv" = (/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/syndicate_station/start)
"apw" = (/turf/simulated/floor/shuttle/black,/area/syndicate_station/start)
"apx" = (/obj/item/cigbutt,/turf/simulated/floor/shuttle/black,/area/syndicate_station/start)
-"apy" = (/obj/machinery/door/window{dir = 2; name = "Seating"; req_access = list(150)},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"apy" = (/obj/machinery/door/window{name = "Seating"; dir = 2; req_access = list(150)},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"apz" = (/obj/structure/table/standard,/obj/machinery/computer/pod/old/syndicate{id = "smindicate"},/obj/machinery/door/window{name = "Blast Door Control"; req_access = list(150)},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"apA" = (/obj/machinery/atmospherics/pipe/manifold4w/visible,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"apB" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1331; id_tag = "merc_shuttle_pump"},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
@@ -815,9 +610,9 @@
"apM" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/weapon/energy/ion,/obj/item/mecha_parts/mecha_equipment/weapon/energy/taser,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/rescue_base/base)
"apN" = (/obj/machinery/vending/coffee,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
"apO" = (/turf/unsimulated/wall,/area/centcom)
-"apP" = (/obj/machinery/door/window{dir = 1; name = "Cell"; req_access = list(150)},/obj/item/device/radio/intercom/syndicate{dir = 8; pixel_x = 22},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"apP" = (/obj/machinery/door/window{name = "Cell"; dir = 1; req_access = list(150)},/obj/item/device/radio/intercom/syndicate{dir = 8; pixel_x = 22},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"apQ" = (/obj/machinery/vending/assist/antag,/obj/machinery/light{dir = 4},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
-"apR" = (/obj/machinery/door/airlock/external{frequency = 1331; id_tag = "merc_shuttle_inner"; name = "Ship External Access"; req_access = list(0)},/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"apR" = (/obj/machinery/door/airlock/external{name = "Ship External Access"; frequency = 1331; req_access = list(0); id_tag = "merc_shuttle_inner"},/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"apS" = (/obj/structure/window/reinforced/crescent{dir = 1},/turf/space,/area/space)
"apT" = (/obj/structure/table/rack,/obj/item/storage/box/handcuffs{pixel_x = 4; pixel_y = 2},/obj/item/storage/box/flashbangs,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"apU" = (/obj/structure/table/rack,/obj/item/pinpointer/nukeop,/obj/item/pinpointer/nukeop,/obj/item/pinpointer/nukeop,/obj/item/pinpointer/nukeop,/obj/item/pinpointer/nukeop,/obj/item/pinpointer/nukeop,/obj/item/shield/energy,/obj/item/shield/energy,/obj/item/shield/energy,/obj/item/shield/energy,/obj/item/shield/energy,/obj/item/shield/energy,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
@@ -825,13 +620,13 @@
"apW" = (/obj/structure/table/rack,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/item/device/suit_cooling_unit,/obj/item/ammo_magazine/c556,/obj/item/ammo_magazine/c556,/obj/item/ammo_magazine/c556,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"apX" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"; dir = 8},/area/centcom/evac)
"apY" = (/obj/machinery/computer/arcade,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
-"apZ" = (/turf/unsimulated/wall{desc = "That looks like it doesn't open easily."; icon = 'icons/obj/doors/rapid_pdoor.dmi'; icon_state = "pdoor1"; name = "Shuttle Bay Blast Door"},/area/centcom)
+"apZ" = (/turf/unsimulated/wall{name = "Shuttle Bay Blast Door"; desc = "That looks like it doesn't open easily."; icon = 'icons/obj/doors/rapid_pdoor.dmi'; icon_state = "pdoor1"},/area/centcom)
"aqa" = (/turf/unsimulated/floor{name = "plating"},/area/centcom)
"aqb" = (/turf/simulated/floor/plating,/area/syndicate_mothership/ninja)
-"aqc" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/button/flasher{id = "syndieflash"; name = "Flasher"; pixel_x = 27},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"aqc" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/button/flasher{name = "Flasher"; pixel_x = 27; id = "syndieflash"},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"aqd" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"aqe" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/machinery/meter,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
-"aqf" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1331; master_tag = "merc_shuttle"; name = "interior access button"; pixel_x = 25; pixel_y = 25; req_access = list(150)},/obj/machinery/atmospherics/pipe/simple/visible{dir = 9},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"aqf" = (/obj/machinery/access_button{name = "interior access button"; pixel_x = 25; pixel_y = 25; frequency = 1331; req_access = list(150); command = "cycle_interior"; master_tag = "merc_shuttle"},/obj/machinery/atmospherics/pipe/simple/visible{dir = 9},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"aqg" = (/obj/machinery/suit_cycler/syndicate{locked = 0},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"aqh" = (/obj/machinery/door/airlock/centcom{name = "Hardsuit Storage"; opacity = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"aqi" = (/obj/structure/closet/secure_closet/personal/patient,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor3"},/area/centcom/evac)
@@ -843,7 +638,7 @@
"aqo" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"; dir = 10},/area/shuttle/administration/centcom)
"aqp" = (/obj/item/material/kitchen/utensil/knife{pixel_x = -6},/obj/item/reagent_containers/syringe/drugs{pixel_x = 3; pixel_y = -1},/obj/item/reagent_containers/syringe/drugs{pixel_x = 3; pixel_y = 4},/obj/item/reagent_containers/syringe/drugs{pixel_x = 3; pixel_y = 9},/obj/structure/table/glass,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"aqq" = (/obj/machinery/door/window{name = "Brig"; req_access = list(150)},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
-"aqr" = (/obj/machinery/door/window{base_state = "right"; dir = 8; icon_state = "right"; name = "Preparation"; req_access = list(150)},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"aqr" = (/obj/machinery/door/window{name = "Preparation"; icon_state = "right"; dir = 8; req_access = list(150); base_state = "right"},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"aqs" = (/obj/structure/closet/syndicate/suit{name = "suit closet"},/obj/machinery/light{dir = 4},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"aqt" = (/obj/structure/table/rack,/obj/item/clothing/mask/gas/syndicate,/obj/item/clothing/suit/space/void/syndi/prepared,/obj/item/clothing/accessory/holochip/nuke,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"aqu" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/rescue_base/base)
@@ -863,8 +658,8 @@
"aqI" = (/obj/machinery/light{dir = 1},/obj/structure/table/reinforced,/turf/simulated/floor/shuttle/red,/area/shuttle/administration/centcom)
"aqJ" = (/obj/machinery/sleeper,/turf/simulated/floor/shuttle/red,/area/shuttle/administration/centcom)
"aqK" = (/obj/structure/closet{name = "custodial"},/obj/item/reagent_containers/vessel/bucket,/obj/item/mop,/obj/item/reagent_containers/spray/cleaner,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
-"aqL" = (/obj/machinery/door/window{base_state = "right"; icon_state = "right"; name = "Brig"; req_access = list(150)},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
-"aqM" = (/obj/machinery/door/window{dir = 8; name = "Preparation"; req_access = list(150)},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"aqL" = (/obj/machinery/door/window{name = "Brig"; icon_state = "right"; req_access = list(150); base_state = "right"},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"aqM" = (/obj/machinery/door/window{name = "Preparation"; dir = 8; req_access = list(150)},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"aqN" = (/obj/structure/table/standard,/obj/item/storage/toolbox/syndicate{pixel_x = -1; pixel_y = 3},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"aqO" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/rescue_base/base)
"aqP" = (/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/rescue_base/base)
@@ -882,9 +677,9 @@
"arb" = (/turf/unsimulated/wall,/area/centcom/living)
"arc" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/turret/network/centcomm,/turf/unsimulated/floor{icon_state = "asteroidfloor"},/area/rescue_base/base)
"ard" = (/turf/simulated/shuttle/wall/corner/syndi/nw,/area/rescue_base/start)
-"are" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "rescuebridge"; name = "Bridge Blast Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/rescue_base/start)
+"are" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{name = "Bridge Blast Shutters"; icon_state = "pdoor0"; opacity = 0; density = 0; dir = 4; id = "rescuebridge"},/turf/simulated/floor/plating,/area/rescue_base/start)
"arf" = (/turf/simulated/shuttle/wall/corner/syndi/ne,/area/rescue_base/start)
-"arg" = (/turf/simulated/shuttle/wall/syndi{dir = 1; icon_state = "syndiwall_straight"},/area/rescue_base/start)
+"arg" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_straight"; dir = 1},/area/rescue_base/start)
"arh" = (/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = -30},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor3"},/area/centcom/evac)
"ari" = (/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac)
"arj" = (/obj/machinery/vending/coffee{prices = list()},/turf/simulated/floor/shuttle/red,/area/shuttle/administration/centcom)
@@ -908,15 +703,15 @@
"arB" = (/obj/item/clothing/gloves/insulated,/obj/item/device/assembly/signaler{pixel_y = 2},/obj/structure/table/steel,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"arC" = (/obj/item/clothing/gloves/insulated,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/structure/table/steel,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"arD" = (/obj/item/clothing/gloves/insulated,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/machinery/light{dir = 4},/obj/structure/table/steel,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
-"arE" = (/obj/structure/table/steel_reinforced,/obj/machinery/button/remote/blast_door{icon_state = "doorctrl0"; id = "rescuebridge"; name = "Mech Storage"; pixel_y = -4; req_access = list(108)},/turf/simulated/floor/shuttle/black,/area/rescue_base/start)
+"arE" = (/obj/structure/table/steel_reinforced,/obj/machinery/button/remote/blast_door{name = "Mech Storage"; icon_state = "doorctrl0"; pixel_y = -4; id = "rescuebridge"; req_access = list(108)},/turf/simulated/floor/shuttle/black,/area/rescue_base/start)
"arF" = (/obj/item/modular_computer/console/preset/command,/turf/simulated/floor/shuttle/black,/area/rescue_base/start)
"arG" = (/obj/machinery/computer/shuttle_control/multi/rescue,/turf/simulated/floor/shuttle/black,/area/rescue_base/start)
"arH" = (/obj/structure/table/steel_reinforced,/obj/machinery/recharger{pixel_y = 4},/obj/machinery/light{dir = 4},/turf/simulated/floor/shuttle/black,/area/rescue_base/start)
"arI" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1331; id_tag = "rescue_shuttle_pump"},/obj/machinery/light{dir = 8},/obj/structure/table/steel_reinforced,/turf/simulated/floor/shuttle/red,/area/rescue_base/start)
"arJ" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 1},/obj/structure/bed/chair,/turf/simulated/floor/shuttle/red,/area/rescue_base/start)
-"arK" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 1},/obj/structure/bed/chair,/obj/machinery/airlock_sensor{frequency = 1331; id_tag = "rescue_shuttle_sensor"; pixel_x = 8; pixel_y = 25},/turf/simulated/floor/shuttle/red,/area/rescue_base/start)
+"arK" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 1},/obj/structure/bed/chair,/obj/machinery/airlock_sensor{pixel_x = 8; pixel_y = 25; frequency = 1331; id_tag = "rescue_shuttle_sensor"},/turf/simulated/floor/shuttle/red,/area/rescue_base/start)
"arL" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1331; id_tag = "rescue_shuttle_pump"},/obj/machinery/light{dir = 4},/obj/structure/bed/chair,/turf/simulated/floor/shuttle/red,/area/rescue_base/start)
-"arM" = (/obj/machinery/door/window/northright{dir = 4; name = "Security Desk"; req_access = list(103)},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac)
+"arM" = (/obj/machinery/door/window/northright{name = "Security Desk"; dir = 4; req_access = list(103)},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac)
"arN" = (/obj/structure/table/standard,/obj/item/storage/box/handcuffs,/obj/item/device/flash,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor4"},/area/centcom/evac)
"arO" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"; dir = 8},/turf/space,/area/shuttle/administration/centcom)
"arP" = (/obj/structure/shuttle/engine/heater{dir = 8},/turf/simulated/shuttle/wall{icon_state = "whiteship_straight"},/area/shuttle/administration/centcom)
@@ -931,14 +726,14 @@
"arY" = (/obj/item/stool{pixel_y = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/living)
"arZ" = (/obj/item/reagent_containers/vessel/condiment/small/peppermill{pixel_x = 2; pixel_y = 6},/obj/structure/table/standard,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/living)
"asa" = (/obj/item/reagent_containers/vessel/can/cola,/obj/structure/table/standard,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/living)
-"asb" = (/obj/machinery/vending/cigarette{name = "hacked cigarette machine"; prices = list(); products = list(/obj/item/storage/fancy/cigarettes=10,/obj/item/storage/box/matches=10,/obj/item/flame/lighter/zippo=4,/obj/item/clothing/mask/smokable/cigarette/cigar/havana=2)},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_mothership)
+"asb" = (/obj/machinery/vending/cigarette{name = "hacked cigarette machine"; products = list(/obj/item/storage/fancy/cigarettes=10, /obj/item/storage/box/matches=10, /obj/item/flame/lighter/zippo=4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana=2); prices = list()},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/syndicate_mothership)
"asc" = (/obj/machinery/vending/cola,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/living)
"asd" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/living)
"ase" = (/turf/unsimulated/floor{name = "plating"},/area/centcom/suppy)
-"asf" = (/turf/unsimulated/wall{desc = "That looks like it doesn't open easily."; icon = 'icons/obj/doors/rapid_pdoor.dmi'; icon_state = "pdoor1"; name = "Shuttle Bay Blast Door"},/area/centcom/suppy)
-"asg" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "syndieshutters_infirmary"; name = "Shuttle Blast Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/syndicate_station/start)
+"asf" = (/turf/unsimulated/wall{name = "Shuttle Bay Blast Door"; desc = "That looks like it doesn't open easily."; icon = 'icons/obj/doors/rapid_pdoor.dmi'; icon_state = "pdoor1"},/area/centcom/suppy)
+"asg" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{name = "Shuttle Blast Shutters"; icon_state = "pdoor0"; opacity = 0; density = 0; id = "syndieshutters_infirmary"},/turf/simulated/floor/plating,/area/syndicate_station/start)
"ash" = (/obj/item/screwdriver,/obj/effect/spawner/newbomb/timer/syndicate,/obj/structure/table/steel,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
-"asi" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "syndieshutters_workshop"; name = "Shuttle Blast Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/syndicate_station/start)
+"asi" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{name = "Shuttle Blast Shutters"; icon_state = "pdoor0"; opacity = 0; density = 0; id = "syndieshutters_workshop"},/turf/simulated/floor/plating,/area/syndicate_station/start)
"asj" = (/obj/structure/table/rack,/obj/item/rig/syndi/empty,/obj/item/clothing/accessory/holochip/nuke,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
"ask" = (/obj/structure/table/steel_reinforced,/turf/simulated/floor/shuttle/black,/area/rescue_base/start)
"asl" = (/obj/structure/bed/chair/office/dark{dir = 1},/turf/simulated/floor/shuttle/black,/area/rescue_base/start)
@@ -946,14 +741,14 @@
"asn" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/floor/shuttle/red,/area/rescue_base/start)
"aso" = (/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor/shuttle/red,/area/rescue_base/start)
"asp" = (/turf/simulated/floor/shuttle/red,/area/rescue_base/start)
-"asq" = (/obj/machinery/door/airlock/external{frequency = 1331; id_tag = "rescue_shuttle_outer"; name = "Ship External Access"; req_access = list(103)},/obj/machinery/shield_diffuser,/turf/simulated/floor/shuttle/red,/area/rescue_base/start)
+"asq" = (/obj/machinery/door/airlock/external{name = "Ship External Access"; frequency = 1331; req_access = list(103); id_tag = "rescue_shuttle_outer"},/obj/machinery/shield_diffuser,/turf/simulated/floor/shuttle/red,/area/rescue_base/start)
"asr" = (/turf/simulated/shuttle/wall{icon_state = "whiteship_t"; dir = 1},/area/centcom/evac)
-"ass" = (/turf/simulated/shuttle/wall/syndi{dir = 8; icon_state = "syndiwall"},/area/syndicate_mothership/elite_squad)
+"ass" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 8},/area/syndicate_mothership/elite_squad)
"ast" = (/obj/machinery/door/airlock/hatch{name = "Cockpit"; req_access = list(109)},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor2"},/area/centcom/evac)
"asu" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"; dir = 8},/turf/space,/area/shuttle/administration/centcom)
"asv" = (/obj/machinery/vending/coffee,/turf/simulated/floor/shuttle/red,/area/shuttle/administration/centcom)
"asw" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"; dir = 9},/area/shuttle/administration/centcom)
-"asx" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "admin_shuttle_centcom_dock"; name = "shuttle bay controller"; pixel_x = 25; tag_door = "admin_shuttle_bay_door"},/turf/unsimulated/floor{name = "plating"},/area/centcom)
+"asx" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{name = "shuttle bay controller"; pixel_x = 25; frequency = 1380; id_tag = "admin_shuttle_centcom_dock"; tag_door = "admin_shuttle_bay_door"},/turf/unsimulated/floor{name = "plating"},/area/centcom)
"asy" = (/obj/item/reagent_containers/vessel/bottle/small/beer,/obj/structure/table/standard,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/living)
"asz" = (/obj/structure/table/standard,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/living)
"asA" = (/obj/machinery/door/airlock/external,/turf/unsimulated/floor{name = "plating"},/area/centcom/living)
@@ -973,7 +768,7 @@
"asO" = (/obj/item/modular_computer/console/preset/engineering,/turf/simulated/floor/shuttle/black,/area/rescue_base/start)
"asP" = (/obj/structure/bed/chair{dir = 4},/obj/item/device/radio/intercom/specops{dir = 4; pixel_x = -22},/turf/simulated/floor/shuttle/red,/area/rescue_base/start)
"asQ" = (/obj/machinery/computer/crew,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
-"asR" = (/obj/structure/bed/chair{dir = 4; name = "Defense"},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
+"asR" = (/obj/structure/bed/chair{name = "Defense"; dir = 4},/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
"asS" = (/obj/item/modular_computer/console/preset/command,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
"asT" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"; dir = 5},/area/shuttle/administration/centcom)
"asU" = (/obj/machinery/vending/cigarette{prices = list()},/turf/simulated/floor/shuttle/red,/area/shuttle/administration/centcom)
@@ -983,33 +778,33 @@
"asY" = (/obj/machinery/microwave,/obj/structure/table/reinforced,/turf/simulated/floor/shuttle/red,/area/shuttle/administration/centcom)
"asZ" = (/obj/item/modular_computer/console/preset/command,/turf/simulated/floor/shuttle/red,/area/shuttle/administration/centcom)
"ata" = (/obj/effect/wingrille_spawn/reinforced/crescent,/turf/simulated/floor/plating,/area/shuttle/administration/centcom)
-"atb" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "admin_shuttle_bay_door"; locked = 1},/turf/unsimulated/floor{name = "plating"},/area/centcom/living)
+"atb" = (/obj/machinery/door/airlock/external{icon_state = "door_locked"; frequency = 1380; locked = 1; id_tag = "admin_shuttle_bay_door"},/turf/unsimulated/floor{name = "plating"},/area/centcom/living)
"atc" = (/turf/simulated/shuttle/wall{icon_state = "whiteship_straight"},/area/supply/dock)
"atd" = (/turf/simulated/floor/shuttle/blue,/area/supply/dock)
-"ate" = (/obj/machinery/door/window{base_state = "right"; icon_state = "right"; name = "Infirmary"; req_access = list(150)},/turf/simulated/floor/shuttle/white,/area/syndicate_station/start)
-"atf" = (/obj/machinery/door/window{dir = 8; name = "Tool Storage"; req_access = list(150)},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"ate" = (/obj/machinery/door/window{name = "Infirmary"; icon_state = "right"; req_access = list(150); base_state = "right"},/turf/simulated/floor/shuttle/white,/area/syndicate_station/start)
+"atf" = (/obj/machinery/door/window{name = "Tool Storage"; dir = 8; req_access = list(150)},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"atg" = (/obj/item/aicard,/obj/effect/spawner/newbomb/timer/syndicate,/obj/structure/table/steel,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"ath" = (/obj/machinery/computer/prisoner{name = "Implant Management"},/obj/machinery/light{dir = 8},/turf/simulated/floor/shuttle/black,/area/rescue_base/start)
"ati" = (/obj/item/modular_computer/console/preset/ert,/turf/simulated/floor/shuttle/black,/area/rescue_base/start)
"atj" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1331; id_tag = "rescue_shuttle_pump"},/obj/machinery/light{dir = 8},/turf/simulated/floor/shuttle/red,/area/rescue_base/start)
"atk" = (/obj/machinery/atmospherics/pipe/manifold4w/visible,/turf/simulated/floor/shuttle/red,/area/rescue_base/start)
"atl" = (/obj/machinery/atmospherics/pipe/manifold4w/visible,/obj/machinery/meter,/turf/simulated/floor/shuttle/red,/area/rescue_base/start)
-"atm" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1331; id_tag = "rescue_shuttle_pump"},/obj/machinery/light{dir = 4},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1331; id_tag = "rescue_shuttle"; pixel_x = 25; req_access = list(103)},/turf/simulated/floor/shuttle/red,/area/rescue_base/start)
+"atm" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1331; id_tag = "rescue_shuttle_pump"},/obj/machinery/light{dir = 4},/obj/machinery/embedded_controller/radio/airlock/docking_port{pixel_x = 25; frequency = 1331; req_access = list(103); id_tag = "rescue_shuttle"},/turf/simulated/floor/shuttle/red,/area/rescue_base/start)
"atn" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
"ato" = (/obj/item/device/radio/off,/obj/structure/table/reinforced,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
"atp" = (/obj/structure/bed/chair/comfy/black{dir = 4},/turf/simulated/floor/shuttle/red,/area/shuttle/administration/centcom)
"atq" = (/obj/effect/wingrille_spawn/reinforced/crescent,/obj/effect/shuttle_landmark/administration/centcom,/turf/simulated/floor/plating,/area/shuttle/administration/centcom)
"atr" = (/obj/effect/shuttle_landmark/supply/centcom,/turf/simulated/floor/shuttle/blue,/area/supply/dock)
"ats" = (/obj/machinery/light{dir = 4},/turf/simulated/floor/shuttle/blue,/area/supply/dock)
-"att" = (/obj/machinery/button/remote/blast_door{id = "syndieshutters_infirmary"; name = "remote shutter control"; pixel_x = -25},/obj/structure/mopbucket,/turf/simulated/floor/shuttle/white,/area/syndicate_station/start)
+"att" = (/obj/machinery/button/remote/blast_door{name = "remote shutter control"; pixel_x = -25; id = "syndieshutters_infirmary"},/obj/structure/mopbucket,/turf/simulated/floor/shuttle/white,/area/syndicate_station/start)
"atu" = (/obj/machinery/light{dir = 4},/obj/item/device/radio/intercom/syndicate{dir = 8; pixel_x = 22},/turf/simulated/floor/shuttle/white,/area/syndicate_station/start)
-"atv" = (/obj/machinery/door/window{dir = 1; name = "Secure Storage"; req_access = list(150)},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"atv" = (/obj/machinery/door/window{name = "Secure Storage"; dir = 1; req_access = list(150)},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"atw" = (/obj/structure/table/rack,/obj/item/storage/belt/utility/full,/obj/item/device/multitool,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
-"atx" = (/obj/machinery/button/remote/blast_door{id = "syndieshutters_telebay"; name = "remote shutter control"; pixel_y = -25; req_access = list(150)},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
-"aty" = (/obj/machinery/button/remote/blast_door{id = "syndieshutters_workshop"; name = "remote shutter control"; pixel_x = 25},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"atx" = (/obj/machinery/button/remote/blast_door{name = "remote shutter control"; pixel_y = -25; id = "syndieshutters_telebay"; req_access = list(150)},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"aty" = (/obj/machinery/button/remote/blast_door{name = "remote shutter control"; pixel_x = 25; id = "syndieshutters_workshop"},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"atz" = (/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/rescue_base/start)
"atA" = (/obj/machinery/door/airlock/centcom{name = "Flight Deck"; opacity = 1; req_access = list(103)},/turf/simulated/floor/shuttle/black,/area/rescue_base/start)
-"atB" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/machinery/door/airlock/external{frequency = 1331; id_tag = "rescue_shuttle_inner"; name = "Ship External Access"; req_access = list(103)},/turf/simulated/floor/shuttle/red,/area/rescue_base/start)
+"atB" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/machinery/door/airlock/external{name = "Ship External Access"; frequency = 1331; req_access = list(103); id_tag = "rescue_shuttle_inner"},/turf/simulated/floor/shuttle/red,/area/rescue_base/start)
"atC" = (/obj/item/storage/lockbox,/obj/structure/table/reinforced,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
"atD" = (/obj/item/stamp/captain,/obj/structure/table/reinforced,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
"atE" = (/obj/machinery/computer/shuttle,/turf/unsimulated/floor{icon = 'icons/turf/shuttle.dmi'; icon_state = "floor"},/area/centcom/evac)
@@ -1028,22 +823,22 @@
"atR" = (/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/centcom/living)
"atS" = (/obj/machinery/gibber,/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/centcom/living)
"atT" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad2"},/turf/simulated/floor/shuttle/blue,/area/supply/dock)
-"atU" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad2"},/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "supply_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access = list(13)},/turf/simulated/floor/plating,/area/supply/dock)
+"atU" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad2"},/obj/machinery/door/airlock/external{name = "Shuttle Hatch"; icon_state = "door_locked"; frequency = 1380; locked = 1; req_access = list(13); id_tag = "supply_shuttle_hatch"},/turf/simulated/floor/plating,/area/supply/dock)
"atV" = (/obj/structure/window/reinforced/crescent{dir = 1},/obj/structure/table/standard,/obj/item/bonesetter,/obj/item/bonegel,/turf/simulated/floor/shuttle/white,/area/syndicate_station/start)
-"atW" = (/obj/machinery/door/window{dir = 1; name = "Surgery"; req_access = list(150)},/turf/simulated/floor/shuttle/white,/area/syndicate_station/start)
+"atW" = (/obj/machinery/door/window{name = "Surgery"; dir = 1; req_access = list(150)},/turf/simulated/floor/shuttle/white,/area/syndicate_station/start)
"atX" = (/obj/structure/window/reinforced/crescent{dir = 1},/obj/structure/gas_stand/anesthetic,/turf/simulated/floor/shuttle/white,/area/syndicate_station/start)
"atY" = (/obj/structure/table/standard,/obj/structure/window/reinforced/crescent{dir = 8},/obj/item/storage/firstaid/toxin{pixel_x = 3; pixel_y = 3},/obj/item/storage/firstaid/adv{pixel_x = 1},/turf/simulated/floor/shuttle/white,/area/syndicate_station/start)
"atZ" = (/obj/structure/table/standard,/obj/item/storage/firstaid/o2{pixel_x = 3; pixel_y = 3},/obj/item/storage/firstaid/fire{pixel_x = 1},/turf/simulated/floor/shuttle/white,/area/syndicate_station/start)
"aua" = (/obj/item/weldingtool,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"aub" = (/obj/structure/sign/warning/caution{pixel_x = 32},/obj/machinery/light{dir = 4},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"auc" = (/obj/machinery/telecomms/allinone{intercept = 1},/obj/machinery/door/window/northright{name = "Telecoms Mainframe"; req_access = list(150)},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
-"aud" = (/obj/machinery/door/blast/regular{id = "syndieshutters_telebay"; name = "Outer Airlock"},/turf/simulated/floor/plating,/area/syndicate_station/start)
+"aud" = (/obj/machinery/door/blast/regular{name = "Outer Airlock"; id = "syndieshutters_telebay"},/turf/simulated/floor/plating,/area/syndicate_station/start)
"aue" = (/obj/structure/flora/ausbushes/palebush,/turf/unsimulated/floor{icon_state = "asteroidplating"},/area/rescue_base/base)
"auf" = (/obj/structure/closet,/obj/item/reagent_containers/food/liquidfood,/obj/item/reagent_containers/food/liquidfood,/obj/item/reagent_containers/food/liquidfood,/obj/item/reagent_containers/food/liquidfood,/obj/item/reagent_containers/food/liquidfood,/obj/item/reagent_containers/food/liquidfood,/turf/simulated/floor/shuttle/black,/area/rescue_base/start)
"aug" = (/obj/structure/table/rack,/obj/item/device/radio,/obj/item/device/radio,/obj/item/device/radio,/obj/item/device/radio,/obj/item/device/radio,/obj/item/device/radio,/obj/machinery/light{dir = 4},/turf/simulated/floor/shuttle/black,/area/rescue_base/start)
"auh" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/shuttle/darkred,/area/rescue_base/start)
"aui" = (/obj/machinery/atmospherics/pipe/manifold/visible,/obj/machinery/meter,/turf/simulated/floor/shuttle/darkred,/area/rescue_base/start)
-"auj" = (/obj/machinery/atmospherics/pipe/manifold/visible,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1331; master_tag = "rescue_shuttle"; name = "interior access button"; pixel_x = 25; pixel_y = 25; req_access = list(103)},/turf/simulated/floor/shuttle/darkred,/area/rescue_base/start)
+"auj" = (/obj/machinery/atmospherics/pipe/manifold/visible,/obj/machinery/access_button{name = "interior access button"; pixel_x = 25; pixel_y = 25; frequency = 1331; req_access = list(103); command = "cycle_interior"; master_tag = "rescue_shuttle"},/turf/simulated/floor/shuttle/darkred,/area/rescue_base/start)
"auk" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/shuttle/darkred,/area/rescue_base/start)
"aul" = (/obj/structure/grille,/obj/structure/window/shuttle{icon_state = "window-whiteship"; dir = 4},/turf/simulated/floor/plating,/area/centcom/evac)
"aum" = (/obj/structure/grille,/obj/structure/window/shuttle{icon_state = "window-whiteship-straight"; dir = 4},/turf/simulated/floor/plating,/area/centcom/evac)
@@ -1054,7 +849,7 @@
"aur" = (/turf/unsimulated/floor{icon_state = "white"},/area/centcom/living)
"aus" = (/obj/structure/closet/secure_closet/freezer/meat,/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/centcom/living)
"aut" = (/obj/machinery/chem_master/condimaster{name = "CondiMaster Neo"; pixel_x = -5},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/centcom/living)
-"auu" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "supply_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access = list(13)},/turf/simulated/floor/shuttle/blue,/area/supply/dock)
+"auu" = (/obj/machinery/door/airlock/external{name = "Shuttle Hatch"; icon_state = "door_locked"; frequency = 1380; locked = 1; req_access = list(13); id_tag = "supply_shuttle_hatch"},/turf/simulated/floor/shuttle/blue,/area/supply/dock)
"auv" = (/obj/structure/table/standard,/obj/item/scalpel,/obj/item/circular_saw{pixel_y = 8},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/shuttle/white,/area/syndicate_station/start)
"auw" = (/obj/structure/sink{dir = 4; pixel_x = 11},/obj/item/reagent_containers/vessel/bottle/chemical/stoxin,/obj/item/reagent_containers/vessel/bottle/chemical/stoxin,/obj/item/reagent_containers/syringe,/obj/item/clothing/mask/surgical,/obj/item/clothing/gloves/latex,/obj/item/surgicaldrill,/obj/structure/closet/secure_closet/medical_wall{pixel_x = 32; req_access = list(150)},/obj/item/reagent_containers/syringe/antiviral,/turf/simulated/floor/shuttle/white,/area/syndicate_station/start)
"auy" = (/obj/item/crowbar,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
@@ -1071,12 +866,12 @@
"auJ" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/shuttle/red,/area/shuttle/administration/centcom)
"auK" = (/obj/machinery/recharge_station,/turf/simulated/floor/shuttle/red,/area/shuttle/administration/centcom)
"auL" = (/obj/machinery/mecha_part_fabricator,/obj/machinery/light{dir = 1},/turf/simulated/floor/shuttle/red,/area/shuttle/administration/centcom)
-"auM" = (/obj/machinery/autolathe{desc = "Your typical Autolathe. It appears to have much more options than your regular one, however..."; hacked = 1; name = "Unlocked Autolathe"},/turf/simulated/floor/shuttle/red,/area/shuttle/administration/centcom)
+"auM" = (/obj/machinery/autolathe{name = "Unlocked Autolathe"; desc = "Your typical Autolathe. It appears to have much more options than your regular one, however..."; hacked = 1},/turf/simulated/floor/shuttle/red,/area/shuttle/administration/centcom)
"auN" = (/obj/structure/dispenser,/turf/simulated/floor/shuttle/red,/area/shuttle/administration/centcom)
"auO" = (/obj/structure/table/standard,/obj/item/reagent_containers/vessel/shaker,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/living)
"auP" = (/obj/structure/table/standard,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/living)
"auQ" = (/obj/machinery/door/airlock/centcom{name = "Living Quarters"; opacity = 1; req_access = list(105)},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/centcom/living)
-"auR" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "supply_shuttle"; pixel_x = 25; req_one_access = list(13,31); tag_door = "supply_shuttle_hatch"},/turf/simulated/floor/shuttle/blue,/area/supply/dock)
+"auR" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{pixel_x = 25; frequency = 1380; req_one_access = list(13,31); id_tag = "supply_shuttle"; tag_door = "supply_shuttle_hatch"},/turf/simulated/floor/shuttle/blue,/area/supply/dock)
"auS" = (/obj/structure/table/standard,/obj/item/cautery,/obj/item/hemostat,/obj/item/FixOVein,/turf/simulated/floor/shuttle/white,/area/syndicate_station/start)
"auT" = (/obj/machinery/optable,/turf/simulated/floor/shuttle/white,/area/syndicate_station/start)
"auU" = (/obj/structure/table/standard,/obj/item/stack/medical/advanced/bruise_pack,/obj/item/retractor,/obj/item/device/radio/intercom/syndicate{dir = 8; pixel_x = 22},/turf/simulated/floor/shuttle/white,/area/syndicate_station/start)
@@ -1084,13 +879,13 @@
"auX" = (/obj/machinery/teleport/hub,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"auY" = (/obj/structure/closet,/obj/item/device/flashlight/flare,/obj/item/device/flashlight/flare,/obj/item/device/flashlight/flare,/obj/item/device/flashlight/flare,/obj/item/device/flashlight/flare,/obj/item/device/flashlight/flare,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/device/flashlight,/turf/simulated/floor/shuttle/black,/area/rescue_base/start)
"auZ" = (/obj/item/device/radio/intercom/specops{dir = 8; pixel_x = 22},/obj/structure/closet/l3closet,/turf/simulated/floor/shuttle/black,/area/rescue_base/start)
-"ava" = (/obj/structure/table/rack,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/turf/simulated/shuttle/wall/syndi{dir = 4; icon_state = "syndiwall_t"},/area/rescue_base/start)
+"ava" = (/obj/structure/table/rack,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/obj/item/tank/emergency/oxygen/double,/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_t"; dir = 4},/area/rescue_base/start)
"avb" = (/obj/machinery/optable,/turf/simulated/floor/shuttle/white,/area/shuttle/administration/centcom)
"avc" = (/obj/machinery/sleeper{dir = 8},/turf/simulated/floor/shuttle/white,/area/shuttle/administration/centcom)
"avd" = (/obj/machinery/door/airlock/centcom{name = "Commander Quarters"; opacity = 1; req_access = list(109)},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/living)
"ave" = (/obj/effect/wingrille_spawn/reinforced/crescent,/turf/unsimulated/floor{name = "plating"},/area/centcom/living)
"avf" = (/obj/item/stool{pixel_y = 8},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/living)
-"avg" = (/turf/simulated/shuttle/wall/syndi{dir = 1; icon_state = "syndiwall_straight"},/area/syndicate_mothership/elite_squad)
+"avg" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_straight"; dir = 1},/area/syndicate_mothership/elite_squad)
"avh" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"},/turf/space,/area/syndicate_station/start)
"avi" = (/obj/structure/shuttle/engine/propulsion,/turf/space,/area/syndicate_station/start)
"avj" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"},/turf/space,/area/syndicate_station/start)
@@ -1111,47 +906,47 @@
"avy" = (/obj/machinery/recharger{pixel_y = 4},/obj/structure/table/reinforced,/turf/simulated/floor/shuttle/red,/area/shuttle/administration/centcom)
"avz" = (/obj/machinery/cell_charger,/obj/structure/table/reinforced,/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/glass{amount = 50},/turf/simulated/floor/shuttle/red,/area/shuttle/administration/centcom)
"avA" = (/obj/machinery/sleeper{dir = 8},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/living)
-"avB" = (/obj/structure/mirror{pixel_y = 28},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/living)
-"avC" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/living)
-"avD" = (/obj/item/modular_computer/console/preset/command,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/living)
+"avB" = (/obj/structure/mirror{pixel_y = 28},/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/centcom/living)
+"avC" = (/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/centcom/living)
+"avD" = (/obj/item/modular_computer/console/preset/command,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/centcom/living)
"avE" = (/obj/structure/table/standard,/obj/item/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/material/kitchen/rollingpin,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/living)
"avF" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad"},/turf/simulated/floor/shuttle/blue,/area/supply/dock)
-"avG" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad"},/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "supply_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access = list(13)},/turf/simulated/floor/plating,/area/supply/dock)
+"avG" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad"},/obj/machinery/door/airlock/external{name = "Shuttle Hatch"; icon_state = "door_locked"; frequency = 1380; locked = 1; req_access = list(13); id_tag = "supply_shuttle_hatch"},/turf/simulated/floor/plating,/area/supply/dock)
"avH" = (/turf/simulated/shuttle/wall/corner/syndi/sw,/area/rescue_base/start)
"avI" = (/obj/machinery/door/airlock/centcom{name = "Crew Area"; opacity = 1; req_access = list(103)},/turf/simulated/floor/shuttle/black,/area/rescue_base/start)
"avJ" = (/obj/structure/sign/poster{pixel_x = -32; poster_type = "/datum/poster/bay_9"},/turf/simulated/floor/shuttle/darkred,/area/rescue_base/start)
"avK" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/floor/shuttle/darkred,/area/rescue_base/start)
-"avL" = (/obj/machinery/vending/wallmed1{layer = 3.3; name = "Emergency NanoMed"; pixel_x = 28},/turf/simulated/floor/shuttle/darkred,/area/rescue_base/start)
+"avL" = (/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; layer = 3.3; pixel_x = 28},/turf/simulated/floor/shuttle/darkred,/area/rescue_base/start)
"avM" = (/obj/machinery/door/airlock/centcom{name = "Passageway"; opacity = 1; req_access = list(103)},/turf/simulated/floor/shuttle/darkred,/area/rescue_base/start)
"avN" = (/turf/simulated/shuttle/wall/corner/syndi/se,/area/rescue_base/start)
"avO" = (/obj/machinery/vending/medical,/turf/simulated/shuttle/wall{icon_state = "whiteship"; dir = 10},/area/shuttle/administration/centcom)
"avP" = (/obj/machinery/chemical_dispenser/ert,/obj/item/reagent_containers/vessel/beaker/large,/turf/simulated/floor/shuttle/white,/area/shuttle/administration/centcom)
"avQ" = (/obj/machinery/chem_master,/turf/simulated/floor/shuttle/white,/area/shuttle/administration/centcom)
"avR" = (/obj/machinery/chemical_dispenser/full,/obj/item/reagent_containers/vessel/beaker/large,/turf/simulated/floor/shuttle/white,/area/shuttle/administration/centcom)
-"avS" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "admin_shuttle"; pixel_x = -25; req_one_access = list(101); tag_door = "admin_shuttle_hatch"},/turf/simulated/floor/plating,/area/shuttle/administration/centcom)
+"avS" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{pixel_x = -25; frequency = 1380; req_one_access = list(101); id_tag = "admin_shuttle"; tag_door = "admin_shuttle_hatch"},/turf/simulated/floor/plating,/area/shuttle/administration/centcom)
"avT" = (/obj/machinery/light{dir = 4},/turf/simulated/floor/plating,/area/shuttle/administration/centcom)
"avU" = (/obj/item/device/multitool,/obj/item/reagent_containers/spray/cleaner,/obj/structure/table/reinforced,/turf/simulated/floor/shuttle/red,/area/shuttle/administration/centcom)
"avV" = (/obj/item/storage/toolbox/mechanical,/obj/structure/table/reinforced,/turf/simulated/floor/shuttle/red,/area/shuttle/administration/centcom)
"avW" = (/obj/structure/bed,/obj/item/bedsheet,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/living)
-"avX" = (/obj/structure/table/standard,/obj/item/card/id/centcom,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/living)
+"avX" = (/obj/structure/table/standard,/obj/item/card/id/centcom,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/centcom/living)
"avY" = (/obj/machinery/vending/dinnerware,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/living)
"avZ" = (/obj/structure/table/standard,/obj/item/reagent_containers/vessel/beaker,/obj/item/reagent_containers/vessel/condiment/enzyme,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/living)
"awa" = (/obj/structure/table/standard,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/living)
-"awb" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "admin_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access = list(101)},/turf/simulated/floor/plating,/area/shuttle/administration/centcom)
+"awb" = (/obj/machinery/door/airlock/external{name = "Shuttle Hatch"; icon_state = "door_locked"; frequency = 1380; locked = 1; req_access = list(101); id_tag = "admin_shuttle_hatch"},/turf/simulated/floor/plating,/area/shuttle/administration/centcom)
"awc" = (/turf/simulated/shuttle/wall{icon_state = "whiteship_t"; dir = 8},/area/supply/dock)
"awd" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"; dir = 10},/area/supply/dock)
"awe" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"; dir = 6},/area/supply/dock)
"awf" = (/turf/simulated/shuttle/wall{icon_state = "whiteship_t"; dir = 4},/area/supply/dock)
"awg" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/shuttle/darkred,/area/rescue_base/start)
"awh" = (/obj/machinery/light{dir = 4},/turf/simulated/floor/shuttle/darkred,/area/rescue_base/start)
-"awi" = (/turf/unsimulated/floor{icon_state = "grass0"; name = "grass"},/area/centcom/living)
+"awi" = (/turf/unsimulated/floor{name = "grass"; icon_state = "grass0"},/area/centcom/living)
"awj" = (/obj/machinery/door/airlock/centcom{name = "Living Quarters"; opacity = 1; req_access = list(105)},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/living)
"awk" = (/turf/simulated/shuttle/wall/corner/smoothwhite/sw,/area/supply/dock)
"awl" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"; dir = 5},/area/supply/dock)
"awm" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced/crescent{dir = 1},/turf/simulated/floor/plating/airless,/area/supply/dock)
"awn" = (/turf/simulated/shuttle/wall/corner/smoothwhite/se,/area/supply/dock)
"awo" = (/obj/structure/bed,/obj/item/bedsheet/orange,/turf/simulated/floor/shuttle/black,/area/rescue_base/start)
-"awp" = (/obj/machinery/flasher{id = "rescueflash"; pixel_y = 28},/turf/simulated/floor/shuttle/black,/area/rescue_base/start)
+"awp" = (/obj/machinery/flasher{pixel_y = 28; id = "rescueflash"},/turf/simulated/floor/shuttle/black,/area/rescue_base/start)
"awq" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/shuttle/black,/area/rescue_base/start)
"awr" = (/obj/machinery/door/airlock/centcom{name = "Storage"; opacity = 1; req_access = list(103)},/turf/simulated/floor/plating,/area/rescue_base/start)
"aws" = (/obj/machinery/door/airlock/centcom{name = "Infirmary"; opacity = 1; req_access = list(103)},/turf/simulated/floor/shuttle/white,/area/rescue_base/start)
@@ -1184,7 +979,7 @@
"awT" = (/obj/structure/table/rack,/obj/item/gun/projectile/automatic/z8,/obj/item/gun/projectile/automatic/z8,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
"awU" = (/obj/structure/table/rack,/obj/item/storage/box/flashbangs,/obj/item/storage/box/flashbangs,/obj/item/storage/box/emps,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/grenade/smokebomb,/obj/item/gun/launcher/grenade,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
"awV" = (/obj/item/aiModule/nanotrasen,/obj/item/aiModule/reset,/obj/item/aiModule/freeformcore,/obj/item/aiModule/protectStation,/obj/item/aiModule/quarantine,/obj/item/aiModule/paladin,/obj/item/aiModule/robocop,/obj/item/aiModule/safeguard,/obj/structure/table/rack,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
-"awW" = (/obj/machinery/door/blast/regular{id = "ert_synth_equipment"; name = "Synthetics Modification Equipment"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
+"awW" = (/obj/machinery/door/blast/regular{name = "Synthetics Modification Equipment"; id = "ert_synth_equipment"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
"awX" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
"awY" = (/obj/machinery/portable_atmospherics/canister/air,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
"awZ" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
@@ -1208,10 +1003,10 @@
"axt" = (/obj/machinery/bodyscanner{dir = 8},/turf/simulated/floor/shuttle/white,/area/rescue_base/start)
"axu" = (/obj/machinery/body_scanconsole{dir = 8},/turf/simulated/floor/shuttle/white,/area/rescue_base/start)
"axv" = (/obj/machinery/sleeper{dir = 8},/turf/simulated/floor/shuttle/white,/area/rescue_base/start)
-"axw" = (/obj/machinery/door/blast/regular{id = "ASSAULT"; name = "Assault Weapon Storage"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
+"axw" = (/obj/machinery/door/blast/regular{name = "Assault Weapon Storage"; id = "ASSAULT"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
"axx" = (/obj/structure/table/rack,/obj/item/circuitboard/borgupload,/obj/item/circuitboard/aiupload{pixel_x = -3; pixel_y = -3},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
"axy" = (/obj/structure/table/rack,/obj/item/storage/secure/briefcase,/obj/item/storage/fancy/cigarettes,/obj/item/flame/lighter/zippo,/obj/item/storage/belt/utility,/obj/item/storage/backpack/satchel,/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/creed)
-"axz" = (/obj/structure/table/woodentable{dir = 10},/obj/machinery/button/remote/blast_door{id = "CREED"; name = "Spec Ops Ready Room"; pixel_x = -5; pixel_y = 4; req_access = list(108)},/obj/machinery/button/remote/blast_door{icon_state = "doorctrl0"; id = "ASSAULT"; name = "Mech Storage"; pixel_y = -4; req_access = list(108)},/obj/machinery/button/remote/blast_door{id = "ert_synth_equipment"; name = "Synth Equipment"; pixel_x = 5; pixel_y = 4; req_access = list(108)},/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/creed)
+"axz" = (/obj/structure/table/woodentable{dir = 10},/obj/machinery/button/remote/blast_door{name = "Spec Ops Ready Room"; pixel_x = -5; pixel_y = 4; id = "CREED"; req_access = list(108)},/obj/machinery/button/remote/blast_door{name = "Mech Storage"; icon_state = "doorctrl0"; pixel_y = -4; id = "ASSAULT"; req_access = list(108)},/obj/machinery/button/remote/blast_door{name = "Synth Equipment"; pixel_x = 5; pixel_y = 4; id = "ert_synth_equipment"; req_access = list(108)},/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/creed)
"axA" = (/obj/machinery/turret/network/centcomm,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/creed)
"axB" = (/obj/machinery/door/airlock/centcom{name = "Creed's Office"; opacity = 1; req_access = list(108)},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/creed)
"axC" = (/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control)
@@ -1231,7 +1026,7 @@
"axQ" = (/obj/mecha/combat/gygax/dark,/obj/machinery/camera/network/ert{c_tag = "Assault Armor North"},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
"axR" = (/obj/item/device/radio/intercom/specops{pixel_y = 22},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
"axS" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 9},/area/centcom/specops)
-"axT" = (/obj/machinery/door/blast/regular{id = "ASSAULT"; name = "Assault Armor Storage"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
+"axT" = (/obj/machinery/door/blast/regular{name = "Assault Armor Storage"; id = "ASSAULT"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
"axU" = (/obj/machinery/vending/security,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
"axV" = (/obj/structure/closet/secure_closet/hos,/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/creed)
"axW" = (/obj/structure/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/creed)
@@ -1241,15 +1036,15 @@
"aya" = (/obj/structure/bed,/obj/item/bedsheet,/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 9},/turf/unsimulated/floor{icon_state = "carpet"},/area/centcom/control)
"ayb" = (/obj/structure/table/standard,/obj/effect/floor_decal/carpet{dir = 1},/turf/unsimulated/floor{icon_state = "carpet"},/area/centcom/control)
"ayc" = (/obj/structure/closet/secure_closet/security,/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 5},/turf/unsimulated/floor{icon_state = "carpet"},/area/centcom/control)
-"ayd" = (/obj/machinery/button/flasher{id = "rescueflash"; name = "Flasher"; pixel_x = 27},/obj/structure/bed/chair{dir = 8},/obj/machinery/light{dir = 4},/turf/simulated/floor/shuttle/red,/area/rescue_base/start)
+"ayd" = (/obj/machinery/button/flasher{name = "Flasher"; pixel_x = 27; id = "rescueflash"},/obj/structure/bed/chair{dir = 8},/obj/machinery/light{dir = 4},/turf/simulated/floor/shuttle/red,/area/rescue_base/start)
"aye" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/rescue_base/start)
"ayf" = (/obj/structure/table/rack,/obj/item/wrench,/turf/simulated/floor/plating,/area/rescue_base/start)
"ayg" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/sink{dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/closet/medical_wall{pixel_x = -32},/obj/item/reagent_containers/vessel/bottle/chemical/stoxin,/obj/item/reagent_containers/vessel/bottle/chemical/stoxin,/obj/item/reagent_containers/syringe,/obj/item/tank/anesthetic,/obj/item/clothing/mask/breath/medical,/turf/simulated/floor/shuttle/white,/area/rescue_base/start)
"ayh" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/gas_stand/anesthetic,/turf/simulated/floor/shuttle/white,/area/rescue_base/start)
"ayi" = (/obj/effect/landmark{name = "Marauder Exit"},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
"ayj" = (/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
-"ayk" = (/obj/machinery/door/blast/regular{id = "ASSAULT3"; name = "Launch Bay #3"},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
-"ayl" = (/obj/machinery/mass_driver{dir = 8; id = "ASSAULT3"; name = "gravpult"},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
+"ayk" = (/obj/machinery/door/blast/regular{name = "Launch Bay #3"; id = "ASSAULT3"},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
+"ayl" = (/obj/machinery/mass_driver{name = "gravpult"; dir = 8; id = "ASSAULT3"},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
"aym" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/weapon/energy/ion,/obj/item/mecha_parts/mecha_equipment/weapon/energy/taser,/obj/item/mecha_parts/mecha_equipment/armor_booster/anticcw_armor_booster,/obj/item/mecha_parts/mecha_equipment/armor_booster/antiproj_armor_booster,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
"ayn" = (/obj/structure/table/rack,/obj/item/gun/energy/gun,/obj/item/gun/energy/gun,/obj/item/gun/energy/gun,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
"ayo" = (/obj/machinery/vending/assist,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
@@ -1259,12 +1054,12 @@
"ays" = (/obj/machinery/power/emitter,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
"ayt" = (/obj/item/modular_computer/console/preset/command,/obj/item/card/id/centcom,/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/creed)
"ayu" = (/obj/structure/table/woodentable{dir = 5},/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/creed)
-"ayv" = (/obj/machinery/computer/pod{id = "NTrasen"; name = "Hull Door Control"},/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/creed)
+"ayv" = (/obj/machinery/computer/pod{name = "Hull Door Control"; id = "NTrasen"},/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/creed)
"ayw" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
"ayx" = (/obj/effect/floor_decal/corner/green/three_quarters,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
"ayy" = (/obj/machinery/telecomms/broadcaster/preset_cent,/obj/effect/floor_decal/corner/green{dir = 10},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
"ayz" = (/obj/machinery/telecomms/hub/preset_cent,/obj/effect/floor_decal/corner/green{dir = 10},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
-"ayA" = (/obj/machinery/computer/rdservercontrol{badmin = 1; name = "Master R&D Server Controller"},/obj/effect/floor_decal/corner/green{dir = 10},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
+"ayA" = (/obj/machinery/computer/rdservercontrol{name = "Master R&D Server Controller"; badmin = 1},/obj/effect/floor_decal/corner/green{dir = 10},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
"ayB" = (/obj/machinery/r_n_d/server/centcom,/obj/effect/floor_decal/corner/green{dir = 10},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
"ayC" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
"ayD" = (/obj/machinery/resleever,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/test)
@@ -1314,7 +1109,7 @@
"azv" = (/obj/structure/table/rack,/obj/item/rig/ert/assetprotection,/obj/item/rig/ert/assetprotection,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
"azw" = (/obj/structure/table/rack,/obj/item/rig_module/mounted,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
"azx" = (/obj/machinery/vending/engivend,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
-"azy" = (/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/steel{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/material/steel{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/material/steel{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/material/steel{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/material/plasteel{amount = 50},/obj/item/stack/material/plasteel{amount = 50},/obj/item/stack/material/plasteel{amount = 50},/obj/item/stack/material/plasteel{amount = 50},/obj/item/stack/material/glass/reinforced{amount = 50},/obj/item/stack/material/glass/reinforced{amount = 50},/obj/item/stack/material/glass/reinforced{amount = 50},/obj/item/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/structure/table/steel_reinforced,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"azy" = (/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/steel{pixel_x = 2; pixel_y = 2; amount = 50},/obj/item/stack/material/steel{pixel_x = 2; pixel_y = 2; amount = 50},/obj/item/stack/material/steel{pixel_x = 2; pixel_y = 2; amount = 50},/obj/item/stack/material/steel{pixel_x = 2; pixel_y = 2; amount = 50},/obj/item/stack/material/plasteel{amount = 50},/obj/item/stack/material/plasteel{amount = 50},/obj/item/stack/material/plasteel{amount = 50},/obj/item/stack/material/plasteel{amount = 50},/obj/item/stack/material/glass/reinforced{amount = 50},/obj/item/stack/material/glass/reinforced{amount = 50},/obj/item/stack/material/glass/reinforced{amount = 50},/obj/item/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/item/storage/briefcase/inflatable{pixel_x = 3; pixel_y = 3},/obj/structure/table/steel_reinforced,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
"azz" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
"azA" = (/obj/machinery/turret/network/centcomm,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
"azB" = (/obj/effect/wingrille_spawn/reinforced/crescent,/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
@@ -1331,10 +1126,10 @@
"azM" = (/obj/structure/bed,/obj/item/bedsheet,/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 5},/turf/unsimulated/floor{icon_state = "carpet"},/area/centcom/control)
"azN" = (/obj/structure/window/reinforced/crescent{dir = 1},/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 9},/turf/unsimulated/floor{icon_state = "carpet"},/area/centcom/control)
"azO" = (/obj/structure/window/reinforced/crescent{dir = 1},/obj/effect/floor_decal/carpet{dir = 1},/turf/unsimulated/floor{icon_state = "carpet"},/area/centcom/control)
-"azP" = (/obj/machinery/camera/network/thunder{c_tag = "Court"; pixel_x = 10; pixel_y = -6},/obj/structure/window/reinforced/crescent{dir = 1},/obj/effect/floor_decal/carpet{dir = 1},/turf/unsimulated/floor{icon_state = "carpet"},/area/centcom/control)
+"azP" = (/obj/machinery/camera/network/thunder{pixel_x = 10; pixel_y = -6; c_tag = "Court"},/obj/structure/window/reinforced/crescent{dir = 1},/obj/effect/floor_decal/carpet{dir = 1},/turf/unsimulated/floor{icon_state = "carpet"},/area/centcom/control)
"azQ" = (/obj/structure/window/reinforced/crescent{dir = 1},/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet{dir = 5},/turf/unsimulated/floor{icon_state = "carpet"},/area/centcom/control)
-"azR" = (/obj/machinery/door/blast/regular{id = "ASSAULT2"; name = "Launch Bay #2"},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
-"azS" = (/obj/machinery/mass_driver{dir = 8; id = "ASSAULT2"; name = "gravpult"},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
+"azR" = (/obj/machinery/door/blast/regular{name = "Launch Bay #2"; id = "ASSAULT2"},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
+"azS" = (/obj/machinery/mass_driver{name = "gravpult"; dir = 8; id = "ASSAULT2"},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
"azT" = (/obj/item/mecha_parts/mecha_equipment/teleporter,/obj/item/mecha_parts/mecha_tracking,/obj/item/mecha_parts/mecha_tracking,/obj/item/mecha_parts/mecha_tracking,/obj/item/mecha_parts/mecha_tracking,/obj/structure/table/steel_reinforced,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
"azU" = (/obj/machinery/vending/engineering,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
"azV" = (/obj/item/device/multitool,/obj/item/device/multitool,/obj/item/device/flash,/obj/item/device/flash,/obj/item/construction/rcd,/obj/item/construction/rcd,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/construction/rcd,/obj/item/construction/rcd,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/item/rcd_ammo,/obj/structure/table/steel_reinforced,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
@@ -1350,7 +1145,7 @@
"aAf" = (/obj/structure/table/woodentable,/obj/effect/floor_decal/carpet{dir = 8},/turf/unsimulated/floor{icon_state = "carpet"},/area/centcom/control)
"aAg" = (/obj/structure/table/woodentable,/turf/unsimulated/floor{icon_state = "carpet"},/area/centcom/control)
"aAh" = (/obj/structure/table/woodentable,/obj/effect/floor_decal/carpet{dir = 4},/turf/unsimulated/floor{icon_state = "carpet"},/area/centcom/control)
-"aAi" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_throwdown"; tiles = 0},/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_throwdown"; tiles = 0},/obj/effect/step_trigger/teleporter/random/admin,/turf/space,/area/space)
+"aAi" = (/obj/effect/step_trigger/thrower{name = "thrower_throwdown"; tiles = 0; affect_ghosts = 1},/obj/effect/step_trigger/thrower{name = "thrower_throwdown"; tiles = 0; affect_ghosts = 1},/obj/effect/step_trigger/teleporter/random/admin,/turf/space,/area/space)
"aAj" = (/obj/mecha/working/ripley/firefighter,/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
"aAk" = (/obj/item/mecha_parts/mecha_equipment/tool/extinguisher,/obj/item/mecha_parts/mecha_equipment/tool/rcd,/obj/item/pickaxe/drill/diamonddrill,/obj/structure/table/steel_reinforced,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
"aAl" = (/obj/structure/table/reinforced,/obj/item/storage/box/flashbangs,/obj/item/handcuffs,/obj/item/device/flash,/obj/item/melee/baton/loaded,/obj/item/storage/belt/security/tactical,/obj/item/gun/energy/stunrevolver,/obj/item/clothing/glasses/tacgoggles,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
@@ -1362,15 +1157,14 @@
"aAr" = (/obj/machinery/door/airlock/centcom{name = "Special Operations"; opacity = 1; req_access = list(103)},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
"aAs" = (/obj/structure/table/reinforced,/obj/machinery/recharger{pixel_y = 4},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
"aAt" = (/obj/structure/window/reinforced/crescent{dir = 8},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
-"aAu" = (/obj/item/device/radio/intercom/specops{pixel_y = 22},/mob/living/silicon/decoy{name = "A.L.I.C.E."},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
"aAv" = (/obj/structure/window/reinforced/crescent{dir = 4},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
"aAw" = (/obj/structure/bed/chair{dir = 4},/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 10},/turf/unsimulated/floor{icon_state = "carpet"},/area/centcom/control)
"aAx" = (/obj/structure/table/standard,/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 6},/turf/unsimulated/floor{icon_state = "carpet"},/area/centcom/control)
"aAy" = (/obj/structure/bed/chair{dir = 1},/obj/effect/floor_decal/carpet{dir = 8},/turf/unsimulated/floor{icon_state = "carpet"},/area/centcom/control)
"aAz" = (/obj/structure/bed/chair{dir = 1},/turf/unsimulated/floor{icon_state = "carpet"},/area/centcom/control)
"aAA" = (/obj/structure/bed/chair{dir = 1},/obj/effect/floor_decal/carpet{dir = 4},/turf/unsimulated/floor{icon_state = "carpet"},/area/centcom/control)
-"aAB" = (/obj/machinery/door/blast/regular{id = "ASSAULT1"; name = "Launch Bay #1"},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
-"aAC" = (/obj/machinery/mass_driver{dir = 8; id = "ASSAULT1"; name = "gravpult"},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
+"aAB" = (/obj/machinery/door/blast/regular{name = "Launch Bay #1"; id = "ASSAULT1"},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
+"aAC" = (/obj/machinery/mass_driver{name = "gravpult"; dir = 8; id = "ASSAULT1"},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
"aAD" = (/obj/item/mecha_parts/mecha_equipment/tool/drill/diamonddrill,/obj/item/mecha_parts/mecha_equipment/tool/cable_layer,/obj/structure/table/steel_reinforced,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
"aAE" = (/obj/structure/table/rack,/obj/item/storage/backpack/ert/commander,/obj/item/clothing/suit/armor/vest/ert,/obj/item/clothing/head/helmet/ert,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
"aAF" = (/obj/structure/table/rack,/obj/item/rig/ert/assetprotection,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
@@ -1382,7 +1176,7 @@
"aAL" = (/obj/effect/floor_decal/corner/green{dir = 4},/obj/effect/floor_decal/industrial/warning/corner,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
"aAM" = (/obj/structure/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
"aAN" = (/obj/structure/window/reinforced/crescent{dir = 8},/obj/structure/window/reinforced/crescent,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
-"aAO" = (/obj/machinery/door/window{dir = 2; name = "AI Core Door"; req_access = list(109)},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
+"aAO" = (/obj/machinery/door/window{name = "AI Core Door"; dir = 2; req_access = list(109)},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
"aAP" = (/obj/structure/window/reinforced/crescent{dir = 4},/obj/structure/window/reinforced/crescent,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
"aAQ" = (/obj/structure/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
"aAR" = (/obj/machinery/computer/crew,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
@@ -1399,9 +1193,9 @@
"aBc" = (/obj/structure/table/rack,/obj/item/rig_module/mounted/taser,/obj/item/rig_module/mounted/taser,/obj/item/rig_module/mounted/taser,/obj/item/rig_module/maneuvering_jets,/obj/item/rig_module/maneuvering_jets,/obj/item/rig_module/grenade_launcher,/obj/item/rig_module/device/drill,/obj/item/rig_module/device/drill,/obj/item/rig_module/device/healthscanner,/obj/item/rig_module/device/healthscanner,/obj/item/rig_module/device/rcd,/obj/item/rig_module/device/rcd,/obj/item/rig_module/chem_dispenser/injector,/obj/item/rig_module/chem_dispenser/injector,/obj/item/rig_module/chem_dispenser/combat,/obj/item/rig_module/chem_dispenser/combat,/obj/item/rig_module/mounted/egun,/obj/item/rig_module/mounted/egun,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
"aBd" = (/obj/machinery/door/airlock/centcom{name = "Armory Special Operations"; opacity = 1; req_access = list(103)},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
"aBe" = (/obj/machinery/door/airlock/centcom{name = "Engineering Special Operations"; opacity = 1; req_access = list(103)},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
-"aBf" = (/obj/machinery/door/blast/regular{id = "CREED"; name = "Ready Room"},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/specops)
+"aBf" = (/obj/machinery/door/blast/regular{name = "Ready Room"; id = "CREED"},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/specops)
"aBg" = (/obj/effect/floor_decal/industrial/outline/yellow,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/specops)
-"aBh" = (/obj/machinery/door/airlock/centcom{name = "Special Operations"; opacity = 1; req_access = list(103)},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{id = "CREED"; name = "Ready Room"},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/specops)
+"aBh" = (/obj/machinery/door/airlock/centcom{name = "Special Operations"; opacity = 1; req_access = list(103)},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/blast/regular{name = "Ready Room"; id = "CREED"},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/specops)
"aBi" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
"aBj" = (/obj/machinery/door/airlock/centcom{name = "Bridge"; opacity = 1; req_access = list(109)},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
"aBk" = (/obj/structure/bed/chair,/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
@@ -1411,9 +1205,9 @@
"aBo" = (/obj/structure/table/woodentable,/obj/structure/window/reinforced/crescent{dir = 8},/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 10},/turf/unsimulated/floor{icon_state = "carpet"},/area/centcom/control)
"aBp" = (/obj/structure/bed/chair{dir = 8},/obj/effect/floor_decal/carpet,/turf/unsimulated/floor{icon_state = "carpet"},/area/centcom/control)
"aBq" = (/obj/structure/bed/chair{dir = 8},/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 6},/turf/unsimulated/floor{icon_state = "carpet"},/area/centcom/control)
-"aBr" = (/obj/machinery/door/blast/regular{id = "ASSAULT0"; name = "Launch Bay #0"},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
-"aBs" = (/obj/machinery/mass_driver{dir = 8; id = "ASSAULT0"; name = "gravpult"},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
-"aBt" = (/obj/machinery/camera/network/ert{c_tag = "Assault Armor South"; dir = 1},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
+"aBr" = (/obj/machinery/door/blast/regular{name = "Launch Bay #0"; id = "ASSAULT0"},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
+"aBs" = (/obj/machinery/mass_driver{name = "gravpult"; dir = 8; id = "ASSAULT0"},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
+"aBt" = (/obj/machinery/camera/network/ert{dir = 1; c_tag = "Assault Armor South"},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops)
"aBu" = (/obj/machinery/door/airlock/centcom{name = "Special Operations Command"; opacity = 1; req_access = list(103)},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
"aBv" = (/obj/structure/sign/warning/secure_area/armory{pixel_y = 32},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
"aBw" = (/obj/structure/sign/warning/engineering_access{pixel_y = 32},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
@@ -1436,7 +1230,7 @@
"aBN" = (/obj/machinery/computer/arcade,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
"aBO" = (/obj/structure/undies_wardrobe,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
"aBP" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
-"aBQ" = (/obj/machinery/button/remote/blast_door{id = "crescent_checkpoint_access"; name = "Crescent Checkpoint Access"; pixel_x = -6; pixel_y = -24; req_access = list(101)},/obj/machinery/button/remote/blast_door{id = "crescent_thunderdome"; name = "Thunderdome Access"; pixel_x = 6; pixel_y = -24; req_access = list(101)},/obj/machinery/button/remote/blast_door{id = "crescent_vip_shuttle"; name = "VIP Shuttle Access"; pixel_x = 6; pixel_y = -34; req_access = list(101)},/obj/machinery/button/remote/blast_door{id = "CREED"; name = "Spec Ops Ready Room"; pixel_x = -6; pixel_y = -34; req_access = list(108)},/obj/machinery/turret_control_panel/centcomm{pixel_x = 28; pixel_y = -28},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
+"aBQ" = (/obj/machinery/button/remote/blast_door{name = "Crescent Checkpoint Access"; pixel_x = -6; pixel_y = -24; id = "crescent_checkpoint_access"; req_access = list(101)},/obj/machinery/button/remote/blast_door{name = "Thunderdome Access"; pixel_x = 6; pixel_y = -24; id = "crescent_thunderdome"; req_access = list(101)},/obj/machinery/button/remote/blast_door{name = "VIP Shuttle Access"; pixel_x = 6; pixel_y = -34; id = "crescent_vip_shuttle"; req_access = list(101)},/obj/machinery/button/remote/blast_door{name = "Spec Ops Ready Room"; pixel_x = -6; pixel_y = -34; id = "CREED"; req_access = list(108)},/obj/machinery/turret_control_panel/centcomm{pixel_x = 28; pixel_y = -28},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
"aBR" = (/obj/structure/table/reinforced,/obj/item/card/id/captains_spare,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
"aBS" = (/obj/effect/wingrille_spawn/reinforced/crescent,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
"aBT" = (/obj/machinery/door/airlock/centcom{name = "Courthouse"; opacity = 1},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/control)
@@ -1445,7 +1239,7 @@
"aBW" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control)
"aBX" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp,/obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp,/obj/item/mecha_parts/mecha_equipment/tool/passenger,/obj/item/mecha_parts/mecha_equipment/tool/passenger,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
"aBY" = (/obj/machinery/door/airlock/centcom{name = "Medical Special Operations"; opacity = 1; req_access = list(103)},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
-"aBZ" = (/obj/machinery/autolathe{desc = "Your typical Autolathe. It appears to have much more options than your regular one, however..."; hacked = 1; name = "Unlocked Autolathe"},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
+"aBZ" = (/obj/machinery/autolathe{name = "Unlocked Autolathe"; desc = "Your typical Autolathe. It appears to have much more options than your regular one, however..."; hacked = 1},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
"aCa" = (/obj/structure/table/reinforced,/obj/item/storage/box/donut,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
"aCb" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
"aCc" = (/obj/structure/table/reinforced,/obj/item/crowbar,/obj/item/screwdriver,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
@@ -1471,9 +1265,9 @@
"aCw" = (/obj/structure/table/reinforced,/obj/item/stamp/centcomm,/obj/item/pen,/obj/item/paper_bin{pixel_x = 1; pixel_y = 9},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
"aCx" = (/obj/structure/table/reinforced,/obj/item/device/paicard,/obj/item/device/paicard,/obj/item/device/paicard,/obj/item/device/paicard,/obj/item/device/paicard,/obj/item/device/paicard,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
"aCy" = (/obj/effect/landmark/start/antags/deathsquad,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
-"aCz" = (/obj/structure/closet{icon_closed = "syndicate1"; icon_opened = "syndicate1open"; icon_state = "syndicate1"; name = "emergency response team wardrobe"},/obj/item/clothing/under/ert,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/under/rank/centcom/officer,/obj/item/clothing/accessory/holochip/deathsquad,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
+"aCz" = (/obj/structure/closet{name = "emergency response team wardrobe"; icon_state = "syndicate1"; icon_closed = "syndicate1"; icon_opened = "syndicate1open"},/obj/item/clothing/under/ert,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/under/rank/centcom/officer,/obj/item/clothing/accessory/holochip/deathsquad,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
"aCA" = (/obj/structure/sink{dir = 4; pixel_x = 11},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
-"aCB" = (/obj/structure/table/woodentable,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/control)
+"aCB" = (/obj/structure/table/woodentable,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/centcom/control)
"aCC" = (/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet{dir = 8},/turf/unsimulated/floor{icon_state = "carpet"},/area/centcom/control)
"aCD" = (/obj/structure/table/standard,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/control)
"aCE" = (/obj/structure/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control)
@@ -1487,10 +1281,10 @@
"aCM" = (/obj/effect/floor_decal/corner/green{dir = 5},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
"aCN" = (/obj/effect/floor_decal/corner/green{dir = 1},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
"aCO" = (/obj/structure/closet/secure_closet/injection,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/control)
-"aCP" = (/obj/structure/bed/chair{dir = 1},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/control)
+"aCP" = (/obj/structure/bed/chair{dir = 1},/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/centcom/control)
"aCQ" = (/obj/structure/table/reinforced,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops)
-"aCR" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "deathsquad_centcom_dock"; name = "docking port controller"; pixel_y = -25; req_one_access = list(103); tag_door = "deathsquad_centcom_dock_door"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
-"aCS" = (/obj/machinery/door/airlock/centcom{name = "Holding Cell"; opacity = 1; req_access = list(101)},/obj/machinery/door/blast/regular{id = "crescent_checkpoint_access"; name = "Crescent Checkpoint"},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
+"aCR" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{name = "docking port controller"; pixel_y = -25; frequency = 1380; req_one_access = list(103); id_tag = "deathsquad_centcom_dock"; tag_door = "deathsquad_centcom_dock_door"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
+"aCS" = (/obj/machinery/door/airlock/centcom{name = "Holding Cell"; opacity = 1; req_access = list(101)},/obj/machinery/door/blast/regular{name = "Crescent Checkpoint"; id = "crescent_checkpoint_access"},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
"aCT" = (/obj/structure/table/standard,/obj/item/device/assembly/signaler,/obj/item/handcuffs,/obj/item/melee/classic_baton,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/control)
"aCU" = (/obj/structure/closet/secure_closet/courtroom,/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet{dir = 1},/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 10},/obj/effect/floor_decal/carpet{dir = 9},/turf/unsimulated/floor{icon_state = "carpet"},/area/centcom/control)
"aCV" = (/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 6},/obj/effect/floor_decal/carpet/corners{dir = 9},/turf/unsimulated/floor{icon_state = "carpet"},/area/centcom/control)
@@ -1512,9 +1306,9 @@
"aDl" = (/obj/item/stool/padded,/obj/effect/floor_decal/corner/red{dir = 6},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/holding)
"aDm" = (/turf/unsimulated/wall,/area/centcom/holding)
"aDn" = (/obj/structure/sign/warning/lethal_turrets,/turf/unsimulated/wall,/area/centcom/control)
-"aDo" = (/obj/machinery/door/airlock/centcom{name = "General Access"; opacity = 1; req_access = list(101)},/obj/machinery/door/blast/regular{id = "crescent_checkpoint_access"; name = "Crescent Checkpoint"},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
-"aDp" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_throwdown"; tiles = 0},/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_throwdown"; tiles = 0},/obj/effect/step_trigger/teleporter/random/admin,/obj/effect/step_trigger/teleporter/random/admin,/turf/space,/area/space)
-"aDq" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "deathsquad_centcom_dock_door"; locked = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
+"aDo" = (/obj/machinery/door/airlock/centcom{name = "General Access"; opacity = 1; req_access = list(101)},/obj/machinery/door/blast/regular{name = "Crescent Checkpoint"; id = "crescent_checkpoint_access"},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
+"aDp" = (/obj/effect/step_trigger/thrower{name = "thrower_throwdown"; tiles = 0; affect_ghosts = 1},/obj/effect/step_trigger/thrower{name = "thrower_throwdown"; tiles = 0; affect_ghosts = 1},/obj/effect/step_trigger/teleporter/random/admin,/obj/effect/step_trigger/teleporter/random/admin,/turf/space,/area/space)
+"aDq" = (/obj/machinery/door/airlock/external{icon_state = "door_locked"; frequency = 1380; locked = 1; id_tag = "deathsquad_centcom_dock_door"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
"aDr" = (/obj/machinery/vending/cola{prices = list()},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
"aDs" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/centcom/holding)
"aDt" = (/obj/effect/floor_decal/corner/green/three_quarters{dir = 8},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/holding)
@@ -1524,8 +1318,8 @@
"aDx" = (/obj/effect/floor_decal/corner/green/three_quarters{dir = 1},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/holding)
"aDy" = (/obj/structure/bed/chair{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control)
"aDz" = (/obj/structure/shuttle/engine/propulsion{icon_state = "burst_l"; dir = 8},/turf/space,/area/shuttle/deathsquad/centcom)
-"aDA" = (/turf/simulated/shuttle/wall/syndi{dir = 4; icon_state = "syndiwall"},/area/shuttle/deathsquad/centcom)
-"aDB" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "deathsquad_shuttle_port_hatch"; locked = 1; name = "Port Docking Hatch"; req_access = list(103)},/turf/unsimulated/floor{icon_state = "dark"},/area/shuttle/deathsquad/centcom)
+"aDA" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 4},/area/shuttle/deathsquad/centcom)
+"aDB" = (/obj/machinery/door/airlock/external{name = "Port Docking Hatch"; icon_state = "door_locked"; frequency = 1380; locked = 1; req_access = list(103); id_tag = "deathsquad_shuttle_port_hatch"},/turf/unsimulated/floor{icon_state = "dark"},/area/shuttle/deathsquad/centcom)
"aDC" = (/turf/simulated/shuttle/wall/corner/syndi/ne,/area/shuttle/deathsquad/centcom)
"aDD" = (/obj/machinery/vending/cigarette{name = "cigarette machine"; prices = list()},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops)
"aDE" = (/obj/effect/floor_decal/corner/green{dir = 9},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/holding)
@@ -1541,15 +1335,15 @@
"aDO" = (/obj/structure/shuttle/engine/heater{dir = 8},/obj/structure/window/reinforced/crescent{dir = 4},/turf/simulated/floor/plating/airless,/area/shuttle/deathsquad/centcom)
"aDP" = (/obj/machinery/computer/shuttle_control/specops,/turf/simulated/floor/shuttle/red,/area/shuttle/deathsquad/centcom)
"aDQ" = (/obj/structure/bed/chair,/turf/simulated/floor/shuttle/red,/area/shuttle/deathsquad/centcom)
-"aDR" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "deathsquad_shuttle_port"; name = "port docking hatch controller"; pixel_y = 25; tag_door = "deathsquad_shuttle_port_hatch"},/obj/structure/bed/chair,/turf/simulated/floor/shuttle/red,/area/shuttle/deathsquad/centcom)
+"aDR" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{name = "port docking hatch controller"; pixel_y = 25; frequency = 1380; id_tag = "deathsquad_shuttle_port"; tag_door = "deathsquad_shuttle_port_hatch"},/obj/structure/bed/chair,/turf/simulated/floor/shuttle/red,/area/shuttle/deathsquad/centcom)
"aDS" = (/turf/simulated/floor/shuttle/red,/area/shuttle/deathsquad/centcom)
"aDT" = (/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = 32},/turf/simulated/floor/shuttle/red,/area/shuttle/deathsquad/centcom)
-"aDU" = (/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = 32},/obj/machinery/vending/wallmed1{layer = 3.3; name = "Emergency NanoMed"; pixel_x = 28},/obj/machinery/light/small/readylight{dir = 4},/turf/simulated/floor/shuttle/red,/area/shuttle/deathsquad/centcom)
-"aDV" = (/obj/machinery/door/airlock/centcom{name = "Special Operations"; opacity = 1; req_access = list(103)},/obj/machinery/door/blast/regular{id = "CREED"; name = "Ready Room"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
-"aDW" = (/obj/machinery/camera/network/crescent{c_tag = "Crescent Arrivals - Holding Cell"; dir = 4},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/centcom/holding)
+"aDU" = (/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = 32},/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; layer = 3.3; pixel_x = 28},/obj/machinery/light/small/readylight{dir = 4},/turf/simulated/floor/shuttle/red,/area/shuttle/deathsquad/centcom)
+"aDV" = (/obj/machinery/door/airlock/centcom{name = "Special Operations"; opacity = 1; req_access = list(103)},/obj/machinery/door/blast/regular{name = "Ready Room"; id = "CREED"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops)
+"aDW" = (/obj/machinery/camera/network/crescent{dir = 4; c_tag = "Crescent Arrivals - Holding Cell"},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/centcom/holding)
"aDX" = (/obj/machinery/door/airlock/glass_security{name = "Holding Cell"; req_access = list(2)},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/holding)
"aDY" = (/obj/effect/wingrille_spawn/reinforced/crescent,/turf/unsimulated/floor{name = "plating"},/area/centcom/holding)
-"aDZ" = (/obj/machinery/door/blast/regular{id = "CentComPort"; name = "Security Doors"},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/holding)
+"aDZ" = (/obj/machinery/door/blast/regular{name = "Security Doors"; id = "CentComPort"},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/holding)
"aEa" = (/obj/machinery/door/airlock/centcom{name = "Arrivals Processing"; opacity = 1; req_access = list(101)},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/holding)
"aEb" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"; dir = 9},/area/shuttle/escape/centcom)
"aEc" = (/turf/simulated/floor/shuttle/white,/area/shuttle/escape/centcom)
@@ -1560,7 +1354,7 @@
"aEh" = (/obj/structure/bed/chair{dir = 4},/obj/effect/shuttle_landmark/deathsquad/centcom,/turf/simulated/floor/shuttle/red,/area/shuttle/deathsquad/centcom)
"aEi" = (/obj/structure/bed,/obj/item/bedsheet/red,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/centcom/holding)
"aEj" = (/obj/effect/floor_decal/corner/red{dir = 6},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/holding)
-"aEk" = (/obj/machinery/door/window/northleft{base_state = "right"; dir = 8; icon_state = "right"; name = "Arrivals Processing"; req_access = list(101)},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/holding)
+"aEk" = (/obj/machinery/door/window/northleft{name = "Arrivals Processing"; icon_state = "right"; dir = 8; req_access = list(101); base_state = "right"},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/holding)
"aEl" = (/obj/item/modular_computer/console/preset/command,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/holding)
"aEm" = (/obj/structure/table/standard,/obj/item/storage/firstaid/fire,/obj/machinery/camera/network/crescent{c_tag = "Shuttle Bridge West"},/obj/item/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/extinguisher,/turf/simulated/floor/shuttle/blue,/area/shuttle/escape/centcom)
"aEn" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/floor/shuttle/blue,/area/shuttle/escape/centcom)
@@ -1572,21 +1366,21 @@
"aEt" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/light/small/readylight,/turf/simulated/floor/shuttle/red,/area/shuttle/deathsquad/centcom)
"aEu" = (/turf/simulated/shuttle/wall/corner/syndi/se,/area/shuttle/deathsquad/centcom)
"aEv" = (/obj/structure/window/reinforced/crescent{dir = 8},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/holding)
-"aEw" = (/obj/structure/bed/chair/office/dark,/obj/machinery/button/remote/blast_door{desc = "A remote control switch for port-side blast doors."; id = "CentComPort"; name = "Security Doors"; pixel_x = -12; pixel_y = -25; req_access = list(101)},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/holding)
-"aEx" = (/obj/machinery/camera/network/crescent{c_tag = "Crescent Arrivals North"; dir = 8},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/holding)
-"aEy" = (/obj/structure/flora/ausbushes/brflowers,/turf/unsimulated/floor{icon_state = "grass0"; name = "grass"},/area/centcom/holding)
-"aEz" = (/obj/structure/flora/ausbushes/sunnybush,/turf/unsimulated/floor{icon_state = "grass0"; name = "grass"},/area/centcom/holding)
-"aEA" = (/obj/structure/flora/ausbushes/ppflowers,/turf/unsimulated/floor{icon_state = "grass0"; name = "grass"},/area/centcom/holding)
-"aEB" = (/obj/structure/flora/ausbushes/lavendergrass,/turf/unsimulated/floor{icon_state = "grass0"; name = "grass"},/area/centcom/holding)
-"aEC" = (/obj/structure/flora/ausbushes/ywflowers,/turf/unsimulated/floor{icon_state = "grass0"; name = "grass"},/area/centcom/holding)
-"aED" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "escape_shuttle"; pixel_y = -25; req_one_access = list(13); tag_door = "escape_shuttle_hatch"},/obj/machinery/light,/turf/simulated/floor/shuttle/blue,/area/shuttle/escape/centcom)
+"aEw" = (/obj/structure/bed/chair/office/dark,/obj/machinery/button/remote/blast_door{name = "Security Doors"; desc = "A remote control switch for port-side blast doors."; pixel_x = -12; pixel_y = -25; id = "CentComPort"; req_access = list(101)},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/holding)
+"aEx" = (/obj/machinery/camera/network/crescent{dir = 8; c_tag = "Crescent Arrivals North"},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/holding)
+"aEy" = (/obj/structure/flora/ausbushes/brflowers,/turf/unsimulated/floor{name = "grass"; icon_state = "grass0"},/area/centcom/holding)
+"aEz" = (/obj/structure/flora/ausbushes/sunnybush,/turf/unsimulated/floor{name = "grass"; icon_state = "grass0"},/area/centcom/holding)
+"aEA" = (/obj/structure/flora/ausbushes/ppflowers,/turf/unsimulated/floor{name = "grass"; icon_state = "grass0"},/area/centcom/holding)
+"aEB" = (/obj/structure/flora/ausbushes/lavendergrass,/turf/unsimulated/floor{name = "grass"; icon_state = "grass0"},/area/centcom/holding)
+"aEC" = (/obj/structure/flora/ausbushes/ywflowers,/turf/unsimulated/floor{name = "grass"; icon_state = "grass0"},/area/centcom/holding)
+"aED" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{pixel_y = -25; frequency = 1380; req_one_access = list(13); id_tag = "escape_shuttle"; tag_door = "escape_shuttle_hatch"},/obj/machinery/light,/turf/simulated/floor/shuttle/blue,/area/shuttle/escape/centcom)
"aEE" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/shuttle/blue,/area/shuttle/escape/centcom)
"aEF" = (/obj/machinery/light,/obj/item/device/radio/intercom{dir = 1; pixel_y = -22},/turf/simulated/floor/shuttle/blue,/area/shuttle/escape/centcom)
"aEG" = (/obj/structure/shuttle/engine/propulsion{icon_state = "burst_r"; dir = 8},/turf/space,/area/shuttle/deathsquad/centcom)
"aEH" = (/obj/structure/table/reinforced,/obj/effect/floor_decal/corner/red{dir = 9},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/holding)
"aEI" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/holding)
"aEJ" = (/obj/structure/table/reinforced,/obj/effect/floor_decal/corner/red{dir = 6},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/holding)
-"aEK" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "CentComPort"; name = "Security Doors"; opacity = 0},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/holding)
+"aEK" = (/obj/machinery/door/blast/regular{name = "Security Doors"; icon_state = "pdoor0"; opacity = 0; density = 0; id = "CentComPort"},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/holding)
"aEL" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced/crescent{dir = 8},/obj/structure/window/reinforced/crescent,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/holding)
"aEM" = (/obj/structure/table/reinforced,/obj/item/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/pen,/obj/machinery/door/window/southright{name = "Arrivals Processing"; req_access = list(101)},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/holding)
"aEN" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"; dir = 1},/area/shuttle/escape/centcom)
@@ -1635,9 +1429,9 @@
"aFE" = (/obj/effect/shuttle_landmark/escape_pod/out/pod3,/turf/space,/area/shuttle/escape_pod3/centcom)
"aFG" = (/obj/machinery/light{dir = 8},/obj/effect/floor_decal/corner/green{dir = 9},/turf/simulated/floor/tiled,/area/shuttle/merchant/home)
"aFH" = (/obj/effect/floor_decal/corner/green{dir = 6},/obj/structure/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/holding)
-"aFI" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "centcom_dock_airlock"; locked = 1; name = "Arrivals Airlock"; req_access = list(13)},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/holding)
+"aFI" = (/obj/machinery/door/airlock/external{name = "Arrivals Airlock"; icon_state = "door_locked"; frequency = 1380; locked = 1; req_access = list(13); id_tag = "centcom_dock_airlock"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/holding)
"aFJ" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/holding)
-"aFK" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access = list(13)},/obj/machinery/mech_sensor{dir = 8; frequency = 1380; id_tag = "shuttle_dock_security_mech"; pixel_y = -19},/turf/simulated/floor/shuttle/red,/area/shuttle/escape/centcom)
+"aFK" = (/obj/machinery/door/airlock/external{name = "Shuttle Hatch"; icon_state = "door_locked"; frequency = 1380; locked = 1; req_access = list(13); id_tag = "escape_shuttle_hatch"},/obj/machinery/mech_sensor{dir = 8; pixel_y = -19; frequency = 1380; id_tag = "shuttle_dock_security_mech"},/turf/simulated/floor/shuttle/red,/area/shuttle/escape/centcom)
"aFL" = (/turf/simulated/floor/shuttle/red,/area/shuttle/escape/centcom)
"aFM" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/shuttle/red,/area/shuttle/escape/centcom)
"aFN" = (/obj/machinery/door/airlock/glass_security{name = "Escape Shuttle Cell"; req_access = list(1)},/turf/simulated/floor/shuttle/red,/area/shuttle/escape/centcom)
@@ -1659,10 +1453,10 @@
"aGd" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_t"},/area/syndicate_station/start)
"aGe" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/light{dir = 4},/turf/simulated/floor/shuttle/white,/area/shuttle/escape/centcom)
"aGf" = (/obj/effect/floor_decal/industrial/outline/grey,/obj/structure/largecrate,/obj/random/loot,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/tiled/dark,/area/merchant_station)
-"aGg" = (/obj/structure/bookcase{name = "Forbidden Knowledge"},/obj/effect/decal/cleanable/cobweb,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"aGh" = (/obj/structure/bookcase{name = "Forbidden Knowledge"},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"aGi" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"aGj" = (/obj/structure/table/woodentable,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
+"aGg" = (/obj/structure/bookcase{name = "Forbidden Knowledge"},/obj/effect/decal/cleanable/cobweb,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"aGh" = (/obj/structure/bookcase{name = "Forbidden Knowledge"},/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"aGi" = (/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"aGj" = (/obj/structure/table/woodentable,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
"aGk" = (/obj/structure/table/woodentable,/obj/effect/landmark{name = "Teleport-Scroll"},/turf/simulated/floor/trim/carpet,/area/wizard_station)
"aGl" = (/obj/structure/table/woodentable,/turf/simulated/floor/trim/carpet,/area/wizard_station)
"aGm" = (/obj/structure/bed/chair{dir = 8},/obj/effect/floor_decal/corner/green{dir = 4},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/holding)
@@ -1699,35 +1493,35 @@
"aGS" = (/turf/unsimulated/floor{icon_state = "carpet"},/area/centcom/holding)
"aGT" = (/obj/effect/floor_decal/carpet{dir = 4},/turf/unsimulated/floor{icon_state = "carpet"},/area/centcom/holding)
"aGU" = (/obj/machinery/door/airlock/glass{name = "Arrivals Bar"},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/holding)
-"aGV" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access = list(13)},/obj/machinery/mech_sensor{dir = 8; frequency = 1380; id_tag = "shuttle_dock_north_mech"; pixel_y = -19},/turf/simulated/floor/shuttle/blue,/area/shuttle/escape/centcom)
-"aGW" = (/turf/simulated/shuttle/wall/syndi{dir = 8; icon_state = "syndiwall_straight"},/area/syndicate_mothership/elite_squad)
+"aGV" = (/obj/machinery/door/airlock/external{name = "Shuttle Hatch"; icon_state = "door_locked"; frequency = 1380; locked = 1; req_access = list(13); id_tag = "escape_shuttle_hatch"},/obj/machinery/mech_sensor{dir = 8; pixel_y = -19; frequency = 1380; id_tag = "shuttle_dock_north_mech"},/turf/simulated/floor/shuttle/blue,/area/shuttle/escape/centcom)
+"aGW" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_straight"; dir = 8},/area/syndicate_mothership/elite_squad)
"aGX" = (/turf/simulated/mineral,/area/skipjack_station/base)
"aGY" = (/obj/effect/landmark/start/antags/vox,/obj/effect/decal/cleanable/dirt,/turf/unsimulated/floor{icon_state = "dark"},/area/skipjack_station/base)
"aGZ" = (/turf/unsimulated/floor{icon_state = "dark"},/area/skipjack_station/base)
-"aHa" = (/obj/structure/table/standard,/obj/effect/decal/cleanable/cobweb2,/obj/effect/decal/cleanable/cobweb2{icon_state = "spiderling"; name = "dead spider"},/obj/random/junk,/turf/unsimulated/floor{icon_state = "dark"},/area/skipjack_station/base)
+"aHa" = (/obj/structure/table/standard,/obj/effect/decal/cleanable/cobweb2,/obj/effect/decal/cleanable/cobweb2{name = "dead spider"; icon_state = "spiderling"},/obj/random/junk,/turf/unsimulated/floor{icon_state = "dark"},/area/skipjack_station/base)
"aHb" = (/obj/structure/bed/chair/comfy/brown{dir = 1},/obj/effect/floor_decal/carpet{dir = 8},/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 10},/turf/unsimulated/floor{icon_state = "carpet"},/area/centcom/holding)
"aHc" = (/obj/structure/bed/chair/comfy/brown{dir = 1},/obj/effect/floor_decal/carpet,/turf/unsimulated/floor{icon_state = "carpet"},/area/centcom/holding)
"aHd" = (/obj/structure/bed/chair/comfy/brown{dir = 1},/obj/effect/floor_decal/carpet{dir = 4},/obj/effect/floor_decal/carpet,/obj/effect/floor_decal/carpet{dir = 6},/turf/unsimulated/floor{icon_state = "carpet"},/area/centcom/holding)
"aHe" = (/obj/structure/bed/chair{dir = 8},/obj/effect/floor_decal/corner/green,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/holding)
-"aHf" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "centcom_dock"; name = "docking port controller"; pixel_x = 25; req_one_access = list(13); tag_door = "centcom_dock_airlock"},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/holding)
+"aHf" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/embedded_controller/radio/simple_docking_controller{name = "docking port controller"; pixel_x = 25; frequency = 1380; req_one_access = list(13); id_tag = "centcom_dock"; tag_door = "centcom_dock_airlock"},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/holding)
"aHg" = (/obj/machinery/cryopod{time_till_despawn = 150},/turf/simulated/floor/shuttle/white,/area/shuttle/escape/centcom)
"aHh" = (/obj/structure/bed,/obj/item/bedsheet/orange,/obj/effect/decal/cleanable/dirt,/turf/unsimulated/floor{icon_state = "dark"},/area/skipjack_station/base)
"aHi" = (/turf/simulated/floor/plating,/area/skipjack_station/base)
-"aHj" = (/obj/structure/table/woodentable{dir = 5},/obj/item/flame/lighter/zippo,/obj/item/storage/fancy/cigarettes,/obj/item/material/ashtray/bronze{pixel_x = -1; pixel_y = 1},/obj/machinery/camera/network/crescent{c_tag = "Crescent Bar East"; dir = 4},/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/holding)
+"aHj" = (/obj/structure/table/woodentable{dir = 5},/obj/item/flame/lighter/zippo,/obj/item/storage/fancy/cigarettes,/obj/item/material/ashtray/bronze{pixel_x = -1; pixel_y = 1},/obj/machinery/camera/network/crescent{dir = 4; c_tag = "Crescent Bar East"},/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/holding)
"aHk" = (/obj/structure/table/woodentable{dir = 5},/obj/item/flame/lighter/zippo,/obj/item/storage/fancy/cigarettes,/obj/item/material/ashtray/bronze{pixel_x = -1; pixel_y = 1},/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/holding)
"aHl" = (/obj/structure/bed/chair{dir = 4},/obj/effect/floor_decal/corner/green{dir = 8},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/holding)
"aHm" = (/obj/machinery/hologram/holopad,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/holding)
"aHn" = (/obj/machinery/hologram/holopad,/obj/effect/shuttle_landmark/escape/centcom,/turf/simulated/floor/shuttle/blue,/area/shuttle/escape/centcom)
"aHo" = (/obj/machinery/light{dir = 4},/obj/machinery/cryopod{time_till_despawn = 150},/turf/simulated/floor/shuttle/white,/area/shuttle/escape/centcom)
"aHp" = (/obj/machinery/door/airlock/hatch{req_access = list(150)},/turf/unsimulated/floor{icon_state = "dark"},/area/skipjack_station/base)
-"aHq" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"; name = "Clothing Storage"},/obj/item/clothing/head/bandana{pixel_y = -10},/obj/item/clothing/glasses/sunglasses,/turf/unsimulated/beach/sand{icon_state = "desert1"},/area/centcom/holding)
-"aHr" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"; name = "Clothing Storage"},/obj/item/clothing/glasses/sunglasses,/turf/unsimulated/beach/sand{icon_state = "desert2"},/area/centcom/holding)
-"aHs" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"; name = "Clothing Storage"},/obj/item/clothing/glasses/sunglasses,/turf/unsimulated/beach/sand{icon_state = "desert1"},/area/centcom/holding)
+"aHq" = (/obj/structure/closet{name = "Clothing Storage"; icon_state = "cabinet_closed"; icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"},/obj/item/clothing/head/bandana{pixel_y = -10},/obj/item/clothing/glasses/sunglasses,/turf/unsimulated/beach/sand{icon_state = "desert1"},/area/centcom/holding)
+"aHr" = (/obj/structure/closet{name = "Clothing Storage"; icon_state = "cabinet_closed"; icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"},/obj/item/clothing/glasses/sunglasses,/turf/unsimulated/beach/sand{icon_state = "desert2"},/area/centcom/holding)
+"aHs" = (/obj/structure/closet{name = "Clothing Storage"; icon_state = "cabinet_closed"; icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"},/obj/item/clothing/glasses/sunglasses,/turf/unsimulated/beach/sand{icon_state = "desert1"},/area/centcom/holding)
"aHt" = (/obj/structure/closet/athletic_mixed,/turf/unsimulated/beach/sand{icon_state = "desert2"},/area/centcom/holding)
"aHu" = (/obj/structure/closet/athletic_mixed,/turf/unsimulated/beach/sand{icon_state = "desert1"},/area/centcom/holding)
"aHv" = (/obj/machinery/camera/network/crescent{c_tag = "Crescent Bar Center"},/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/holding)
"aHw" = (/obj/machinery/hologram/holopad,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/holding)
-"aHx" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/camera/network/crescent{c_tag = "Crescent Arrivals South"; dir = 4},/obj/effect/floor_decal/corner/green{dir = 9},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/holding)
+"aHx" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/camera/network/crescent{dir = 4; c_tag = "Crescent Arrivals South"},/obj/effect/floor_decal/corner/green{dir = 9},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/holding)
"aHy" = (/turf/unsimulated/floor{icon_state = "asteroid"},/area/skipjack_station/base)
"aHz" = (/obj/effect/decal/cleanable/dirt,/turf/unsimulated/floor{icon_state = "dark"},/area/skipjack_station/base)
"aHA" = (/obj/random/junk,/turf/unsimulated/floor{icon_state = "dark"},/area/skipjack_station/base)
@@ -1742,7 +1536,7 @@
"aHJ" = (/obj/structure/table/woodentable{dir = 5},/obj/item/reagent_containers/food/slice/carrotcake/filled,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/holding)
"aHK" = (/obj/structure/table/woodentable{dir = 5},/obj/item/reagent_containers/food/stew,/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/holding)
"aHL" = (/obj/machinery/vending/coffee,/obj/effect/floor_decal/corner/green{dir = 9},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/holding)
-"aHM" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "escape_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access = list(13)},/obj/machinery/mech_sensor{dir = 8; frequency = 1380; id_tag = "shuttle_dock_south_mech"; pixel_y = 19},/turf/simulated/floor/shuttle/blue,/area/shuttle/escape/centcom)
+"aHM" = (/obj/machinery/door/airlock/external{name = "Shuttle Hatch"; icon_state = "door_locked"; frequency = 1380; locked = 1; req_access = list(13); id_tag = "escape_shuttle_hatch"},/obj/machinery/mech_sensor{dir = 8; pixel_y = 19; frequency = 1380; id_tag = "shuttle_dock_south_mech"},/turf/simulated/floor/shuttle/blue,/area/shuttle/escape/centcom)
"aHN" = (/obj/structure/grille,/obj/structure/window/shuttle{icon_state = "window-whiteship"; dir = 1},/turf/simulated/floor/plating,/area/shuttle/escape/centcom)
"aHO" = (/obj/structure/table/reinforced,/obj/item/tray{pixel_y = 5},/obj/random/junk,/turf/unsimulated/floor{icon_state = "white"},/area/skipjack_station/base)
"aHP" = (/obj/structure/table/standard,/obj/item/storage/box/glasses/square{pixel_x = 1; pixel_y = 4},/turf/unsimulated/floor{icon_state = "white"},/area/skipjack_station/base)
@@ -1804,18 +1598,18 @@
"aIT" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 5},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding)
"aIU" = (/obj/machinery/atmospherics/pipe/manifold4w/visible,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding)
"aIV" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 9},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding)
-"aIW" = (/obj/structure/closet/crate/freezer/rations,/obj/machinery/camera/network/crescent{c_tag = "Shuttle West Storage"; dir = 4},/turf/simulated/floor/shuttle/yellow,/area/shuttle/escape/centcom)
+"aIW" = (/obj/structure/closet/crate/freezer/rations,/obj/machinery/camera/network/crescent{dir = 4; c_tag = "Shuttle West Storage"},/turf/simulated/floor/shuttle/yellow,/area/shuttle/escape/centcom)
"aIX" = (/obj/structure/closet/crate/freezer/rations,/obj/machinery/light{dir = 4},/turf/simulated/floor/shuttle/yellow,/area/shuttle/escape/centcom)
-"aIY" = (/obj/machinery/camera/network/crescent{c_tag = "Shuttle Medical"; dir = 4},/obj/machinery/atmospherics/pipe/simple/visible{dir = 5},/turf/simulated/floor/shuttle/white,/area/shuttle/escape/centcom)
+"aIY" = (/obj/machinery/camera/network/crescent{dir = 4; c_tag = "Shuttle Medical"},/obj/machinery/atmospherics/pipe/simple/visible{dir = 5},/turf/simulated/floor/shuttle/white,/area/shuttle/escape/centcom)
"aIZ" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 9},/turf/simulated/floor/shuttle/white,/area/shuttle/escape/centcom)
-"aJa" = (/obj/machinery/vending/wallmed1{layer = 3.3; name = "Emergency NanoMed"; pixel_x = 28},/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/shuttle/white,/area/shuttle/escape/centcom)
+"aJa" = (/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; layer = 3.3; pixel_x = 28},/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/shuttle/white,/area/shuttle/escape/centcom)
"aJb" = (/obj/machinery/recharge_station,/turf/simulated/floor/shuttle/yellow,/area/shuttle/escape/centcom)
-"aJc" = (/obj/machinery/camera/network/crescent{c_tag = "Shuttle East Storage"; dir = 8},/obj/machinery/cryopod/robot{time_till_despawn = 10},/turf/simulated/floor/shuttle/yellow,/area/shuttle/escape/centcom)
+"aJc" = (/obj/machinery/camera/network/crescent{dir = 8; c_tag = "Shuttle East Storage"},/obj/machinery/cryopod/robot{time_till_despawn = 10},/turf/simulated/floor/shuttle/yellow,/area/shuttle/escape/centcom)
"aJd" = (/obj/structure/urinal{pixel_y = 32},/obj/item/soap/syndie,/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/skipjack_station/base)
"aJe" = (/obj/structure/urinal{pixel_y = 32},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/skipjack_station/base)
"aJf" = (/obj/structure/urinal{pixel_y = 32},/turf/simulated/floor/plating,/area/skipjack_station/base)
"aJg" = (/obj/structure/closet/secure_closet/freezer/fridge,/turf/unsimulated/floor{icon_state = "white"},/area/skipjack_station/base)
-"aJh" = (/obj/machinery/camera/network/crescent{c_tag = "Crescent Bar West"; dir = 4},/turf/unsimulated/beach/sand{icon_state = "desert2"},/area/centcom/holding)
+"aJh" = (/obj/machinery/camera/network/crescent{dir = 4; c_tag = "Crescent Bar West"},/turf/unsimulated/beach/sand{icon_state = "desert2"},/area/centcom/holding)
"aJi" = (/obj/structure/closet/secure_closet/bar,/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/holding)
"aJj" = (/obj/structure/table/woodentable{dir = 5},/obj/item/reagent_containers/rag,/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/holding)
"aJk" = (/obj/structure/table/woodentable{dir = 5},/obj/machinery/chemical_dispenser/bar_alc/full,/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/holding)
@@ -1843,9 +1637,9 @@
"aJG" = (/obj/structure/window/reinforced/crescent{dir = 1},/turf/unsimulated/beach/sand{icon_state = "seashallow"},/area/centcom/holding)
"aJH" = (/turf/unsimulated/wall,/area/tdome)
"aJI" = (/obj/effect/wingrille_spawn/reinforced/crescent,/turf/unsimulated/floor{name = "plating"},/area/tdome)
-"aJJ" = (/obj/machinery/door/airlock/centcom{name = "Thunderdome"; opacity = 1; req_access = list(101)},/obj/machinery/door/blast/regular{id = "crescent_thunderdome"; name = "Thunderdome"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome)
+"aJJ" = (/obj/machinery/door/airlock/centcom{name = "Thunderdome"; opacity = 1; req_access = list(101)},/obj/machinery/door/blast/regular{name = "Thunderdome"; id = "crescent_thunderdome"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome)
"aJK" = (/obj/structure/table/standard,/obj/item/reagent_containers/vessel/beaker/cryoxadone{pixel_x = 5; pixel_y = 5},/obj/item/reagent_containers/vessel/beaker/cryoxadone,/obj/item/reagent_containers/vessel/beaker/cryoxadone{pixel_x = 7; pixel_y = 1},/obj/item/wrench,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding)
-"aJL" = (/obj/machinery/atmospherics/unary/freezer{dir = 1; icon_state = "freezer"},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding)
+"aJL" = (/obj/machinery/atmospherics/unary/freezer{icon_state = "freezer"; dir = 1},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding)
"aJM" = (/obj/effect/floor_decal/corner/lime/three_quarters{dir = 4},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding)
"aJN" = (/obj/effect/floor_decal/corner/lime/three_quarters,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding)
"aJO" = (/obj/machinery/sleeper{dir = 8},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding)
@@ -1869,7 +1663,7 @@
"aKg" = (/obj/effect/floor_decal/corner/lime/three_quarters{dir = 1},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding)
"aKh" = (/obj/effect/floor_decal/corner/lime/three_quarters{dir = 8},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding)
"aKi" = (/obj/effect/floor_decal/corner/lime{dir = 1},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/holding)
-"aKj" = (/obj/item/clothing/mask/gas/swat{desc = "A close-fitting mask clearly not made for a human face."; name = "\improper alien mask"},/turf/unsimulated/floor{icon_state = "asteroid"},/area/skipjack_station/base)
+"aKj" = (/obj/item/clothing/mask/gas/swat{name = "\improper alien mask"; desc = "A close-fitting mask clearly not made for a human face."},/turf/unsimulated/floor{icon_state = "asteroid"},/area/skipjack_station/base)
"aKk" = (/obj/item/xenos_claw,/turf/unsimulated/floor{icon_state = "asteroid"},/area/skipjack_station/base)
"aKl" = (/obj/structure/table/rack,/obj/item/clothing/suit/space/vox/carapace,/obj/item/clothing/head/helmet/space/vox/carapace,/obj/item/clothing/shoes/magboots/vox,/obj/item/clothing/gloves/vox,/obj/item/gun/launcher/alien/slugsling,/obj/item/clothing/under/vox/vox_casual,/obj/item/clothing/accessory/holochip/vox,/turf/unsimulated/floor{icon_state = "asteroid"},/area/skipjack_station/base)
"aKm" = (/obj/structure/table/rack,/obj/item/clothing/suit/space/vox/carapace,/obj/item/clothing/head/helmet/space/vox/carapace,/obj/item/clothing/shoes/magboots/vox,/obj/item/clothing/gloves/vox,/obj/item/gun/launcher/alien/spikethrower,/obj/item/clothing/under/vox/vox_robes,/obj/item/clothing/accessory/holochip/vox,/turf/unsimulated/floor{icon_state = "asteroid"},/area/skipjack_station/base)
@@ -1924,18 +1718,18 @@
"aLj" = (/obj/machinery/computer/station_alert/all,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/skipjack_station/base)
"aLk" = (/obj/machinery/computer/shuttle_control/multi/vox,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/skipjack_station/base)
"aLl" = (/obj/random/junk,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/skipjack_station/base)
-"aLm" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "skipjack_base"; pixel_x = -25; pixel_y = -5},/obj/random/junk,/turf/unsimulated/floor{icon_state = "dark"},/area/skipjack_station/base)
-"aLn" = (/obj/machinery/door/airlock/centcom{name = "General Access"; opacity = 1; req_access = list(101)},/obj/machinery/door/blast/regular{id = "crescent_thunderdome"; name = "Thunderdome"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome)
+"aLm" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{pixel_x = -25; pixel_y = -5; frequency = 1380; id_tag = "skipjack_base"},/obj/random/junk,/turf/unsimulated/floor{icon_state = "dark"},/area/skipjack_station/base)
+"aLn" = (/obj/machinery/door/airlock/centcom{name = "General Access"; opacity = 1; req_access = list(101)},/obj/machinery/door/blast/regular{name = "Thunderdome"; id = "crescent_thunderdome"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome)
"aLo" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/item/tank/nitrogen,/turf/unsimulated/floor{icon_state = "asteroid"},/area/skipjack_station/base)
"aLp" = (/obj/item/clothing/head/philosopher_wig,/turf/unsimulated/floor{icon_state = "asteroid"},/area/skipjack_station/base)
"aLq" = (/obj/machinery/door/airlock/centcom{name = "General Access"; opacity = 1; req_access = list(101)},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome)
"aLr" = (/obj/structure/lattice,/obj/structure/window/reinforced/crescent{dir = 4},/turf/space,/area/skipjack_station/base)
-"aLs" = (/obj/machinery/door/airlock/external{frequency = 1380; id_tag = "skipjack_base_hatch"; req_access = list(150)},/turf/unsimulated/floor{icon_state = "dark"},/area/skipjack_station/base)
+"aLs" = (/obj/machinery/door/airlock/external{frequency = 1380; req_access = list(150); id_tag = "skipjack_base_hatch"},/turf/unsimulated/floor{icon_state = "dark"},/area/skipjack_station/base)
"aLt" = (/obj/structure/lattice,/obj/structure/window/reinforced/crescent{dir = 8},/turf/space,/area/skipjack_station/base)
"aLu" = (/obj/structure/closet/secure_closet/bar,/turf/unsimulated/floor{icon_state = "white"},/area/tdome)
"aLv" = (/turf/unsimulated/floor{icon_state = "white"},/area/tdome)
"aLw" = (/obj/machinery/gibber,/turf/unsimulated/floor{icon_state = "white"},/area/tdome)
-"aLx" = (/obj/machinery/door/airlock/command{name = "Thunderdome"},/obj/machinery/door/blast/regular{id = "crescent_thunderdome"; name = "Thunderdome"},/turf/unsimulated/floor{icon_state = "lino"},/area/tdome)
+"aLx" = (/obj/machinery/door/airlock/command{name = "Thunderdome"},/obj/machinery/door/blast/regular{name = "Thunderdome"; id = "crescent_thunderdome"},/turf/unsimulated/floor{icon_state = "lino"},/area/tdome)
"aLy" = (/obj/structure/window/reinforced/crescent{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/skipjack_station/base)
"aLz" = (/obj/structure/window/reinforced/crescent{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/skipjack_station/base)
"aLA" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeobserve)
@@ -1959,9 +1753,9 @@
"aLS" = (/obj/item/device/camera,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeobserve)
"aLT" = (/obj/structure/disposalpipe/segment,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeobserve)
"aLU" = (/turf/simulated/wall/voxshuttle,/area/skipjack_station/start)
-"aLV" = (/obj/machinery/door/airlock/hatch{frequency = 1380; icon_state = "door_locked"; id_tag = "vox_northwest_lock"; locked = 1; name = "Ship External Access"; req_one_access = 150},/obj/machinery/shield_diffuser,/turf/simulated/floor/plating,/area/skipjack_station/start)
-"aLW" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; dir = 4; icon_state = "pdoor0"; id = "skipjackshutters"; name = "Skipjack Blast Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/skipjack_station/start)
-"aLX" = (/obj/machinery/door/airlock/hatch{frequency = 1380; id_tag = "skipjack_shuttle_outer"; name = "Ship External Access"; req_one_access = 150},/obj/machinery/shield_diffuser,/turf/simulated/floor/plating,/area/skipjack_station/start)
+"aLV" = (/obj/machinery/door/airlock/hatch{name = "Ship External Access"; icon_state = "door_locked"; frequency = 1380; locked = 1; req_one_access = 150; id_tag = "vox_northwest_lock"},/obj/machinery/shield_diffuser,/turf/simulated/floor/plating,/area/skipjack_station/start)
+"aLW" = (/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{name = "Skipjack Blast Shutters"; icon_state = "pdoor0"; opacity = 0; density = 0; dir = 4; id = "skipjackshutters"},/turf/simulated/floor/plating,/area/skipjack_station/start)
+"aLX" = (/obj/machinery/door/airlock/hatch{name = "Ship External Access"; frequency = 1380; req_one_access = 150; id_tag = "skipjack_shuttle_outer"},/obj/machinery/shield_diffuser,/turf/simulated/floor/plating,/area/skipjack_station/start)
"aLY" = (/obj/effect/landmark/start/antags/actor,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
"aLZ" = (/obj/machinery/acting/wardrobe,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
"aMa" = (/obj/structure/table/rack,/obj/item/storage/box/lights/mixed,/obj/item/device/floor_painter,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
@@ -1969,11 +1763,11 @@
"aMc" = (/obj/structure/table/rack,/obj/item/stack/tile/floor_freezer{amount = 50},/obj/item/stack/tile/floor_freezer{amount = 50},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
"aMd" = (/obj/structure/table/rack,/obj/item/stack/tile/carpet{amount = 50},/obj/item/stack/tile/carpet{amount = 50},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
"aMe" = (/obj/structure/table/rack,/obj/item/stack/tile/grass{amount = 50},/obj/item/stack/tile/grass{amount = 50},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
-"aMf" = (/obj/structure/table/rack,/obj/item/stack/material/steel{amount = 50; pixel_x = 5; pixel_y = 5},/obj/item/stack/material/steel{amount = 50; pixel_x = 5; pixel_y = 5},/obj/item/stack/material/steel{amount = 50; pixel_x = 5; pixel_y = 5},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
+"aMf" = (/obj/structure/table/rack,/obj/item/stack/material/steel{pixel_x = 5; pixel_y = 5; amount = 50},/obj/item/stack/material/steel{pixel_x = 5; pixel_y = 5; amount = 50},/obj/item/stack/material/steel{pixel_x = 5; pixel_y = 5; amount = 50},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
"aMg" = (/obj/structure/table/rack,/obj/item/stack/material/plasteel{amount = 50},/obj/item/stack/material/plasteel{amount = 50},/obj/item/stack/material/plasteel{amount = 50},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
"aMh" = (/obj/structure/table/rack,/obj/item/stack/material/wood{amount = 50},/obj/item/stack/material/wood{amount = 50},/obj/item/stack/material/wood{amount = 50},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
"aMi" = (/obj/structure/table/rack,/obj/item/stack/material/sandstone{amount = 50},/obj/item/stack/material/sandstone{amount = 50},/obj/item/stack/material/sandstone{amount = 50},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
-"aMj" = (/obj/structure/table/rack,/obj/item/stack/material/glass{amount = 50; pixel_x = 3; pixel_y = 3},/obj/item/stack/material/glass{amount = 50; pixel_x = 3; pixel_y = 3},/obj/item/stack/material/glass{amount = 50; pixel_x = 3; pixel_y = 3},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
+"aMj" = (/obj/structure/table/rack,/obj/item/stack/material/glass{pixel_x = 3; pixel_y = 3; amount = 50},/obj/item/stack/material/glass{pixel_x = 3; pixel_y = 3; amount = 50},/obj/item/stack/material/glass{pixel_x = 3; pixel_y = 3; amount = 50},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
"aMk" = (/obj/structure/table/rack,/obj/item/stack/material/glass/reinforced{amount = 50},/obj/item/stack/material/glass/reinforced{amount = 50},/obj/item/stack/material/glass/reinforced{amount = 50},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
"aMl" = (/obj/structure/table/rack,/obj/item/stack/material/marble{amount = 50},/obj/item/stack/material/marble{amount = 50},/obj/item/stack/material/marble{amount = 50},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
"aMm" = (/obj/structure/table/rack,/obj/item/stack/material/plastic{amount = 50},/obj/item/stack/material/plastic{amount = 50},/obj/item/stack/material/plastic{amount = 50},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
@@ -1986,53 +1780,53 @@
"aMt" = (/obj/structure/reagent_dispensers/fueltank,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
"aMu" = (/obj/machinery/shower{dir = 8},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/wizard_station)
"aMv" = (/obj/structure/bed/chair,/obj/structure/disposalpipe/segment,/obj/effect/landmark/event/tdome/tdomeobserve,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeobserve)
-"aMw" = (/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "vox_west_sensor"; pixel_x = -8; pixel_y = 25},/obj/machinery/atmospherics/unary/vent_pump/high_volume{frequency = 1380; id_tag = "vox_west_vent"},/turf/simulated/floor/plating,/area/skipjack_station/start)
+"aMw" = (/obj/machinery/airlock_sensor{pixel_x = -8; pixel_y = 25; frequency = 1380; id_tag = "vox_west_sensor"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{frequency = 1380; id_tag = "vox_west_vent"},/turf/simulated/floor/plating,/area/skipjack_station/start)
"aMx" = (/turf/simulated/floor/plating,/area/skipjack_station/start)
"aMy" = (/obj/machinery/computer/station_alert/all,/turf/simulated/floor/shuttle/red,/area/skipjack_station/start)
"aMz" = (/obj/machinery/computer/shuttle_control/multi/vox,/turf/simulated/floor/shuttle/red,/area/skipjack_station/start)
"aMA" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor/shuttle/red,/area/skipjack_station/start)
"aMB" = (/obj/random/trash,/turf/simulated/floor/plating,/area/skipjack_station/start)
-"aMC" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{frequency = 1380; id_tag = "skipjack_shuttle_pump"},/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "skipjack_shuttle_sensor"; pixel_x = 8; pixel_y = 25},/turf/simulated/floor/plating,/area/skipjack_station/start)
-"aMD" = (/obj/item/paper{info = "\[center]\[b]READ INSTRUCTIONS CAREFULLY\[/b]\[/center]\[br]\[br]Hello! Welcome and congratulations on being hired for NanoTrasen's new Television initiative. You are now tasked with the creation and production of NanoTrasen brand television that is to be broadcasted to all of our stations!\[br]\[br] We've outfitted these facilities with all the materials and objects you will need.\[br]On the port side you'll find various venders and machines, namely the Wardrobe Dispenser, which will dispense holoclothing and items for you to use, and a Quickee brand plastic surgery machine (which I would remind you you are contractually obligated to \[b]not\[/b] report to the authorities.) which can change your appearance into anything you want, even other races. Stern and aft you'll find all the materials we could muster up on short notice. Use it to decorate the stage to your liking. Starboard you'll find gases, microwaves, hydroponic trays and the like. Go silly! This is already paid for (as are you) so do what you want and entertain!"; name = "Actor's Guild Instruction Pamphlet"},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
+"aMC" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{frequency = 1380; id_tag = "skipjack_shuttle_pump"},/obj/machinery/airlock_sensor{pixel_x = 8; pixel_y = 25; frequency = 1380; id_tag = "skipjack_shuttle_sensor"},/turf/simulated/floor/plating,/area/skipjack_station/start)
+"aMD" = (/obj/item/paper{name = "Actor's Guild Instruction Pamphlet"; info = "\[center]\[b]READ INSTRUCTIONS CAREFULLY\[/b]\[/center]\[br]\[br]Hello! Welcome and congratulations on being hired for NanoTrasen's new Television initiative. You are now tasked with the creation and production of NanoTrasen brand television that is to be broadcasted to all of our stations!\[br]\[br] We've outfitted these facilities with all the materials and objects you will need.\[br]On the port side you'll find various venders and machines, namely the Wardrobe Dispenser, which will dispense holoclothing and items for you to use, and a Quickee brand plastic surgery machine (which I would remind you you are contractually obligated to \[b]not\[/b] report to the authorities.) which can change your appearance into anything you want, even other races. Stern and aft you'll find all the materials we could muster up on short notice. Use it to decorate the stage to your liking. Starboard you'll find gases, microwaves, hydroponic trays and the like. Go silly! This is already paid for (as are you) so do what you want and entertain!"},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
"aME" = (/obj/structure/table/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/melee/energy/axe,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome)
-"aMF" = (/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/obj/effect/wingrille_spawn/reinforced/crescent,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome)
-"aMG" = (/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/obj/structure/disposalpipe/segment,/obj/effect/wingrille_spawn/reinforced/crescent,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome)
+"aMF" = (/obj/effect/forcefield{name = "Blocker"; desc = "You can't get in. Heh."; layer = 1},/obj/effect/wingrille_spawn/reinforced/crescent,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome)
+"aMG" = (/obj/effect/forcefield{name = "Blocker"; desc = "You can't get in. Heh."; layer = 1},/obj/structure/disposalpipe/segment,/obj/effect/wingrille_spawn/reinforced/crescent,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome)
"aMH" = (/obj/structure/table/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/melee/energy/axe,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome)
"aMI" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8},/obj/machinery/meter,/turf/simulated/floor/plating,/area/skipjack_station/start)
-"aMJ" = (/obj/machinery/light/small,/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "vox_west_control"; pixel_x = 25; pixel_y = 8; req_access = list(150); tag_airpump = "vox_west_vent"; tag_chamber_sensor = "vox_west_sensor"; tag_exterior_door = "vox_northwest_lock"; tag_interior_door = "vox_southwest_lock"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1380; id_tag = "vox_west_vent"},/turf/simulated/floor/plating,/area/skipjack_station/start)
+"aMJ" = (/obj/machinery/light/small,/obj/machinery/embedded_controller/radio/airlock/docking_port{pixel_x = 25; pixel_y = 8; frequency = 1380; req_access = list(150); id_tag = "vox_west_control"; tag_exterior_door = "vox_northwest_lock"; tag_interior_door = "vox_southwest_lock"; tag_airpump = "vox_west_vent"; tag_chamber_sensor = "vox_west_sensor"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1380; id_tag = "vox_west_vent"},/turf/simulated/floor/plating,/area/skipjack_station/start)
"aMK" = (/obj/machinery/light/small{dir = 8},/obj/machinery/suit_cycler/syndicate{locked = 0},/turf/simulated/floor/shuttle/red,/area/skipjack_station/start)
"aML" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/floor/shuttle/red,/area/skipjack_station/start)
"aMM" = (/obj/structure/bed/chair{dir = 1},/obj/item/clothing/head/pirate,/obj/effect/shuttle_landmark/skipjack/start,/turf/simulated/floor/shuttle/red,/area/skipjack_station/start)
-"aMN" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/button/remote/blast_door{id = "skipjackshutters"; name = "remote shutter control"; pixel_x = 32; pixel_y = 32; req_access = list(150)},/turf/simulated/floor/shuttle/red,/area/skipjack_station/start)
+"aMN" = (/obj/structure/bed/chair{dir = 1},/obj/machinery/button/remote/blast_door{name = "remote shutter control"; pixel_x = 32; pixel_y = 32; id = "skipjackshutters"; req_access = list(150)},/turf/simulated/floor/shuttle/red,/area/skipjack_station/start)
"aMO" = (/obj/machinery/light/small{dir = 4},/obj/vehicle/bike/thermal,/turf/simulated/floor/shuttle/red,/area/skipjack_station/start)
-"aMP" = (/obj/machinery/light/small,/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "skipjack_shuttle"; pixel_x = -25; pixel_y = 8; req_access = list(150)},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1380; id_tag = "skipjack_shuttle_pump"},/turf/simulated/floor/plating,/area/skipjack_station/start)
+"aMP" = (/obj/machinery/light/small,/obj/machinery/embedded_controller/radio/airlock/docking_port{pixel_x = -25; pixel_y = 8; frequency = 1380; req_access = list(150); id_tag = "skipjack_shuttle"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1380; id_tag = "skipjack_shuttle_pump"},/turf/simulated/floor/plating,/area/skipjack_station/start)
"aMQ" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 4},/obj/machinery/meter,/turf/simulated/floor/plating,/area/skipjack_station/start)
"aMR" = (/obj/machinery/vending/tool,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
"aMS" = (/obj/machinery/door/airlock/glass{name = "Stage"},/turf/simulated/floor,/area/acting/backstage)
"aMT" = (/obj/machinery/biogenerator,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
-"aMU" = (/obj/machinery/door/blast/regular{id = "thunderdomeaxe"; name = "Axe Supply"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome)
+"aMU" = (/obj/machinery/door/blast/regular{name = "Axe Supply"; id = "thunderdomeaxe"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome)
"aMV" = (/obj/machinery/igniter,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome)
"aMW" = (/turf/unsimulated/floor{icon_state = "dark"},/area/tdome)
"aMX" = (/obj/structure/disposalpipe/segment,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome)
-"aMY" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/machinery/door/airlock/hatch{frequency = 1380; icon_state = "door_locked"; id_tag = "vox_southwest_lock"; locked = 1; name = "Ship External Access"; req_one_access = 150},/turf/simulated/floor/plating,/area/skipjack_station/start)
+"aMY" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/machinery/door/airlock/hatch{name = "Ship External Access"; icon_state = "door_locked"; frequency = 1380; locked = 1; req_one_access = 150; id_tag = "vox_southwest_lock"},/turf/simulated/floor/plating,/area/skipjack_station/start)
"aMZ" = (/obj/structure/table/rack,/obj/item/rig/industrial,/turf/simulated/floor/shuttle/red,/area/skipjack_station/start)
"aNa" = (/turf/simulated/floor/shuttle/red,/area/skipjack_station/start)
"aNb" = (/obj/random/trash,/turf/simulated/floor/shuttle/red,/area/skipjack_station/start)
"aNc" = (/obj/structure/table/rack,/obj/item/rig/light/hacker,/turf/simulated/floor/shuttle/red,/area/skipjack_station/start)
-"aNd" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/machinery/door/airlock/hatch{frequency = 1380; id_tag = "skipjack_shuttle_inner"; name = "Ship External Access"; req_one_access = 150},/turf/simulated/floor/plating,/area/skipjack_station/start)
+"aNd" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/machinery/door/airlock/hatch{name = "Ship External Access"; frequency = 1380; req_one_access = 150; id_tag = "skipjack_shuttle_inner"},/turf/simulated/floor/plating,/area/skipjack_station/start)
"aNe" = (/obj/machinery/vending/hydroseeds,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
"aNf" = (/turf/simulated/floor/tiled,/area/acting/stage)
"aNg" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/acting/stage)
"aNh" = (/obj/machinery/microwave,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
"aNi" = (/obj/structure/table/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/tdome/red,/obj/item/clothing/head/helmet/thunderdome,/obj/item/melee/baton/loaded,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome)
-"aNj" = (/obj/machinery/door/blast/regular{id = "thunderdomegen"; name = "General Supply"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome)
+"aNj" = (/obj/machinery/door/blast/regular{name = "General Supply"; id = "thunderdomegen"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome)
"aNk" = (/obj/effect/landmark/event/tdome/tdome2,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome/tdome2)
-"aNl" = (/obj/machinery/door/blast/regular{id = "thunderdome"; name = "Thunderdome Blast Door"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome)
+"aNl" = (/obj/machinery/door/blast/regular{name = "Thunderdome Blast Door"; id = "thunderdome"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome)
"aNm" = (/obj/effect/floor_decal/corner/red{dir = 9},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome)
"aNn" = (/obj/effect/floor_decal/corner/green{dir = 6},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome)
"aNo" = (/obj/effect/landmark/event/tdome/tdome1,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome/tdome1)
"aNp" = (/obj/structure/table/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/tdome/green,/obj/item/clothing/head/helmet/thunderdome,/obj/item/melee/baton/loaded,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome)
-"aNq" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "vox_west_control"; name = "interior access button"; pixel_x = -25; pixel_y = 25; req_access = list(150)},/turf/simulated/floor/plating,/area/skipjack_station/start)
+"aNq" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/machinery/access_button{name = "interior access button"; pixel_x = -25; pixel_y = 25; frequency = 1380; req_access = list(150); command = "cycle_interior"; master_tag = "vox_west_control"},/turf/simulated/floor/plating,/area/skipjack_station/start)
"aNr" = (/obj/structure/table/rack,/obj/item/gun/energy/ionrifle,/obj/item/material/harpoon,/obj/item/clothing/suit/space/void/engineering/prepared,/obj/item/tank/oxygen,/obj/item/tank/oxygen,/obj/item/rig/light/stealth,/turf/simulated/floor/plating,/area/skipjack_station/start)
"aNs" = (/obj/machinery/microwave{pixel_x = -1; pixel_y = 8},/obj/structure/table/steel,/turf/simulated/floor/plating,/area/skipjack_station/start)
"aNt" = (/obj/item/seeds/potatoseed,/obj/item/seeds/potatoseed,/obj/item/seeds/ambrosiavulgarisseed,/obj/item/material/minihoe,/obj/item/beartrap,/obj/structure/table/steel,/turf/simulated/floor/plating,/area/skipjack_station/start)
@@ -2042,7 +1836,7 @@
"aNx" = (/obj/machinery/washing_machine,/turf/simulated/floor/plating,/area/skipjack_station/start)
"aNy" = (/obj/structure/table/standard,/obj/item/storage/fancy/cigarettes,/obj/item/flame/lighter/zippo,/obj/item/clothing/gloves/insulated,/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/card/emag,/turf/simulated/floor/plating,/area/skipjack_station/start)
"aNz" = (/obj/structure/table/rack,/obj/item/gun/energy/sniperrifle,/obj/item/clothing/suit/space/void/mining/prepared,/obj/item/clothing/suit/space/void/atmos/prepared,/obj/item/tank/oxygen,/obj/item/tank/oxygen,/turf/simulated/floor/plating,/area/skipjack_station/start)
-"aNA" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "skipjack_shuttle"; name = "interior access button"; pixel_x = 25; pixel_y = 25; req_access = list(150)},/turf/simulated/floor/plating,/area/skipjack_station/start)
+"aNA" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/machinery/access_button{name = "interior access button"; pixel_x = 25; pixel_y = 25; frequency = 1380; req_access = list(150); command = "cycle_interior"; master_tag = "skipjack_shuttle"},/turf/simulated/floor/plating,/area/skipjack_station/start)
"aNB" = (/obj/machinery/vending/hydronutrients,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
"aNC" = (/obj/machinery/recharger{pixel_y = 4},/obj/effect/landmark/event/tdome/tdome2,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome/tdome2)
"aND" = (/obj/machinery/recharger{pixel_y = 4},/obj/effect/landmark/event/tdome/tdome1,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome/tdome1)
@@ -2056,16 +1850,16 @@
"aNL" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled,/area/acting/stage)
"aNM" = (/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/acting/stage)
"aNN" = (/obj/machinery/vending/security,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
-"aNO" = (/obj/effect/landmark/event/tdome/tdome2,/obj/machinery/camera/network/thunder{c_tag = "Thunderdome - Red Team"; invisibility = 101},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome/tdome2)
+"aNO" = (/obj/effect/landmark/event/tdome/tdome2,/obj/machinery/camera/network/thunder{invisibility = 101; c_tag = "Thunderdome - Red Team"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome/tdome2)
"aNP" = (/turf/unsimulated/floor{icon_state = "bcircuit"},/area/tdome)
-"aNQ" = (/obj/machinery/flasher{id = "flash"; name = "Thunderdome Flash"},/turf/unsimulated/floor{icon_state = "bcircuit"},/area/tdome)
-"aNR" = (/obj/effect/landmark/event/tdome/tdome1,/obj/machinery/camera/network/thunder{c_tag = "Green Team"; invisibility = 101},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome/tdome1)
+"aNQ" = (/obj/machinery/flasher{name = "Thunderdome Flash"; id = "flash"},/turf/unsimulated/floor{icon_state = "bcircuit"},/area/tdome)
+"aNR" = (/obj/effect/landmark/event/tdome/tdome1,/obj/machinery/camera/network/thunder{invisibility = 101; c_tag = "Green Team"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome/tdome1)
"aNS" = (/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/skipjack_station/start)
"aNT" = (/obj/item/ammo_magazine/c556,/turf/simulated/floor/plating,/area/skipjack_station/start)
"aNU" = (/obj/item/robot_parts/l_leg,/turf/simulated/floor/plating,/area/skipjack_station/start)
"aNV" = (/obj/machinery/vending/robotics,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
"aNW" = (/obj/machinery/atmospherics/pipe/vent,/turf/unsimulated/floor{icon_state = "bcircuit"},/area/tdome)
-"aNX" = (/obj/machinery/camera/network/thunder{c_tag = "Thunderdome Arena"; invisibility = 101},/turf/unsimulated/floor{icon_state = "bcircuit"},/area/tdome)
+"aNX" = (/obj/machinery/camera/network/thunder{invisibility = 101; c_tag = "Thunderdome Arena"},/turf/unsimulated/floor{icon_state = "bcircuit"},/area/tdome)
"aNY" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/floor/plating,/area/skipjack_station/start)
"aNZ" = (/obj/machinery/floodlight,/turf/simulated/floor/plating,/area/skipjack_station/start)
"aOa" = (/obj/structure/table/rack,/obj/item/gun/launcher/crossbow,/obj/item/stack/rods{amount = 10},/obj/machinery/light/small{dir = 8},/obj/item/beartrap,/obj/item/beartrap,/obj/item/beartrap,/obj/item/beartrap,/obj/item/beartrap,/obj/item/beartrap,/turf/simulated/floor/shuttle/red,/area/skipjack_station/start)
@@ -2074,7 +1868,7 @@
"aOd" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/skipjack_station/start)
"aOe" = (/obj/item/robot_parts/robot_suit,/obj/item/robot_parts/r_leg,/obj/item/robot_parts/r_arm,/turf/simulated/floor/plating,/area/skipjack_station/start)
"aOf" = (/obj/machinery/vending/engivend,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
-"aOg" = (/obj/machinery/camera/network/thunder{anchored = 0; c_tag = "Television"; name = "Movable Camera"},/turf/simulated/floor/tiled,/area/acting/stage)
+"aOg" = (/obj/machinery/camera/network/thunder{name = "Movable Camera"; anchored = 0; c_tag = "Television"},/turf/simulated/floor/tiled,/area/acting/stage)
"aOh" = (/obj/machinery/portable_atmospherics/hydroponics,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
"aOi" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 5},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome)
"aOk" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 9},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome)
@@ -2102,7 +1896,7 @@
"aOG" = (/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating,/area/skipjack_station/start)
"aOH" = (/obj/machinery/vending/cola{name = "hacked Robust Softdrinks"; prices = list()},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
"aOI" = (/obj/machinery/door/airlock/command{name = "Thunderdome Administration"; req_access = list(102)},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome)
-"aOJ" = (/obj/machinery/door/blast/regular{id = "thunderdomehea"; name = "Heavy Supply"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome)
+"aOJ" = (/obj/machinery/door/blast/regular{name = "Heavy Supply"; id = "thunderdomehea"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome)
"aOK" = (/turf/simulated/shuttle/wall/corner/dark/sw,/area/skipjack_station/start)
"aOL" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/shuttle/engine/heater,/turf/simulated/floor/plating/airless,/area/skipjack_station/start)
"aOM" = (/obj/structure/table/steel,/obj/random/junk,/turf/simulated/floor/shuttle/red,/area/skipjack_station/start)
@@ -2112,7 +1906,7 @@
"aOR" = (/obj/effect/floor_decal/corner/red{dir = 8},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome)
"aOS" = (/obj/structure/table/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet/swat,/obj/item/gun/energy/laser,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome)
"aOT" = (/obj/machinery/door/airlock/command{name = "Thunderdome Administration"; req_access = list(102)},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome)
-"aOU" = (/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/obj/machinery/atmospherics/pipe/simple/visible,/obj/effect/wingrille_spawn/reinforced/crescent,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome)
+"aOU" = (/obj/effect/forcefield{name = "Blocker"; desc = "You can't get in. Heh."; layer = 1},/obj/machinery/atmospherics/pipe/simple/visible,/obj/effect/wingrille_spawn/reinforced/crescent,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome)
"aOV" = (/obj/structure/table/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet/swat,/obj/item/gun/energy/laser,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome)
"aOW" = (/obj/effect/floor_decal/corner/green,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome)
"aOX" = (/obj/structure/shuttle/engine/propulsion,/turf/simulated/floor/plating/airless,/area/skipjack_station/start)
@@ -2156,10 +1950,10 @@
"aPJ" = (/obj/machinery/portable_atmospherics/canister/sleeping_agent,/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
"aPK" = (/obj/structure/table/standard,/obj/machinery/recharger{pixel_y = 4},/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin)
"aPL" = (/obj/item/grenade/chem_grenade/cleaner,/obj/item/grenade/chem_grenade/cleaner,/obj/item/grenade/chem_grenade/cleaner,/obj/item/grenade/chem_grenade/cleaner,/obj/item/grenade/chem_grenade/cleaner,/obj/item/grenade/chem_grenade/cleaner,/obj/item/grenade/chem_grenade/cleaner,/obj/item/grenade/chem_grenade/cleaner,/obj/item/grenade/chem_grenade/cleaner,/obj/item/grenade/chem_grenade/cleaner,/obj/structure/table/standard,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin)
-"aPM" = (/obj/machinery/computer/pod{id = "thunderdomeaxe"; name = "Thunderdome Axe Supply"},/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin)
-"aPN" = (/obj/machinery/computer/pod{id = "thunderdomegen"; name = "Thunderdome General Supply"},/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin)
-"aPO" = (/obj/machinery/computer/pod{id = "thunderdomehea"; name = "Thunderdome Heavy Supply"},/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin)
-"aPP" = (/obj/machinery/computer/pod{id = "thunderdome"; name = "Thunderdome Blast Door Control"},/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin)
+"aPM" = (/obj/machinery/computer/pod{name = "Thunderdome Axe Supply"; id = "thunderdomeaxe"},/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin)
+"aPN" = (/obj/machinery/computer/pod{name = "Thunderdome General Supply"; id = "thunderdomegen"},/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin)
+"aPO" = (/obj/machinery/computer/pod{name = "Thunderdome Heavy Supply"; id = "thunderdomehea"},/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin)
+"aPP" = (/obj/machinery/computer/pod{name = "Thunderdome Blast Door Control"; id = "thunderdome"},/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin)
"aPQ" = (/obj/item/stack/medical/ointment,/obj/item/stack/medical/ointment,/obj/item/stack/medical/ointment,/obj/structure/table/standard,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin)
"aPR" = (/obj/structure/table/standard,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin)
"aPS" = (/obj/structure/table/standard,/obj/item/storage/box/handcuffs,/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin)
@@ -2177,9 +1971,9 @@
"aQe" = (/obj/machinery/cryopod{dir = 4},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled/white,/area/merchant_station)
"aQf" = (/obj/machinery/light/small{dir = 1},/obj/machinery/computer/cryopod{pixel_y = 32},/obj/item/roller,/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled/white,/area/merchant_station)
"aQg" = (/obj/item/device/radio/intercom{pixel_y = 22},/obj/structure/table/reinforced,/obj/item/storage/firstaid/toxin,/obj/item/storage/firstaid/o2{layer = 2.8; pixel_x = 4; pixel_y = 6},/obj/item/storage/firstaid/fire{layer = 2.9; pixel_x = 2; pixel_y = 3},/obj/item/storage/firstaid/adv{pixel_x = -2},/obj/item/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/bodybag/cryobag{pixel_x = 5},/obj/effect/floor_decal/industrial/outline/blue,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/white,/area/merchant_station)
-"aQh" = (/obj/structure/flora/ausbushes/fullgrass,/turf/simulated/floor/holofloor/grass,/area/merchant_station)
-"aQi" = (/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/holofloor/grass,/area/merchant_station)
-"aQj" = (/obj/structure/flora/ausbushes/fullgrass,/obj/machinery/light{dir = 1},/turf/simulated/floor/holofloor/grass,/area/merchant_station)
+"aQh" = (/obj/structure/flora/ausbushes/fullgrass,/turf/simulated/floor/natural/grass,/area/merchant_station)
+"aQi" = (/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/natural/grass,/area/merchant_station)
+"aQj" = (/obj/structure/flora/ausbushes/fullgrass,/obj/machinery/light{dir = 1},/turf/simulated/floor/natural/grass,/area/merchant_station)
"aQk" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled/white,/area/merchant_station)
"aQl" = (/obj/machinery/sleeper{dir = 8},/obj/effect/floor_decal/industrial/outline/blue,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/tiled/white,/area/merchant_station)
"aQm" = (/obj/effect/wingrille_spawn/reinforced/crescent,/turf/simulated/floor/plating,/area/merchant_station)
@@ -2220,22 +2014,21 @@
"aQV" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/merchant_station)
"aQW" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/merchant_station)
"aQX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9},/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/merchant_station)
-"aQY" = (/obj/structure/flora/ausbushes/ywflowers,/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/holofloor/grass,/area/merchant_station)
-"aQZ" = (/obj/structure/flora/ausbushes/ywflowers,/mob/living/simple_animal/tindalos{name = "Eddy"},/turf/simulated/floor/holofloor/grass,/area/merchant_station)
-"aRa" = (/obj/structure/flora/ausbushes/fullgrass,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/holofloor/grass,/area/merchant_station)
-"aRb" = (/obj/structure/flora/ausbushes/ywflowers,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor/grass,/area/merchant_station)
+"aQY" = (/obj/structure/flora/ausbushes/ywflowers,/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/natural/grass,/area/merchant_station)
+"aRa" = (/obj/structure/flora/ausbushes/fullgrass,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/natural/grass,/area/merchant_station)
+"aRb" = (/obj/structure/flora/ausbushes/ywflowers,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/natural/grass,/area/merchant_station)
"aRc" = (/obj/structure/table/reinforced,/obj/item/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/pen,/obj/effect/floor_decal/corner/blue/three_quarters,/turf/simulated/floor/tiled,/area/merchant_station)
"aRd" = (/obj/structure/table/reinforced,/obj/effect/floor_decal/corner/blue{dir = 10},/obj/random/handgun,/turf/simulated/floor/tiled,/area/merchant_station)
"aRe" = (/obj/structure/table/reinforced,/obj/random/loot,/obj/effect/floor_decal/corner/blue{dir = 10},/turf/simulated/floor/tiled,/area/merchant_station)
"aRf" = (/obj/machinery/photocopier,/obj/effect/floor_decal/corner/blue{dir = 8},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/merchant_station)
-"aRg" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "merchant_station_interior"; locked = 1; name = "Station Exterior"; req_access = list(201)},/turf/simulated/floor/plating,/area/merchant_station)
+"aRg" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/door/airlock/external{name = "Station Exterior"; icon_state = "door_locked"; frequency = 1379; locked = 1; req_access = list(201); id_tag = "merchant_station_interior"},/turf/simulated/floor/plating,/area/merchant_station)
"aRh" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor,/turf/simulated/floor/tiled,/area/merchant_station)
"aRi" = (/obj/machinery/door/firedoor,/turf/simulated/floor/tiled,/area/merchant_station)
-"aRj" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "merchant_station_vent"},/obj/machinery/embedded_controller/radio/airlock/docking_port{id_tag = "merchant_station_dock"; pixel_x = 26; plane = -13; req_access = list(201); tag_airpump = "merchant_station_vent"; tag_chamber_sensor = "merchant_station_sensor"; tag_exterior_door = "merchant_station_exterior"; tag_interior_door = "merchant_station_interior"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/merchant_station)
+"aRj" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "merchant_station_vent"},/obj/machinery/embedded_controller/radio/airlock/docking_port{pixel_x = 26; plane = -13; req_access = list(201); id_tag = "merchant_station_dock"; tag_exterior_door = "merchant_station_exterior"; tag_interior_door = "merchant_station_interior"; tag_airpump = "merchant_station_vent"; tag_chamber_sensor = "merchant_station_sensor"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/merchant_station)
"aRk" = (/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled,/area/merchant_station)
"aRl" = (/obj/effect/wingrille_spawn/reinforced/crescent,/turf/simulated/floor/tiled,/area/merchant_station)
"aRm" = (/obj/machinery/door/window/southright{req_access = list(201)},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/window/northleft{req_access = list(201)},/turf/simulated/floor/plating,/area/merchant_station)
-"aRn" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "merchant_station_interior"; locked = 1; name = "Station Exterior"; req_access = list(201)},/turf/simulated/floor/plating,/area/merchant_station)
+"aRn" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/external{name = "Station Exterior"; icon_state = "door_locked"; frequency = 1379; locked = 1; req_access = list(201); id_tag = "merchant_station_interior"},/turf/simulated/floor/plating,/area/merchant_station)
"aRo" = (/obj/effect/decal/cleanable/dirt,/obj/structure/extinguisher_cabinet{pixel_x = -26},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/merchant_station)
"aRp" = (/obj/machinery/constructable_frame/machine_frame,/obj/effect/floor_decal/corner/green/three_quarters{dir = 8},/obj/item/storage/toolbox/mechanical,/turf/simulated/floor/tiled/dark,/area/merchant_station)
"aRq" = (/obj/effect/floor_decal/corner/green{dir = 5},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/dark,/area/merchant_station)
@@ -2246,9 +2039,9 @@
"aRv" = (/obj/structure/shuttle/engine/propulsion/burst/right{dir = 1},/turf/space,/area/shuttle/merchant/home)
"aRw" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"; dir = 6},/area/shuttle/merchant/home)
"aRx" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"; dir = 8},/area/shuttle/merchant/home)
-"aRy" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "merchant_ship_dock"; pixel_x = -28},/obj/effect/shuttle_landmark/merchant/start,/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "merchant_ship_exterior"; locked = 1; name = "Ship Exterior"; req_access = list(201)},/obj/machinery/door/blast/shutters{density = 0; icon_state = "shutter0"; id = "merchantshuttle1"; name = "Merchant Window Shutters"; opacity = 0},/obj/machinery/button/remote/blast_door{id = "merchantshuttle1"; name = "Privacy Shutters"; pixel_x = -28; pixel_y = -8; req_access = list(201)},/turf/simulated/floor/plating,/area/shuttle/merchant/home)
+"aRy" = (/obj/machinery/access_button{pixel_x = -28; frequency = 1379; command = "cycle_exterior"; master_tag = "merchant_ship_dock"},/obj/effect/shuttle_landmark/merchant/start,/obj/machinery/door/airlock/external{name = "Ship Exterior"; icon_state = "door_locked"; frequency = 1379; locked = 1; req_access = list(201); id_tag = "merchant_ship_exterior"},/obj/machinery/door/blast/shutters{name = "Merchant Window Shutters"; icon_state = "shutter0"; opacity = 0; density = 0; id = "merchantshuttle1"},/obj/machinery/button/remote/blast_door{name = "Privacy Shutters"; pixel_x = -28; pixel_y = -8; id = "merchantshuttle1"; req_access = list(201)},/turf/simulated/floor/plating,/area/shuttle/merchant/home)
"aRz" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"; dir = 4},/area/shuttle/merchant/home)
-"aRA" = (/turf/simulated/shuttle/wall/syndi{dir = 1; icon_state = "syndiwall_straight"},/area/syndicate_station/start)
+"aRA" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_straight"; dir = 1},/area/syndicate_station/start)
"aRB" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor/tiled,/area/merchant_station)
"aRC" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/dark,/area/merchant_station)
"aRD" = (/obj/effect/floor_decal/corner/green{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/dark,/area/merchant_station)
@@ -2257,23 +2050,23 @@
"aRH" = (/obj/structure/table/steel,/obj/item/spacecash/bundle/c1000,/obj/effect/floor_decal/corner/green{dir = 6},/turf/simulated/floor/tiled/dark,/area/merchant_station)
"aRI" = (/obj/structure/shuttle/engine/heater{dir = 1},/turf/simulated/shuttle/wall,/area/shuttle/merchant/home)
"aRJ" = (/turf/simulated/shuttle/wall{icon_state = "whiteship_straight"},/area/shuttle/merchant/home)
-"aRK" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "merchant_ship_dock"; name = "interior access button"; pixel_x = -28; pixel_y = -6},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "merchant_ship_dock"; name = "exterior access button"; pixel_x = -28; pixel_y = 6},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/shuttle/merchant/home)
+"aRK" = (/obj/machinery/access_button{name = "interior access button"; pixel_x = -28; pixel_y = -6; frequency = 1379; command = "cycle_interior"; master_tag = "merchant_ship_dock"},/obj/machinery/access_button{name = "exterior access button"; pixel_x = -28; pixel_y = 6; frequency = 1379; command = "cycle_exterior"; master_tag = "merchant_ship_dock"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/shuttle/merchant/home)
"aRL" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{frequency = 1379; id_tag = "merchant_ship_vent"},/turf/simulated/floor/plating,/area/shuttle/merchant/home)
-"aRM" = (/obj/machinery/airlock_sensor{id_tag = "merchant_ship_sensor"; pixel_x = 28},/obj/structure/closet/emcloset{anchored = 1},/turf/simulated/floor/plating,/area/shuttle/merchant/home)
+"aRM" = (/obj/machinery/airlock_sensor{pixel_x = 28; id_tag = "merchant_ship_sensor"},/obj/structure/closet/emcloset{anchored = 1},/turf/simulated/floor/plating,/area/shuttle/merchant/home)
"aRN" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/tiled,/area/merchant_station)
"aRO" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/merchant_station)
-"aRP" = (/obj/machinery/door/airlock/multi_tile/glass{dir = 2; name = "Warehouse"},/turf/simulated/floor/tiled/dark,/area/merchant_station)
+"aRP" = (/obj/machinery/door/airlock/multi_tile/glass{name = "Warehouse"; dir = 2},/turf/simulated/floor/tiled/dark,/area/merchant_station)
"aRQ" = (/obj/effect/decal/cleanable/dirt,/obj/effect/floor_decal/corner/green{dir = 9},/turf/simulated/floor/tiled/dark,/area/merchant_station)
"aRR" = (/turf/simulated/floor/tiled/dark,/area/merchant_station)
"aRS" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/dark,/area/merchant_station)
"aRT" = (/obj/structure/bed/chair/office/dark{dir = 4},/turf/simulated/floor/tiled/dark,/area/merchant_station)
"aRU" = (/obj/structure/table/steel,/obj/item/paper,/obj/item/pen,/obj/effect/floor_decal/corner/green{dir = 6},/turf/simulated/floor/tiled/dark,/area/merchant_station)
"aRV" = (/turf/space,/turf/simulated/shuttle/wall/corner/smoothwhite/sw,/area/shuttle/merchant/home)
-"aRW" = (/turf/simulated/shuttle/wall/syndi{dir = 8; icon_state = "syndiwall_t"},/area/rescue_base/start)
+"aRW" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_t"; dir = 8},/area/rescue_base/start)
"aRX" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"; dir = 5},/area/shuttle/merchant/home)
-"aRY" = (/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "merchantshuttle"; name = "Merchant Window Shutters"; opacity = 0},/obj/structure/window/shuttle{icon_state = "window-whiteship"},/turf/simulated/floor/plating,/area/shuttle/merchant/home)
-"aRZ" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "merchant_ship_interior"; locked = 1; name = "Ship Exterior"; req_access = list(201)},/obj/machinery/door/blast/shutters{density = 0; icon_state = "shutter0"; id = "merchantshuttle1"; name = "Merchant Window Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/shuttle/merchant/home)
-"aSa" = (/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; icon_state = "shutter0"; id = "merchantshuttle1"; name = "Merchant Window Shutters"; opacity = 0},/obj/structure/window/shuttle,/turf/simulated/floor/plating,/area/shuttle/merchant/home)
+"aRY" = (/obj/structure/grille,/obj/machinery/door/blast/shutters{name = "Merchant Window Shutters"; icon_state = "shutter0"; opacity = 0; density = 0; dir = 4; id = "merchantshuttle"},/obj/structure/window/shuttle{icon_state = "window-whiteship"},/turf/simulated/floor/plating,/area/shuttle/merchant/home)
+"aRZ" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/door/airlock/external{name = "Ship Exterior"; icon_state = "door_locked"; frequency = 1379; locked = 1; req_access = list(201); id_tag = "merchant_ship_interior"},/obj/machinery/door/blast/shutters{name = "Merchant Window Shutters"; icon_state = "shutter0"; opacity = 0; density = 0; id = "merchantshuttle1"},/turf/simulated/floor/plating,/area/shuttle/merchant/home)
+"aSa" = (/obj/structure/grille,/obj/machinery/door/blast/shutters{name = "Merchant Window Shutters"; icon_state = "shutter0"; opacity = 0; density = 0; id = "merchantshuttle1"},/obj/structure/window/shuttle,/turf/simulated/floor/plating,/area/shuttle/merchant/home)
"aSb" = (/turf/space,/turf/simulated/shuttle/wall/corner/smoothwhite/se,/area/shuttle/merchant/home)
"aSc" = (/obj/effect/floor_decal/industrial/outline/grey,/obj/structure/largecrate,/obj/random/loot,/obj/effect/floor_decal/corner/green/three_quarters,/turf/simulated/floor/tiled/dark,/area/merchant_station)
"aSd" = (/obj/structure/closet/crate/freezer/rations,/obj/effect/decal/cleanable/dirt,/obj/effect/floor_decal/corner/green{dir = 10},/obj/machinery/light/small,/turf/simulated/floor/tiled/dark,/area/merchant_station)
@@ -2282,7 +2075,7 @@
"aSg" = (/obj/structure/table/steel,/obj/structure/flora/pottedplant/shoot{pixel_y = 7},/obj/effect/floor_decal/corner/green{dir = 10},/obj/machinery/firealarm{dir = 1; pixel_y = -28},/obj/machinery/light/small,/turf/simulated/floor/tiled/dark,/area/merchant_station)
"aSh" = (/obj/structure/table/steel,/obj/item/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/clipboard,/obj/effect/floor_decal/corner/green/three_quarters{dir = 4},/turf/simulated/floor/tiled/dark,/area/merchant_station)
"aSi" = (/obj/structure/window/reinforced,/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/machinery/door/window/brigdoor/eastright{req_access = list(201)},/turf/simulated/floor/tiled/dark,/area/shuttle/merchant/home)
-"aSj" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/floor_decal/corner/green/three_quarters{dir = 8},/obj/machinery/button/remote/blast_door{id = "merchantshuttle1"; name = "Privacy Shutters"; pixel_x = -28; pixel_y = 28; req_access = list(201)},/turf/simulated/floor/tiled,/area/shuttle/merchant/home)
+"aSj" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/effect/floor_decal/corner/green/three_quarters{dir = 8},/obj/machinery/button/remote/blast_door{name = "Privacy Shutters"; pixel_x = -28; pixel_y = 28; id = "merchantshuttle1"; req_access = list(201)},/turf/simulated/floor/tiled,/area/shuttle/merchant/home)
"aSk" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9},/obj/effect/floor_decal/industrial/loading,/turf/simulated/floor/tiled,/area/shuttle/merchant/home)
"aSl" = (/obj/effect/floor_decal/corner/brown/three_quarters{dir = 1},/turf/simulated/floor/tiled,/area/shuttle/merchant/home)
"aSm" = (/obj/structure/closet/crate,/obj/machinery/door/window/brigdoor/westright{req_access = list(201)},/turf/simulated/floor/tiled/dark,/area/shuttle/merchant/home)
@@ -2294,68 +2087,68 @@
"aSs" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled/dark,/area/merchant_station)
"aSt" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled/dark,/area/merchant_station)
"aSv" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/tiled/dark,/area/merchant_station)
-"aSw" = (/obj/structure/bookcase{name = "bookcase (Tactics)"},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"aSx" = (/obj/structure/closet/coffin,/obj/item/device/radio/intercom/syndicate{dir = 8; pixel_x = 22},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"aSy" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green{on = 0; pixel_x = -3; pixel_y = 8},/obj/item/reagent_containers/vessel/flask/barflask,/obj/item/device/radio/intercom/syndicate{dir = 8; pixel_x = 22},/turf/simulated/floor/trim/carpet,/area/wizard_station)
-"aSz" = (/turf/simulated/shuttle/wall/syndi{dir = 6; icon_state = "syndiwall"},/area/shuttle/syndicate_elite/mothership)
+"aSw" = (/obj/structure/bookcase{name = "bookcase (Tactics)"},/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"aSx" = (/obj/structure/closet/coffin,/obj/item/device/radio/intercom/syndicate{dir = 8; pixel_x = 22},/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"aSy" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green{pixel_x = -3; pixel_y = 8; on = 0},/obj/item/reagent_containers/vessel/flask/barflask,/obj/item/device/radio/intercom/syndicate{dir = 8; pixel_x = 22},/turf/simulated/floor/trim/carpet,/area/wizard_station)
+"aSz" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 6},/area/shuttle/syndicate_elite/mothership)
"aSA" = (/obj/structure/table/rack,/obj/random/action_figure,/obj/effect/floor_decal/industrial/outline/grey,/obj/item/clothing/accessory/holster,/turf/simulated/floor/tiled/dark,/area/merchant_station)
"aSB" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/dark,/area/merchant_station)
"aSC" = (/obj/machinery/light/small,/obj/machinery/alarm{dir = 1; pixel_y = -24},/turf/simulated/floor/tiled/dark,/area/merchant_station)
-"aSD" = (/obj/structure/table/rack,/obj/effect/floor_decal/industrial/outline/grey,/obj/item/card/id{access = list(201); desc = "A visitor's access card, this one is for the Merchant's Station."; icon_state = "guest"; name = "Visitor's Card - Merchant's Station"},/obj/item/card/id{access = list(201); desc = "A visitor's access card, this one is for the Merchant's Station."; icon_state = "guest"; name = "Visitor's Card - Merchant's Station"},/obj/item/card/id{access = list(201); desc = "A visitor's access card, this one is for the Merchant's Station."; icon_state = "guest"; name = "Visitor's Card - Merchant's Station"},/turf/simulated/floor/tiled/dark,/area/merchant_station)
-"aSE" = (/obj/structure/table/woodentable,/obj/item/storage/bag/cash,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
+"aSD" = (/obj/structure/table/rack,/obj/effect/floor_decal/industrial/outline/grey,/obj/item/card/id{name = "Visitor's Card - Merchant's Station"; desc = "A visitor's access card, this one is for the Merchant's Station."; icon_state = "guest"; access = list(201)},/obj/item/card/id{name = "Visitor's Card - Merchant's Station"; desc = "A visitor's access card, this one is for the Merchant's Station."; icon_state = "guest"; access = list(201)},/obj/item/card/id{name = "Visitor's Card - Merchant's Station"; desc = "A visitor's access card, this one is for the Merchant's Station."; icon_state = "guest"; access = list(201)},/turf/simulated/floor/tiled/dark,/area/merchant_station)
+"aSE" = (/obj/structure/table/woodentable,/obj/item/storage/bag/cash,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
"aSF" = (/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
"aSG" = (/obj/structure/bed,/obj/item/bedsheet/rd,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
-"aSH" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/obj/item/clothing/suit/wizrobe/red,/obj/item/clothing/shoes/sandal,/obj/item/clothing/head/wizard/red,/obj/item/staff,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
-"aSI" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/obj/item/clothing/suit/wizrobe/marisa,/obj/item/clothing/shoes/sandal/marisa,/obj/item/clothing/head/wizard/marisa,/obj/item/staff/broom,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
-"aSJ" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/obj/item/clothing/suit/wizrobe/magusblue,/obj/item/clothing/head/wizard/magus,/obj/item/staff,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
-"aSK" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
+"aSH" = (/obj/structure/closet{icon_state = "cabinet_closed"; icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"},/obj/item/clothing/suit/wizrobe/red,/obj/item/clothing/shoes/sandal,/obj/item/clothing/head/wizard/red,/obj/item/staff,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
+"aSI" = (/obj/structure/closet{icon_state = "cabinet_closed"; icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"},/obj/item/clothing/suit/wizrobe/marisa,/obj/item/clothing/shoes/sandal/marisa,/obj/item/clothing/head/wizard/marisa,/obj/item/staff/broom,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
+"aSJ" = (/obj/structure/closet{icon_state = "cabinet_closed"; icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"},/obj/item/clothing/suit/wizrobe/magusblue,/obj/item/clothing/head/wizard/magus,/obj/item/staff,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
+"aSK" = (/obj/structure/closet{icon_state = "cabinet_closed"; icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"},/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
"aSL" = (/obj/structure/table/rack,/obj/machinery/door/window/brigdoor/eastright{req_access = list(201)},/turf/simulated/floor/tiled/dark,/area/shuttle/merchant/home)
"aSM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor/tiled,/area/merchant_station)
"aSN" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled,/area/merchant_station)
"aSO" = (/obj/machinery/door/airlock/hatch{name = "Storage"; req_access = list(201)},/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/dark,/area/merchant_station)
"aSP" = (/turf/simulated/floor/asteroid,/area/merchant_station)
-"aSQ" = (/obj/structure/bookcase,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"aSR" = (/obj/machinery/vending/magivend,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
+"aSQ" = (/obj/structure/bookcase,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"aSR" = (/obj/machinery/vending/magivend,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
"aSS" = (/obj/machinery/door/unpowered/simple/wood,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
"aST" = (/obj/item/device/radio/intercom/syndicate{dir = 8; pixel_x = 22},/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
-"aSU" = (/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "merchantshuttle"; name = "Merchant Window Shutters"; opacity = 0},/obj/structure/window/shuttle{icon_state = "window-whiteship"; dir = 1},/turf/simulated/floor/plating,/area/shuttle/merchant/home)
+"aSU" = (/obj/structure/grille,/obj/machinery/door/blast/shutters{name = "Merchant Window Shutters"; icon_state = "shutter0"; opacity = 0; density = 0; dir = 8; id = "merchantshuttle"},/obj/structure/window/shuttle{icon_state = "window-whiteship"; dir = 1},/turf/simulated/floor/plating,/area/shuttle/merchant/home)
"aSV" = (/obj/structure/table/rack,/obj/machinery/door/window/brigdoor/westright{req_access = list(201)},/turf/simulated/floor/tiled/dark,/area/shuttle/merchant/home)
-"aSW" = (/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "merchantshuttle"; name = "Merchant Window Shutters"; opacity = 0},/obj/structure/window/shuttle{icon_state = "window-whiteship-straight"},/turf/simulated/floor/plating,/area/shuttle/merchant/home)
+"aSW" = (/obj/structure/grille,/obj/machinery/door/blast/shutters{name = "Merchant Window Shutters"; icon_state = "shutter0"; opacity = 0; density = 0; dir = 4; id = "merchantshuttle"},/obj/structure/window/shuttle{icon_state = "window-whiteship-straight"},/turf/simulated/floor/plating,/area/shuttle/merchant/home)
"aSX" = (/obj/machinery/alarm{dir = 8; pixel_x = 25; req_one_access = list(201)},/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/merchant_station)
"aSY" = (/obj/structure/table/steel,/turf/simulated/floor/tiled,/area/merchant_station)
-"aSZ" = (/obj/machinery/alarm{pixel_y = 23; req_one_access = list(201)},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/merchant_station)
+"aSZ" = (/obj/machinery/alarm{pixel_y = 23; req_one_access = list(201)},/obj/structure/disposalpipe/segment{icon_state = "pipe-c"; dir = 4},/turf/simulated/floor/tiled,/area/merchant_station)
"aTa" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/merchant_station)
"aTb" = (/obj/structure/closet/emcloset,/obj/machinery/light/small{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/merchant_station)
"aTc" = (/obj/structure/table/rack,/obj/random/loot,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/merchant_station)
"aTd" = (/obj/structure/closet/crate,/obj/machinery/light{dir = 1},/obj/effect/decal/cleanable/dirt,/obj/random/loot,/obj/random/loot,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/merchant_station)
"aTe" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/merchant_station)
"aTf" = (/obj/structure/disposaloutlet{dir = 4},/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/asteroid,/area/merchant_station)
-"aTg" = (/obj/structure/table/woodentable,/obj/machinery/chemical_dispenser/bar_soft/full,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
+"aTg" = (/obj/structure/table/woodentable,/obj/machinery/chemical_dispenser/bar_soft/full,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
"aTh" = (/obj/structure/table/woodentable,/obj/item/storage/backpack/cultpack,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
"aTi" = (/obj/structure/table/woodentable,/obj/item/clothing/glasses/monocle,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
"aTj" = (/obj/structure/table/woodentable,/obj/item/storage/backpack,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
-"aTk" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/obj/item/clothing/under/psysuit,/obj/item/clothing/suit/wizrobe/psypurple,/obj/item/clothing/head/wizard/amp,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
-"aTl" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/obj/item/clothing/shoes/sandal/marisa{desc = "A set of fancy shoes that are as functional as they are comfortable."; name = "Gentlemans Shoes"},/obj/item/clothing/under/gentlesuit,/obj/item/clothing/suit/wizrobe/gentlecoat,/obj/item/clothing/head/wizard/cap,/obj/item/staff/gentcane,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
-"aTm" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/obj/item/clothing/suit/wizrobe/magusred,/obj/item/clothing/head/wizard/magus,/obj/item/staff,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
+"aTk" = (/obj/structure/closet{icon_state = "cabinet_closed"; icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"},/obj/item/clothing/under/psysuit,/obj/item/clothing/suit/wizrobe/psypurple,/obj/item/clothing/head/wizard/amp,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
+"aTl" = (/obj/structure/closet{icon_state = "cabinet_closed"; icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"},/obj/item/clothing/shoes/sandal/marisa{name = "Gentlemans Shoes"; desc = "A set of fancy shoes that are as functional as they are comfortable."},/obj/item/clothing/under/gentlesuit,/obj/item/clothing/suit/wizrobe/gentlecoat,/obj/item/clothing/head/wizard/cap,/obj/item/staff/gentcane,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
+"aTm" = (/obj/structure/closet{icon_state = "cabinet_closed"; icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"},/obj/item/clothing/suit/wizrobe/magusred,/obj/item/clothing/head/wizard/magus,/obj/item/staff,/turf/unsimulated/floor{icon_state = "lino"},/area/wizard_station)
"aTn" = (/obj/effect/floor_decal/corner/green/three_quarters,/turf/simulated/floor/tiled,/area/shuttle/merchant/home)
"aTo" = (/obj/effect/floor_decal/corner/brown/three_quarters{dir = 4},/turf/simulated/floor/tiled,/area/shuttle/merchant/home)
"aTp" = (/obj/structure/extinguisher_cabinet{pixel_x = -26},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/merchant_station)
"aTq" = (/obj/machinery/disposal,/obj/machinery/light/small{dir = 8},/obj/structure/disposalpipe/trunk{dir = 4},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/tiled,/area/merchant_station)
-"aTr" = (/obj/structure/disposalpipe/junction{dir = 1; icon_state = "pipe-j2"},/turf/simulated/floor/tiled,/area/merchant_station)
+"aTr" = (/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 1},/turf/simulated/floor/tiled,/area/merchant_station)
"aTs" = (/obj/structure/table/rack,/obj/item/storage/bag/cash,/turf/simulated/floor/tiled,/area/merchant_station)
"aTt" = (/turf/simulated/wall,/area/merchant_station)
"aTu" = (/obj/machinery/door/window/brigdoor/northleft{req_access = list(201)},/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/dark,/area/shuttle/merchant/home)
-"aTv" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8; health = 1e+006},/obj/structure/table/reinforced,/turf/simulated/floor/tiled/dark,/area/shuttle/merchant/home)
+"aTv" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8; health = 1e+06},/obj/structure/table/reinforced,/turf/simulated/floor/tiled/dark,/area/shuttle/merchant/home)
"aTw" = (/obj/machinery/door/window/brigdoor/northleft{req_access = list(201)},/obj/structure/table/reinforced,/obj/item/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/pen,/obj/structure/closet/walllocker/emerglocker/east,/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled/dark,/area/shuttle/merchant/home)
"aTx" = (/obj/structure/fireaxecabinet{pixel_x = -32},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/merchant_station)
"aTy" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/merchant_station)
"aTz" = (/obj/structure/filingcabinet,/turf/simulated/floor/tiled,/area/merchant_station)
"aTA" = (/obj/structure/table/steel,/obj/item/card/id/merchant,/turf/simulated/floor/tiled,/area/merchant_station)
"aTB" = (/obj/structure/table/steel,/obj/item/spacecash/bundle/c1000,/obj/item/spacecash/bundle/c1000,/obj/item/spacecash/bundle/c1000,/obj/item/spacecash/bundle/c1000,/obj/item/spacecash/bundle/c1000,/obj/item/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/pen,/obj/item/clipboard,/turf/simulated/floor/tiled,/area/merchant_station)
-"aTC" = (/obj/structure/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 4},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"aTD" = (/obj/structure/table/woodentable,/obj/item/dice/d20,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"aTE" = (/obj/structure/table/woodentable,/obj/item/storage/box/cups,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"aTF" = (/obj/structure/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 8},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
+"aTC" = (/obj/structure/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 4},/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"aTD" = (/obj/structure/table/woodentable,/obj/item/dice/d20,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"aTE" = (/obj/structure/table/woodentable,/obj/item/storage/box/cups,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"aTF" = (/obj/structure/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 8},/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
"aTG" = (/obj/item/target,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/wizard_station)
"aTH" = (/obj/item/target/syndicate,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/wizard_station)
"aTI" = (/obj/item/target/alien,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/wizard_station)
@@ -2364,50 +2157,50 @@
"aTL" = (/obj/structure/kitchenspike,/obj/structure/table/marble,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station)
"aTM" = (/obj/structure/closet/secure_closet{name = "merchant's locker"; req_access = list(201)},/obj/effect/floor_decal/corner/brown{dir = 6},/turf/simulated/floor/tiled/dark,/area/shuttle/merchant/home)
"aTN" = (/turf/simulated/floor/tiled/dark,/area/shuttle/merchant/home)
-"aTO" = (/obj/structure/window/reinforced{dir = 8; health = 1e+006},/obj/structure/table/reinforced,/obj/structure/flora/pottedplant/shoot{pixel_y = 7},/turf/simulated/floor/tiled/dark,/area/shuttle/merchant/home)
-"aTP" = (/obj/machinery/embedded_controller/radio/airlock/docking_port{id_tag = "merchant_ship_dock"; pixel_x = -32; pixel_y = 32; tag_airpump = "merchant_ship_vent"; tag_chamber_sensor = "merchant_ship_sensor"; tag_exterior_door = "merchant_ship_exterior"; tag_interior_door = "merchant_ship_interior"},/obj/structure/bed/chair/office/dark{dir = 1},/turf/simulated/floor/tiled/dark,/area/shuttle/merchant/home)
+"aTO" = (/obj/structure/window/reinforced{dir = 8; health = 1e+06},/obj/structure/table/reinforced,/obj/structure/flora/pottedplant/shoot{pixel_y = 7},/turf/simulated/floor/tiled/dark,/area/shuttle/merchant/home)
+"aTP" = (/obj/machinery/embedded_controller/radio/airlock/docking_port{pixel_x = -32; pixel_y = 32; id_tag = "merchant_ship_dock"; tag_exterior_door = "merchant_ship_exterior"; tag_interior_door = "merchant_ship_interior"; tag_airpump = "merchant_ship_vent"; tag_chamber_sensor = "merchant_ship_sensor"},/obj/structure/bed/chair/office/dark{dir = 1},/turf/simulated/floor/tiled/dark,/area/shuttle/merchant/home)
"aTQ" = (/obj/structure/table/reinforced,/obj/item/clipboard,/obj/effect/floor_decal/corner/brown{dir = 9},/turf/simulated/floor/tiled/dark,/area/shuttle/merchant/home)
-"aTR" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/multi_tile/glass{dir = 2; name = "Warehouse"},/turf/simulated/floor/tiled,/area/merchant_station)
+"aTR" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/multi_tile/glass{name = "Warehouse"; dir = 2},/turf/simulated/floor/tiled,/area/merchant_station)
"aTS" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/merchant_station)
"aTT" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/tiled,/area/merchant_station)
"aTU" = (/obj/structure/bed/chair/office/dark{dir = 4},/turf/simulated/floor/tiled,/area/merchant_station)
"aTV" = (/obj/item/modular_computer/console/preset/merchant,/obj/machinery/light/small{dir = 4; pixel_y = 8},/turf/simulated/floor/tiled,/area/merchant_station)
-"aTW" = (/obj/structure/table/woodentable,/obj/structure/table/woodentable,/obj/item/reagent_containers/food/milosoup,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"aTX" = (/obj/structure/table/woodentable,/obj/item/dice,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
+"aTW" = (/obj/structure/table/woodentable,/obj/structure/table/woodentable,/obj/item/reagent_containers/food/milosoup,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"aTX" = (/obj/structure/table/woodentable,/obj/item/dice,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
"aTY" = (/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/wizard_station)
"aTZ" = (/turf/unsimulated/wall/fakeglass,/area/wizard_station)
"aUa" = (/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station)
"aUb" = (/obj/structure/table/reinforced,/obj/random/loot,/obj/effect/floor_decal/corner/brown{dir = 9},/turf/simulated/floor/tiled/dark,/area/shuttle/merchant/home)
"aUc" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/decal/cleanable/dirt,/obj/machinery/door/firedoor,/turf/simulated/floor/tiled,/area/merchant_station)
"aUd" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/machinery/door/firedoor,/turf/simulated/floor/tiled,/area/merchant_station)
-"aUe" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/obj/machinery/button/remote/blast_door{id = "merchantbase"; pixel_x = -26},/turf/simulated/floor/tiled,/area/merchant_station)
+"aUe" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/obj/machinery/button/remote/blast_door{pixel_x = -26; id = "merchantbase"},/turf/simulated/floor/tiled,/area/merchant_station)
"aUf" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/extinguisher_cabinet{pixel_y = -28},/turf/simulated/floor/tiled,/area/merchant_station)
"aUg" = (/obj/machinery/merchant_pad,/obj/effect/floor_decal/industrial/hatch/red,/turf/simulated/floor/tiled/dark,/area/merchant_station)
-"aUh" = (/obj/structure/table/woodentable,/obj/item/device/megaphone,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"aUi" = (/obj/structure/table/woodentable,/obj/item/storage/box/donut,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
+"aUh" = (/obj/structure/table/woodentable,/obj/item/device/megaphone,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"aUi" = (/obj/structure/table/woodentable,/obj/item/storage/box/donut,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
"aUj" = (/obj/structure/table/reinforced,/obj/item/device/eftpos,/obj/effect/floor_decal/corner/brown{dir = 9},/turf/simulated/floor/tiled/dark,/area/shuttle/merchant/home)
"aUk" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/merchant_station)
"aUl" = (/obj/effect/floor_decal/industrial/loading{dir = 8},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/merchant_station)
"aUm" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/merchant_station)
-"aUn" = (/obj/machinery/door/firedoor,/obj/machinery/door/blast/shutters{dir = 8; id = "merchantbase"; name = "Merchant Loading Shutters"},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled,/area/merchant_station)
+"aUn" = (/obj/machinery/door/firedoor,/obj/machinery/door/blast/shutters{name = "Merchant Loading Shutters"; dir = 8; id = "merchantbase"},/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled,/area/merchant_station)
"aUo" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/light/small{dir = 4; pixel_y = 8},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/merchant_station)
"aUp" = (/obj/machinery/door/window/southleft,/obj/machinery/light/small{dir = 8},/obj/effect/floor_decal/industrial/warning,/obj/machinery/conveyor_switch{id = "merchantbelt2"},/turf/simulated/floor/tiled,/area/merchant_station)
"aUq" = (/obj/machinery/door/window/southright,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/merchant_station)
-"aUr" = (/obj/structure/table/woodentable,/obj/item/reagent_containers/food/chawanmushi,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
-"aUs" = (/obj/structure/table/woodentable,/obj/item/spacecash/bundle/c1,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station)
+"aUr" = (/obj/structure/table/woodentable,/obj/item/reagent_containers/food/chawanmushi,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
+"aUs" = (/obj/structure/table/woodentable,/obj/item/spacecash/bundle/c1,/turf/unsimulated/floor{icon_state = "wood"; dir = 8},/area/wizard_station)
"aUt" = (/obj/structure/table/glass,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/wizard_station)
"aUu" = (/obj/item/robot_parts/head,/obj/structure/table/glass,/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/wizard_station)
"aUv" = (/obj/item/device/radio/intercom/syndicate{dir = 8; pixel_x = 22},/turf/unsimulated/floor{name = "plating"; icon_state = "cult"},/area/wizard_station)
"aUw" = (/turf/simulated/shuttle/wall{icon_state = "whiteship_t"; dir = 1},/area/shuttle/merchant/home)
"aUx" = (/obj/machinery/door/airlock/hatch{name = "Cockpit"; req_access = list(201)},/turf/simulated/floor/tiled,/area/shuttle/merchant/home)
"aUy" = (/obj/effect/floor_decal/industrial/loading{dir = 8},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/merchant_station)
-"aUz" = (/obj/machinery/door/firedoor,/obj/machinery/door/blast/shutters{dir = 8; id = "merchantbase"; name = "Merchant Loading Shutters"},/obj/effect/decal/cleanable/dirt,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled,/area/merchant_station)
+"aUz" = (/obj/machinery/door/firedoor,/obj/machinery/door/blast/shutters{name = "Merchant Loading Shutters"; dir = 8; id = "merchantbase"},/obj/effect/decal/cleanable/dirt,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled,/area/merchant_station)
"aUA" = (/obj/machinery/conveyor{dir = 8; id = "merchantbelt2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/merchant_station)
"aUB" = (/obj/machinery/conveyor{dir = 8; id = "merchantbelt2"},/turf/simulated/floor/plating,/area/merchant_station)
"aUC" = (/obj/machinery/conveyor{dir = 8; id = "merchantbelt1"},/turf/simulated/floor/plating,/area/merchant_station)
-"aUD" = (/obj/structure/cable/blue{d2 = 4; icon_state = "0-4"},/obj/machinery/power/solar,/turf/simulated/floor/plating/airless,/area/merchant_station)
-"aUE" = (/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating/airless,/area/merchant_station)
-"aUF" = (/obj/structure/cable/blue{d2 = 8; icon_state = "0-8"},/obj/machinery/power/solar,/turf/simulated/floor/plating/airless,/area/merchant_station)
+"aUD" = (/obj/structure/cable/blue{icon_state = "0-4"; d2 = 4},/obj/machinery/power/solar,/turf/simulated/floor/plating/airless,/area/merchant_station)
+"aUE" = (/obj/structure/cable/blue{icon_state = "2-8"; d2 = 8; d1 = 2},/obj/structure/cable/blue{icon_state = "2-4"; d2 = 4; d1 = 2},/turf/simulated/floor/plating/airless,/area/merchant_station)
+"aUF" = (/obj/structure/cable/blue{icon_state = "0-8"; d2 = 8},/obj/machinery/power/solar,/turf/simulated/floor/plating/airless,/area/merchant_station)
"aUG" = (/obj/structure/flora/pottedplant/tropical,/obj/machinery/vending/wallmed1{pixel_x = 7; pixel_y = 32},/obj/structure/extinguisher_cabinet{pixel_x = -7; pixel_y = 32},/obj/item/storage/secure/safe{pixel_x = -26},/obj/machinery/light{dir = 1},/turf/simulated/floor/trim/wood,/area/shuttle/merchant/home)
"aUH" = (/turf/simulated/floor/trim/wood,/area/shuttle/merchant/home)
"aUI" = (/obj/item/device/radio/intercom{dir = 8; pixel_x = 22},/obj/structure/closet/secure_closet{name = "merchant's locker"; req_access = list(201)},/obj/random/handgun,/obj/machinery/light{dir = 1},/turf/simulated/floor/trim/wood,/area/shuttle/merchant/home)
@@ -2418,11 +2211,11 @@
"aUN" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 8},/area/wizard_station)
"aUO" = (/turf/unsimulated/wall/fakeglass{dir = 1},/area/wizard_station)
"aUP" = (/turf/unsimulated/wall/fakeglass{dir = 4},/area/wizard_station)
-"aUQ" = (/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/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/airless,/area/merchant_station)
+"aUQ" = (/obj/structure/cable/blue{icon_state = "2-8"; d2 = 8; d1 = 2},/obj/structure/cable/blue{icon_state = "2-4"; d2 = 4; d1 = 2},/obj/structure/cable/blue{icon_state = "1-2"; d2 = 2; d1 = 1},/turf/simulated/floor/plating/airless,/area/merchant_station)
"aUR" = (/turf/simulated/floor/trim/carpet/blue,/area/shuttle/merchant/home)
"aUS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small{dir = 8},/obj/machinery/door/firedoor,/turf/simulated/floor/tiled,/area/merchant_station)
"aUT" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/door/firedoor,/turf/simulated/floor/tiled,/area/merchant_station)
-"aUU" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/disposalpipe/segment,/obj/machinery/button/remote/blast_door{id = "merchantbase"; pixel_x = -26},/turf/simulated/floor/tiled,/area/merchant_station)
+"aUU" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/structure/disposalpipe/segment,/obj/machinery/button/remote/blast_door{pixel_x = -26; id = "merchantbase"},/turf/simulated/floor/tiled,/area/merchant_station)
"aUV" = (/obj/structure/table/rack,/obj/item/stack/material/glass/reinforced{amount = 50},/obj/item/stack/material/glass/reinforced{amount = 50},/obj/item/stack/material/glass/reinforced{amount = 50},/obj/item/stack/material/glass/reinforced{amount = 50},/turf/simulated/floor/tiled,/area/merchant_station)
"aUW" = (/obj/structure/table/rack,/obj/item/stack/material/plastic{amount = 50},/obj/item/stack/material/plastic{amount = 50},/obj/item/stack/material/plastic{amount = 50},/obj/item/stack/material/plastic{amount = 50},/turf/simulated/floor/tiled,/area/merchant_station)
"aUX" = (/obj/structure/table/rack,/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/steel{amount = 50},/obj/item/stack/material/steel{amount = 50},/turf/simulated/floor/tiled,/area/merchant_station)
@@ -2430,23 +2223,23 @@
"aUZ" = (/turf/unsimulated/floor{name = "plating"; icon_state = "lava"},/area/wizard_station)
"aVa" = (/turf/unsimulated/floor{icon_state = "asteroid"},/area/wizard_station)
"aVb" = (/mob/living/simple_animal/crab{name = "Experiment 68a"},/turf/unsimulated/floor{icon_state = "asteroid"},/area/wizard_station)
-"aVc" = (/turf/unsimulated/floor{icon_state = "grass0"; name = "grass"},/area/wizard_station)
-"aVd" = (/obj/structure/flora/ausbushes/fullgrass,/turf/unsimulated/floor{icon_state = "grass0"; name = "grass"},/area/wizard_station)
+"aVc" = (/turf/unsimulated/floor{name = "grass"; icon_state = "grass0"},/area/wizard_station)
+"aVd" = (/obj/structure/flora/ausbushes/fullgrass,/turf/unsimulated/floor{name = "grass"; icon_state = "grass0"},/area/wizard_station)
"aVe" = (/obj/effect/decal/cleanable/blood,/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/wizard_station)
"aVf" = (/mob/living/carbon/human/monkey{name = "Murphey"},/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/wizard_station)
"aVg" = (/obj/structure/bed/chair/comfy/black,/turf/simulated/floor/trim/carpet/blue,/area/shuttle/merchant/home)
-"aVh" = (/obj/machinery/button/remote/blast_door{id = "merchantshuttle"; name = "Merchant Window Shutters"; pixel_x = 28; req_access = list(201)},/obj/structure/bed/chair/comfy/black,/turf/simulated/floor/trim/carpet/blue,/area/shuttle/merchant/home)
+"aVh" = (/obj/machinery/button/remote/blast_door{name = "Merchant Window Shutters"; pixel_x = 28; id = "merchantshuttle"; req_access = list(201)},/obj/structure/bed/chair/comfy/black,/turf/simulated/floor/trim/carpet/blue,/area/shuttle/merchant/home)
"aVi" = (/obj/structure/table/reinforced,/turf/simulated/floor/trim/carpet/blue,/area/shuttle/merchant/home)
-"aVj" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor/tiled,/area/merchant_station)
+"aVj" = (/obj/structure/disposalpipe/segment{icon_state = "pipe-c"; dir = 4},/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/turf/simulated/floor/tiled,/area/merchant_station)
"aVk" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/merchant_station)
"aVl" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/merchant_station)
"aVm" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/merchant_station)
-"aVn" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/merchant_station)
+"aVn" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/structure/disposalpipe/segment{icon_state = "pipe-c"; dir = 8},/turf/simulated/floor/tiled,/area/merchant_station)
"aVo" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled,/area/merchant_station)
"aVp" = (/obj/machinery/light/small{dir = 4; pixel_y = 8},/obj/effect/decal/cleanable/dirt,/obj/machinery/conveyor{dir = 1; id = "merchantbelt1"},/turf/simulated/floor/plating,/area/merchant_station)
"aVq" = (/mob/living/simple_animal/hostile/creature{name = "Experiment 35b"},/turf/unsimulated/floor{name = "plating"; icon_state = "lava"},/area/wizard_station)
-"aVr" = (/obj/structure/flora/ausbushes/grassybush,/turf/unsimulated/floor{icon_state = "grass0"; name = "grass"},/area/wizard_station)
-"aVs" = (/mob/living/simple_animal/hostile/retaliate/goat{name = "Experiment 97d"},/turf/unsimulated/floor{icon_state = "grass0"; name = "grass"},/area/wizard_station)
+"aVr" = (/obj/structure/flora/ausbushes/grassybush,/turf/unsimulated/floor{name = "grass"; icon_state = "grass0"},/area/wizard_station)
+"aVs" = (/mob/living/simple_animal/hostile/retaliate/goat{name = "Experiment 97d"},/turf/unsimulated/floor{name = "grass"; icon_state = "grass0"},/area/wizard_station)
"aVt" = (/obj/item/caution,/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/wizard_station)
"aVu" = (/obj/item/material/knife/ritual,/turf/unsimulated/floor{icon_state = "freezerfloor"},/area/wizard_station)
"aVv" = (/turf/space,/turf/simulated/shuttle/wall/corner/smoothwhite/ne,/area/shuttle/merchant/home)
@@ -2458,7 +2251,7 @@
"aVB" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/merchant_station)
"aVC" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/conveyor_switch{id = "merchantbelt1"},/turf/simulated/floor/tiled,/area/merchant_station)
"aVD" = (/obj/machinery/conveyor{dir = 1; id = "merchantbelt1"},/turf/simulated/floor/plating,/area/merchant_station)
-"aVE" = (/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "merchantshuttle"; name = "Merchant Window Shutters"; opacity = 0},/obj/structure/window/shuttle{icon_state = "window-whiteship"; dir = 4},/turf/simulated/floor/plating,/area/shuttle/merchant/home)
+"aVE" = (/obj/structure/grille,/obj/machinery/door/blast/shutters{name = "Merchant Window Shutters"; icon_state = "shutter0"; opacity = 0; density = 0; dir = 2; id = "merchantshuttle"},/obj/structure/window/shuttle{icon_state = "window-whiteship"; dir = 4},/turf/simulated/floor/plating,/area/shuttle/merchant/home)
"aVF" = (/obj/structure/noticeboard{pixel_x = 32},/obj/machinery/light{dir = 4},/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/merchant_station)
"aVG" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/tiled,/area/merchant_station)
"aVH" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled{icon_state = "steel_dirty"},/area/merchant_station)
@@ -2468,14 +2261,14 @@
"aVL" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/merchant_station)
"aVM" = (/obj/machinery/vending/engivend,/turf/simulated/floor/tiled,/area/merchant_station)
"aVN" = (/obj/machinery/alarm{dir = 4; pixel_x = -22},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled,/area/merchant_station)
-"aVO" = (/obj/structure/closet,/obj/item/clothing/shoes/sandal,/obj/item/clothing/shoes/sandal,/obj/item/clothing/under/rank/psych/turtleneck{desc = "A turqouise turtleneck and a pair of dark blue slacks."; name = "turtleneck"},/turf/simulated/floor/tiled,/area/merchant_station)
+"aVO" = (/obj/structure/closet,/obj/item/clothing/shoes/sandal,/obj/item/clothing/shoes/sandal,/obj/item/clothing/under/rank/psych/turtleneck{name = "turtleneck"; desc = "A turqouise turtleneck and a pair of dark blue slacks."},/turf/simulated/floor/tiled,/area/merchant_station)
"aVP" = (/obj/structure/table/rack,/obj/item/stack/material/plasteel{amount = 10},/obj/item/stack/material/plasteel{amount = 10},/obj/item/stack/material/plasteel{amount = 10},/obj/item/stack/material/plasteel{amount = 10},/turf/simulated/floor/tiled,/area/merchant_station)
"aVQ" = (/obj/structure/table/rack,/turf/simulated/floor/tiled/airless,/area/merchant_station)
"aVR" = (/obj/structure/lattice,/obj/machinery/light/small,/turf/space,/area/merchant_station)
"aVS" = (/obj/effect/wingrille_spawn/reinforced/crescent,/turf/unsimulated/floor{name = "plating"},/area/merchant_station)
-"aVT" = (/obj/machinery/autolathe{desc = "Your typical Autolathe. It appears to have much more options than your regular one, however..."; hacked = 1; name = "Unlocked Autolathe"},/turf/simulated/floor/tiled,/area/merchant_station)
+"aVT" = (/obj/machinery/autolathe{name = "Unlocked Autolathe"; desc = "Your typical Autolathe. It appears to have much more options than your regular one, however..."; hacked = 1},/turf/simulated/floor/tiled,/area/merchant_station)
"aVU" = (/obj/machinery/constructable_frame/machine_frame,/obj/machinery/light/small{dir = 1},/obj/machinery/firealarm{dir = 1; pixel_y = 24},/turf/simulated/floor/tiled,/area/merchant_station)
-"aVV" = (/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/random/powercell,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_y = 24; req_access = list(201)},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/tiled,/area/merchant_station)
+"aVV" = (/obj/structure/table/steel,/obj/machinery/cell_charger,/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/random/powercell,/obj/machinery/power/apc{name = "north bump"; dir = 1; pixel_y = 24; req_access = list(201)},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/tiled,/area/merchant_station)
"aVW" = (/obj/machinery/suit_storage_unit/standard_unit{req_access = list(201)},/turf/simulated/floor/tiled,/area/merchant_station)
"aVX" = (/obj/structure/extinguisher_cabinet{pixel_x = -26},/obj/structure/flora/pottedplant/minitree,/turf/simulated/floor/tiled,/area/merchant_station)
"aVY" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/merchant_station)
@@ -2484,8 +2277,8 @@
"aWb" = (/obj/structure/table/rack,/turf/simulated/floor/tiled,/area/merchant_station)
"aWc" = (/obj/structure/table/steel,/obj/machinery/light/small{dir = 4; pixel_y = 8},/turf/simulated/floor/plating,/area/merchant_station)
"aWd" = (/obj/structure/table/steel,/obj/item/storage/toolbox/mechanical,/turf/simulated/floor/tiled,/area/merchant_station)
-"aWe" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled,/area/merchant_station)
-"aWf" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/merchant_station)
+"aWe" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/structure/cable{icon_state = "2-4"; d2 = 4; d1 = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled,/area/merchant_station)
+"aWf" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/structure/cable{icon_state = "1-8"; d2 = 8; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/merchant_station)
"aWg" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/tiled,/area/merchant_station)
"aWh" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock/maintenance{name = "Maintenance"; req_access = list(201)},/obj/machinery/door/firedoor,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/merchant_station)
"aWi" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/merchant_station)
@@ -2499,12 +2292,12 @@
"aWr" = (/obj/structure/table/rack,/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/obj/item/stack/material/glass{amount = 50},/turf/simulated/floor/tiled,/area/merchant_station)
"aWs" = (/obj/structure/table/rack,/obj/item/stack/rods{amount = 50},/obj/item/stack/rods{amount = 50},/obj/item/stack/rods{amount = 50},/obj/item/stack/rods{amount = 50},/turf/simulated/floor/plating,/area/merchant_station)
"aWt" = (/obj/structure/closet,/obj/item/clothing/shoes/laceup,/obj/item/clothing/under/vox/vox_casual,/turf/simulated/floor/plating,/area/merchant_station)
-"aWu" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating/airless,/area/merchant_station)
+"aWu" = (/obj/structure/cable/blue{icon_state = "1-2"; d2 = 2; d1 = 1},/turf/simulated/floor/plating/airless,/area/merchant_station)
"aWv" = (/obj/structure/closet/crate,/obj/machinery/light/small{dir = 8},/obj/item/stack/material/glass{amount = 15},/obj/item/stack/material/plastic{amount = 10},/obj/item/stack/material/steel{amount = 10},/obj/item/device/floor_painter,/turf/simulated/floor/plating,/area/merchant_station)
"aWw" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/tiled,/area/merchant_station)
"aWx" = (/obj/machinery/vending/engivend{req_access = list(201)},/turf/simulated/floor/plating,/area/merchant_station)
"aWy" = (/obj/structure/table/steel,/obj/item/storage/box/lights/mixed,/obj/item/reagent_containers/spray/cleaner,/turf/simulated/floor/plating,/area/merchant_station)
-"aWz" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled,/area/merchant_station)
+"aWz" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled,/area/merchant_station)
"aWA" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/merchant_station)
"aWB" = (/obj/machinery/atmospherics/pipe/simple/visible/universal,/obj/machinery/alarm{dir = 8; pixel_x = 25; req_one_access = list(201)},/turf/simulated/floor/tiled,/area/merchant_station)
"aWC" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/merchant_station)
@@ -2515,20 +2308,20 @@
"aWH" = (/obj/structure/closet/crate,/turf/simulated/floor/plating,/area/merchant_station)
"aWI" = (/obj/random/trash,/turf/simulated/floor/plating,/area/merchant_station)
"aWJ" = (/obj/structure/table/rack,/obj/random/medical,/turf/simulated/floor/tiled,/area/merchant_station)
-"aWK" = (/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating/airless,/area/merchant_station)
-"aWL" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating/airless,/area/merchant_station)
-"aWM" = (/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/plating/airless,/area/merchant_station)
+"aWK" = (/obj/structure/cable/blue{icon_state = "1-4"; d2 = 4; d1 = 1},/turf/simulated/floor/plating/airless,/area/merchant_station)
+"aWL" = (/obj/structure/cable/blue{icon_state = "4-8"; d2 = 8; d1 = 4},/turf/simulated/floor/plating/airless,/area/merchant_station)
+"aWM" = (/obj/structure/cable/blue{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/structure/cable/blue{icon_state = "2-8"; d2 = 8; d1 = 2},/turf/simulated/floor/plating/airless,/area/merchant_station)
"aWN" = (/obj/structure/table/woodentable,/obj/item/material/ashtray/bronze,/obj/item/clothing/mask/smokable/cigarette/cigar/havana,/turf/simulated/floor/tiled,/area/merchant_station)
-"aWO" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable/blue{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/tiled,/area/merchant_station)
-"aWP" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/power/smes/buildable{charge = 2.5e+006; input_attempt = 1; input_level = 250000; output_attempt = 1; output_level = 250000; RCon_tag = null},/turf/simulated/floor/plating,/area/merchant_station)
-"aWQ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/merchant_station)
-"aWR" = (/obj/structure/extinguisher_cabinet{pixel_y = 28},/obj/machinery/light/small{dir = 1},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/merchant_station)
+"aWO" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable/blue{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/tiled,/area/merchant_station)
+"aWP" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/effect/floor_decal/industrial/outline/yellow,/obj/machinery/power/smes/buildable{charge = 2.5e+06; input_attempt = 1; input_level = 250000; output_attempt = 1; output_level = 250000; RCon_tag = null},/turf/simulated/floor/plating,/area/merchant_station)
+"aWQ" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/merchant_station)
+"aWR" = (/obj/structure/extinguisher_cabinet{pixel_y = 28},/obj/machinery/light/small{dir = 1},/obj/structure/cable{icon_state = "2-8"; d2 = 8; d1 = 2},/turf/simulated/floor/tiled,/area/merchant_station)
"aWS" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/plating,/area/merchant_station)
-"aWT" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled,/area/merchant_station)
-"aWU" = (/obj/random/trash,/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/plating,/area/merchant_station)
-"aWV" = (/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/plating,/area/merchant_station)
-"aWW" = (/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,/area/merchant_station)
-"aWX" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled,/area/merchant_station)
+"aWT" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{icon_state = "2-4"; d2 = 4; d1 = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled,/area/merchant_station)
+"aWU" = (/obj/random/trash,/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/merchant_station)
+"aWV" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/merchant_station)
+"aWW" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/merchant_station)
+"aWX" = (/obj/structure/cable{icon_state = "1-8"; d2 = 8; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled,/area/merchant_station)
"aWY" = (/obj/machinery/atmospherics/pipe/simple/visible/universal,/turf/simulated/floor/tiled,/area/merchant_station)
"aWZ" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor/plating,/area/merchant_station)
"aXa" = (/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/plating,/area/merchant_station)
@@ -2539,29 +2332,28 @@
"aXf" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock{name = "Toilet"},/obj/machinery/door/firedoor,/turf/simulated/floor/tiled,/area/merchant_station)
"aXg" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/merchant_station)
"aXh" = (/obj/structure/reagent_dispensers{anchored = 1},/turf/simulated/floor/tiled,/area/merchant_station)
-"aXi" = (/obj/machinery/power/tracker,/obj/structure/cable/blue{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating/airless,/area/merchant_station)
-"aXj" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating/airless,/area/merchant_station)
-"aXk" = (/obj/effect/wingrille_spawn/reinforced/crescent,/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/unsimulated/floor{name = "plating"},/area/merchant_station)
-"aXl" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/machinery/power/solar_control/autostart,/obj/structure/cable/blue{d2 = 8; icon_state = "0-8"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled,/area/merchant_station)
-"aXm" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/bed/chair/comfy/black{dir = 8},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/floor/tiled,/area/merchant_station)
-"aXn" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/effect/decal/cleanable/dirt,/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/merchant_station)
+"aXi" = (/obj/machinery/power/tracker,/obj/structure/cable/blue{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless,/area/merchant_station)
+"aXj" = (/obj/structure/cable/blue{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/structure/cable/blue{icon_state = "2-4"; d2 = 4; d1 = 2},/obj/structure/cable/blue{icon_state = "1-4"; d2 = 4; d1 = 1},/turf/simulated/floor/plating/airless,/area/merchant_station)
+"aXk" = (/obj/effect/wingrille_spawn/reinforced/crescent,/obj/structure/cable/blue{icon_state = "4-8"; d2 = 8; d1 = 4},/turf/unsimulated/floor{name = "plating"},/area/merchant_station)
+"aXl" = (/obj/structure/cable/blue{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/machinery/power/solar_control/autostart,/obj/structure/cable/blue{icon_state = "0-8"; d2 = 8},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled,/area/merchant_station)
+"aXm" = (/obj/structure/cable/blue{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/structure/bed/chair/comfy/black{dir = 8},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/floor/tiled,/area/merchant_station)
+"aXn" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/effect/decal/cleanable/dirt,/obj/structure/cable/blue{icon_state = "1-8"; d2 = 8; d1 = 1},/obj/structure/cable/blue{icon_state = "2-8"; d2 = 8; d1 = 2},/turf/simulated/floor/tiled,/area/merchant_station)
"aXo" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/merchant_station)
-"aXp" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/merchant_station)
-"aXq" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/merchant_station)
-"aXr" = (/obj/machinery/door/airlock/maintenance{name = "Solar Array"; req_access = list(201)},/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/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,/area/merchant_station)
-"aXs" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/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,/area/merchant_station)
-"aXt" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/effect/decal/cleanable/dirt,/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,/area/merchant_station)
-"aXu" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled,/area/merchant_station)
+"aXp" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/effect/decal/cleanable/dirt,/obj/structure/cable{icon_state = "1-4"; d2 = 4; d1 = 1},/obj/structure/cable{icon_state = "2-4"; d2 = 4; d1 = 2},/turf/simulated/floor/plating,/area/merchant_station)
+"aXq" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/turf/simulated/floor/plating,/area/merchant_station)
+"aXr" = (/obj/machinery/door/airlock/maintenance{name = "Solar Array"; req_access = list(201)},/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/merchant_station)
+"aXs" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/merchant_station)
+"aXt" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/effect/decal/cleanable/dirt,/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/merchant_station)
+"aXu" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/effect/decal/cleanable/dirt,/obj/structure/cable{icon_state = "1-8"; d2 = 8; d1 = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled,/area/merchant_station)
"aXv" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 1},/obj/machinery/meter,/turf/simulated/floor/tiled,/area/merchant_station)
-"aXw" = (/obj/machinery/atmospherics/omni/filter{active_power_usage = 2500; tag_east = 1; tag_south = 4; tag_west = 2},/turf/simulated/floor/plating,/area/merchant_station)
+"aXw" = (/obj/machinery/atmospherics/omni/filter{tag_south = 4; tag_east = 1; tag_west = 2; active_power_usage = 2500},/turf/simulated/floor/plating,/area/merchant_station)
"aXx" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/floor/tiled,/area/merchant_station)
-"aXy" = (/obj/machinery/atmospherics/omni/filter{tag_east = 1; tag_south = 3; tag_west = 2},/turf/simulated/floor/tiled,/area/merchant_station)
+"aXy" = (/obj/machinery/atmospherics/omni/filter{tag_south = 3; tag_east = 1; tag_west = 2},/turf/simulated/floor/tiled,/area/merchant_station)
"aXz" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/visible/red{dir = 9},/turf/simulated/floor/plating,/area/merchant_station)
"aXA" = (/obj/machinery/atmospherics/binary/passive_gate/on{dir = 1},/turf/simulated/floor/plating,/area/merchant_station)
"aXB" = (/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/machinery/light/small{dir = 4; pixel_y = 8},/obj/item/tank/emergency/oxygen/double,/turf/simulated/floor/plating,/area/merchant_station)
-"aXC" = (/obj/machinery/shower{dir = 4; pixel_x = 5},/obj/structure/curtain/open/shower,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/machinery/door/window,/turf/simulated/floor/tiled/freezer,/area/merchant_station)
+"aXC" = (/obj/machinery/shower{dir = 4; pixel_x = 5},/obj/structure/curtain/open/shower,/obj/structure/window/reinforced{dir = 1; health = 1e+06},/obj/machinery/door/window,/turf/simulated/floor/tiled/freezer,/area/merchant_station)
"aXD" = (/turf/simulated/floor/tiled/freezer,/area/merchant_station)
-"aXE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/mob/living/simple_animal/tindalos{name = "Eddy"},/turf/simulated/floor/tiled/freezer,/area/merchant_station)
"aXF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/extinguisher_cabinet{pixel_x = -26},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/junction{dir = 1},/turf/simulated/floor/tiled,/area/merchant_station)
"aXG" = (/obj/effect/decal/cleanable/dirt,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/merchant_station)
"aXH" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/merchant_station)
@@ -2569,21 +2361,21 @@
"aXJ" = (/obj/machinery/firealarm{pixel_y = 26},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/trim/wood,/area/merchant_station)
"aXK" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/trim/wood,/area/merchant_station)
"aXL" = (/obj/machinery/computer/arcade,/turf/simulated/floor/trim/wood,/area/merchant_station)
-"aXM" = (/obj/structure/table/woodentable,/obj/structure/window/reinforced{dir = 8},/obj/machinery/chemical_dispenser/bar_coffee,/obj/machinery/light{dir = 1},/turf/simulated/floor/trim/carpet,/area/merchant_station)
+"aXM" = (/obj/structure/table/woodentable,/obj/structure/window/reinforced{dir = 8},/obj/machinery/light{dir = 1},/turf/simulated/floor/trim/carpet,/area/merchant_station)
"aXN" = (/obj/structure/bed/chair/comfy/brown,/turf/simulated/floor/trim/carpet,/area/merchant_station)
"aXO" = (/obj/structure/table/woodentable,/obj/machinery/chemical_dispenser/bar_soft,/turf/simulated/floor/trim/carpet,/area/merchant_station)
-"aXP" = (/obj/structure/cable/blue{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating/airless,/area/merchant_station)
-"aXQ" = (/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/plating/airless,/area/merchant_station)
+"aXP" = (/obj/structure/cable/blue{icon_state = "2-4"; d2 = 4; d1 = 2},/turf/simulated/floor/plating/airless,/area/merchant_station)
+"aXQ" = (/obj/structure/cable/blue{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/structure/cable/blue{icon_state = "1-8"; d2 = 8; d1 = 1},/turf/simulated/floor/plating/airless,/area/merchant_station)
"aXR" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable/blue,/turf/simulated/floor/plating,/area/merchant_station)
-"aXS" = (/obj/machinery/power/smes/buildable{charge = 2.5e+006; input_attempt = 1; input_level = 250000; output_attempt = 1; output_level = 250000; RCon_tag = null},/obj/effect/floor_decal/industrial/outline/yellow,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/merchant_station)
-"aXT" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/merchant_station)
-"aXU" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/light/small,/turf/simulated/floor/plating,/area/merchant_station)
+"aXS" = (/obj/machinery/power/smes/buildable{charge = 2.5e+06; input_attempt = 1; input_level = 250000; output_attempt = 1; output_level = 250000; RCon_tag = null},/obj/effect/floor_decal/industrial/outline/yellow,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/merchant_station)
+"aXT" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/turf/simulated/floor/plating,/area/merchant_station)
+"aXU" = (/obj/structure/cable{icon_state = "1-8"; d2 = 8; d1 = 1},/obj/machinery/light/small,/turf/simulated/floor/plating,/area/merchant_station)
"aXV" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/plating,/area/merchant_station)
"aXW" = (/obj/structure/sign/warning/high_voltage,/turf/simulated/wall,/area/merchant_station)
"aXX" = (/obj/machinery/light/small,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled,/area/merchant_station)
"aXY" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/floor/plating,/area/merchant_station)
"aXZ" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 5},/turf/simulated/floor/plating,/area/merchant_station)
-"aYa" = (/obj/machinery/atmospherics/omni/mixer{active_power_usage = 2500; tag_east = 1; tag_east_con = 0.21; tag_south = 2; tag_west = 1; tag_west_con = 0.79},/turf/simulated/floor/plating,/area/merchant_station)
+"aYa" = (/obj/machinery/atmospherics/omni/mixer{tag_east_con = 0.21; tag_west_con = 0.79; tag_south = 2; tag_east = 1; tag_west = 1; active_power_usage = 2500},/turf/simulated/floor/plating,/area/merchant_station)
"aYb" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 9},/turf/simulated/floor/plating,/area/merchant_station)
"aYc" = (/obj/effect/decal/cleanable/blood/oil,/turf/simulated/floor/plating,/area/merchant_station)
"aYd" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{dir = 8},/obj/machinery/meter,/turf/simulated/floor/plating,/area/merchant_station)
@@ -2608,13 +2400,13 @@
"aYx" = (/obj/machinery/door/airlock{name = "Toilet"},/turf/simulated/floor/tiled/freezer,/area/merchant_station)
"aYy" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/freezer,/area/merchant_station)
"aYz" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/wall,/area/merchant_station)
-"aYA" = (/obj/machinery/door/airlock{id_tag = "Dormitory 1"; name = "Dorm"},/obj/machinery/door/firedoor,/turf/simulated/floor/tiled,/area/merchant_station)
+"aYA" = (/obj/machinery/door/airlock{name = "Dorm"; id_tag = "Dormitory 1"},/obj/machinery/door/firedoor,/turf/simulated/floor/tiled,/area/merchant_station)
"aYB" = (/obj/structure/sign/poster,/turf/simulated/wall,/area/merchant_station)
"aYC" = (/obj/structure/flora/pottedplant/large,/turf/simulated/floor/trim/wood,/area/merchant_station)
"aYD" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/trim/wood,/area/merchant_station)
-"aYE" = (/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/structure/window/reinforced{dir = 4},/obj/machinery/media/jukebox,/turf/simulated/floor/trim/wood,/area/merchant_station)
+"aYE" = (/obj/structure/window/reinforced{dir = 1; health = 1e+06},/obj/structure/window/reinforced{dir = 4},/obj/machinery/media/jukebox,/turf/simulated/floor/trim/wood,/area/merchant_station)
"aYF" = (/obj/structure/bed/chair/comfy/brown{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/trim/carpet,/area/merchant_station)
-"aYG" = (/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/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating/airless,/area/merchant_station)
+"aYG" = (/obj/structure/cable/blue{icon_state = "1-4"; d2 = 4; d1 = 1},/obj/structure/cable/blue{icon_state = "1-8"; d2 = 8; d1 = 1},/obj/structure/cable/blue{icon_state = "1-2"; d2 = 2; d1 = 1},/turf/simulated/floor/plating/airless,/area/merchant_station)
"aYH" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/powered/pump/filled,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/merchant_station)
"aYI" = (/obj/machinery/atmospherics/binary/pump{dir = 8},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/merchant_station)
"aYJ" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 9},/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/item/tank/nitrogen,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/merchant_station)
@@ -2625,7 +2417,7 @@
"aYO" = (/obj/machinery/light/small{dir = 4; pixel_y = 8},/obj/machinery/firealarm{dir = 4; pixel_x = 26},/turf/simulated/floor/tiled,/area/merchant_station)
"aYP" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/table/woodentable,/obj/random/action_figure,/turf/simulated/floor/trim/carpet,/area/merchant_station)
"aYQ" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/structure/bed,/obj/structure/curtain/open/bed,/obj/item/bedsheet/blue,/turf/simulated/floor/trim/carpet,/area/merchant_station)
-"aYR" = (/obj/structure/holostool,/turf/simulated/floor/trim/wood,/area/merchant_station)
+"aYR" = (/obj/item/stool/padded,/turf/simulated/floor/trim/wood,/area/merchant_station)
"aYS" = (/obj/structure/table/woodentable,/obj/machinery/microwave{pixel_y = 5},/obj/machinery/light{dir = 4},/obj/structure/sign/warning/smoking{pixel_x = 32},/turf/simulated/floor/trim/wood,/area/merchant_station)
"aYT" = (/obj/structure/toilet{dir = 4},/turf/simulated/floor/tiled/freezer,/area/merchant_station)
"aYU" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/freezer,/area/merchant_station)
@@ -2636,124 +2428,124 @@
"aYZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/trim/carpet,/area/merchant_station)
"aZa" = (/obj/machinery/light/small{dir = 4; pixel_y = 8},/turf/simulated/floor/trim/carpet,/area/merchant_station)
"aZb" = (/obj/structure/table/woodentable,/obj/item/material/ashtray,/obj/item/clothing/mask/smokable/cigarette/cigar/havana,/obj/machinery/light{dir = 8},/turf/simulated/floor/trim/wood,/area/merchant_station)
-"aZc" = (/obj/structure/holostool,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/trim/wood,/area/merchant_station)
+"aZc" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/item/stool/padded,/turf/simulated/floor/trim/wood,/area/merchant_station)
"aZd" = (/obj/structure/table/woodentable,/obj/item/storage/box/glasses/pint,/turf/simulated/floor/trim/wood,/area/merchant_station)
"aZe" = (/obj/item/modular_computer/console/preset/civilian,/turf/simulated/floor/trim/wood,/area/merchant_station)
"aZf" = (/obj/structure/table/woodentable,/turf/simulated/floor/trim/carpet/blue,/area/merchant_station)
-"aZg" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"; name = "Wardrobe"},/obj/item/clothing/shoes/black,/obj/item/clothing/under/overalls,/obj/item/clothing/under/skirt,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/trim/carpet/blue,/area/merchant_station)
+"aZg" = (/obj/structure/closet{name = "Wardrobe"; icon_state = "cabinet_closed"; icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"},/obj/item/clothing/shoes/black,/obj/item/clothing/under/overalls,/obj/item/clothing/under/skirt,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/trim/carpet/blue,/area/merchant_station)
"aZh" = (/obj/machinery/washing_machine,/turf/simulated/floor/tiled,/area/merchant_station)
-"aZi" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"; name = "Wardrobe"},/obj/item/clothing/shoes/leather,/obj/item/clothing/under/blazer,/obj/item/clothing/under/lawyer/black,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/trim/carpet,/area/merchant_station)
+"aZi" = (/obj/structure/closet{name = "Wardrobe"; icon_state = "cabinet_closed"; icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"},/obj/item/clothing/shoes/leather,/obj/item/clothing/under/blazer,/obj/item/clothing/under/lawyer/black,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/trim/carpet,/area/merchant_station)
"aZj" = (/obj/structure/table/woodentable,/obj/random/toy,/turf/simulated/floor/trim/carpet,/area/merchant_station)
"aZk" = (/obj/structure/table/woodentable,/obj/machinery/newscaster{pixel_x = -28},/obj/structure/reagent_dispensers/beerkeg,/turf/simulated/floor/trim/wood,/area/merchant_station)
-"aZl" = (/obj/structure/holostool,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/trim/wood,/area/merchant_station)
+"aZl" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/item/stool/padded,/turf/simulated/floor/trim/wood,/area/merchant_station)
"aZm" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/trim/wood,/area/merchant_station)
"aZn" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/trim/wood,/area/merchant_station)
"aZo" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/trim/wood,/area/merchant_station)
"aZq" = (/obj/machinery/vending/boozeomat,/turf/simulated/floor/trim/wood,/area/merchant_station)
"aZr" = (/obj/structure/bookcase{name = "bookcase (Adult)"},/turf/simulated/floor/trim/wood,/area/merchant_station)
"aZs" = (/obj/structure/bookcase/manuals/engineering,/turf/simulated/floor/trim/wood,/area/merchant_station)
-"aZt" = (/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/blue{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating/airless,/area/merchant_station)
+"aZt" = (/obj/structure/cable/blue{icon_state = "1-4"; d2 = 4; d1 = 1},/obj/structure/cable/blue{icon_state = "1-8"; d2 = 8; d1 = 1},/turf/simulated/floor/plating/airless,/area/merchant_station)
"baC" = (/obj/effect/overlay/palmtree_r,/turf/unsimulated/beach/sand{icon_state = "desert2"},/turf/unsimulated/beach/sand{icon_state = "coconuts"},/area/centcom/holding)
-"bbb" = (/obj/machinery/vending/cigarette{name = "hacked cigarette machine"; prices = list(); products = list(/obj/item/storage/fancy/cigarettes=10,/obj/item/storage/box/matches=10,/obj/item/flame/lighter/zippo=4,/obj/item/clothing/mask/smokable/cigarette/cigar/havana=2)},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
+"bbb" = (/obj/machinery/vending/cigarette{name = "hacked cigarette machine"; products = list(/obj/item/storage/fancy/cigarettes=10, /obj/item/storage/box/matches=10, /obj/item/flame/lighter/zippo=4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana=2); prices = list()},/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
"bcb" = (/obj/machinery/teleporter_gate,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/control)
-"bcv" = (/turf/simulated/shuttle/wall/syndi{dir = 4; icon_state = "syndiwall"},/area/syndicate_station/start)
-"bdb" = (/obj/machinery/vending/cigarette{name = "hacked cigarette machine"; prices = list(); products = list(/obj/item/storage/fancy/cigarettes=10,/obj/item/storage/box/matches=10,/obj/item/flame/lighter/zippo=4,/obj/item/clothing/mask/smokable/cigarette/cigar/havana=2)},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
-"beb" = (/obj/machinery/vending/cigarette{name = "hacked cigarette machine"; prices = list(); products = list(/obj/item/storage/fancy/cigarettes=10,/obj/item/storage/box/matches=10,/obj/item/flame/lighter/zippo=4,/obj/item/clothing/mask/smokable/cigarette/cigar/havana=2)},/turf/simulated/floor/trim/wood,/area/merchant_station)
+"bcv" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 4},/area/syndicate_station/start)
+"bdb" = (/obj/machinery/vending/cigarette{name = "hacked cigarette machine"; products = list(/obj/item/storage/fancy/cigarettes=10, /obj/item/storage/box/matches=10, /obj/item/flame/lighter/zippo=4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana=2); prices = list()},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
+"beb" = (/obj/machinery/vending/cigarette{name = "hacked cigarette machine"; products = list(/obj/item/storage/fancy/cigarettes=10, /obj/item/storage/box/matches=10, /obj/item/flame/lighter/zippo=4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana=2); prices = list()},/turf/simulated/floor/trim/wood,/area/merchant_station)
"bsm" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"; dir = 1},/area/shuttle/administration/centcom)
-"bIu" = (/turf/simulated/shuttle/wall/syndi{dir = 8; icon_state = "syndiwall_straight"},/area/rescue_base/start)
-"bMa" = (/turf/simulated/shuttle/wall/syndi{dir = 1; icon_state = "syndiwall_t"},/area/shuttle/syndicate_elite/mothership)
-"bZR" = (/turf/simulated/shuttle/wall/syndi{dir = 5; icon_state = "syndiwall"},/area/syndicate_mothership/elite_squad)
-"cvW" = (/turf/simulated/shuttle/wall/syndi{dir = 10; icon_state = "syndiwall"},/area/syndicate_mothership/ninja)
-"cFN" = (/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "merchantshuttle"; name = "Merchant Window Shutters"; opacity = 0},/obj/structure/window/shuttle{icon_state = "window-whiteship-straight"},/turf/simulated/floor/plating,/area/shuttle/merchant/home)
-"cLe" = (/turf/simulated/shuttle/wall/syndi{dir = 10; icon_state = "syndiwall"},/area/syndicate_station/start)
-"cRn" = (/turf/simulated/shuttle/wall/syndi{dir = 2; icon_state = "syndiwall"},/area/rescue_base/start)
-"dvw" = (/turf/simulated/shuttle/wall/syndi{dir = 10; icon_state = "syndiwall"},/area/syndicate_mothership/elite_squad)
-"dEd" = (/turf/simulated/shuttle/wall/syndi{dir = 9; icon_state = "syndiwall"},/area/rescue_base/start)
+"bIu" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_straight"; dir = 8},/area/rescue_base/start)
+"bMa" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_t"; dir = 1},/area/shuttle/syndicate_elite/mothership)
+"bZR" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 5},/area/syndicate_mothership/elite_squad)
+"cvW" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 10},/area/syndicate_mothership/ninja)
+"cFN" = (/obj/structure/grille,/obj/machinery/door/blast/shutters{name = "Merchant Window Shutters"; icon_state = "shutter0"; opacity = 0; density = 0; dir = 8; id = "merchantshuttle"},/obj/structure/window/shuttle{icon_state = "window-whiteship-straight"},/turf/simulated/floor/plating,/area/shuttle/merchant/home)
+"cLe" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 10},/area/syndicate_station/start)
+"cRn" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 2},/area/rescue_base/start)
+"dvw" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 10},/area/syndicate_mothership/elite_squad)
+"dEd" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 9},/area/rescue_base/start)
"dFH" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"; dir = 9},/area/supply/dock)
-"ecZ" = (/turf/simulated/shuttle/wall/syndi{dir = 4; icon_state = "syndiwall"},/area/rescue_base/start)
+"ecZ" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 4},/area/rescue_base/start)
"eQr" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_t"},/area/syndicate_mothership/elite_squad)
"eXQ" = (/turf/simulated/shuttle/wall{icon_state = "whiteship_t"},/area/shuttle/administration/centcom)
-"foM" = (/turf/simulated/shuttle/wall/syndi{dir = 4; icon_state = "syndiwall"},/area/shuttle/syndicate_elite/mothership)
-"fvi" = (/turf/simulated/shuttle/wall/syndi{dir = 4; icon_state = "syndiwall_t"},/area/shuttle/syndicate_elite/mothership)
+"foM" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 4},/area/shuttle/syndicate_elite/mothership)
+"fvi" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_t"; dir = 4},/area/shuttle/syndicate_elite/mothership)
"fxJ" = (/turf/simulated/shuttle/wall{icon_state = "whiteship_t"; dir = 8},/area/shuttle/administration/centcom)
"fPO" = (/turf/simulated/shuttle/wall{icon_state = "whiteship_t"; dir = 1},/area/shuttle/administration/centcom)
"fQj" = (/turf/simulated/shuttle/wall{icon_state = "whiteship_straight"},/area/shuttle/administration/centcom)
"fUz" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"},/area/shuttle/administration/centcom)
"gmJ" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"; dir = 1},/area/supply/dock)
-"guM" = (/turf/simulated/shuttle/wall/syndi{dir = 10; icon_state = "syndiwall"},/area/rescue_base/start)
-"gzF" = (/obj/machinery/autolathe{desc = "Your typical Autolathe. It appears to have much more options than your regular one, however..."; hacked = 1; name = "Unlocked Autolathe"},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
-"gNw" = (/turf/simulated/shuttle/wall/syndi{dir = 8; icon_state = "syndiwall"},/area/syndicate_station/start)
-"hgK" = (/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "merchantshuttle"; name = "Merchant Window Shutters"; opacity = 0},/obj/structure/window/shuttle{icon_state = "window-whiteship-straight"; dir = 4},/turf/simulated/floor/plating,/area/shuttle/merchant/home)
-"hQL" = (/turf/simulated/shuttle/wall/syndi{dir = 1; icon_state = "syndiwall_straight"},/area/syndicate_mothership/ninja)
-"imp" = (/turf/simulated/shuttle/wall/syndi{dir = 5; icon_state = "syndiwall"},/area/shuttle/deathsquad/centcom)
-"ixR" = (/turf/simulated/shuttle/wall/syndi{dir = 5; icon_state = "syndiwall"},/area/syndicate_station/start)
+"guM" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 10},/area/rescue_base/start)
+"gzF" = (/obj/machinery/autolathe{name = "Unlocked Autolathe"; desc = "Your typical Autolathe. It appears to have much more options than your regular one, however..."; hacked = 1},/turf/unsimulated/floor{name = "plating"},/area/acting/backstage)
+"gNw" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 8},/area/syndicate_station/start)
+"hgK" = (/obj/structure/grille,/obj/machinery/door/blast/shutters{name = "Merchant Window Shutters"; icon_state = "shutter0"; opacity = 0; density = 0; dir = 2; id = "merchantshuttle"},/obj/structure/window/shuttle{icon_state = "window-whiteship-straight"; dir = 4},/turf/simulated/floor/plating,/area/shuttle/merchant/home)
+"hQL" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_straight"; dir = 1},/area/syndicate_mothership/ninja)
+"imp" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 5},/area/shuttle/deathsquad/centcom)
+"ixR" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 5},/area/syndicate_station/start)
"iGQ" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"},/area/supply/dock)
-"iTT" = (/turf/simulated/shuttle/wall/syndi{dir = 6; icon_state = "syndiwall"},/area/rescue_base/start)
-"jfp" = (/turf/simulated/shuttle/wall/syndi{dir = 4; icon_state = "syndiwall_t"},/area/syndicate_mothership/elite_squad)
-"jEo" = (/turf/simulated/shuttle/wall/syndi{dir = 5; icon_state = "syndiwall"},/area/shuttle/syndicate_elite/mothership)
-"jXC" = (/turf/simulated/shuttle/wall/syndi{dir = 2; icon_state = "syndiwall"},/area/syndicate_mothership/ninja)
+"iTT" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 6},/area/rescue_base/start)
+"jfp" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_t"; dir = 4},/area/syndicate_mothership/elite_squad)
+"jEo" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 5},/area/shuttle/syndicate_elite/mothership)
+"jXC" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 2},/area/syndicate_mothership/ninja)
"knR" = (/turf/simulated/shuttle/wall{icon_state = "whiteship15"; dir = 8},/area/shuttle/administration/centcom)
-"kIO" = (/turf/simulated/shuttle/wall/syndi{dir = 6; icon_state = "syndiwall"},/area/syndicate_mothership/elite_squad)
+"kIO" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 6},/area/syndicate_mothership/elite_squad)
"lDj" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_t"},/area/shuttle/syndicate_elite/mothership)
-"mkU" = (/turf/simulated/shuttle/wall/syndi{dir = 8; icon_state = "syndiwall_t"},/area/shuttle/syndicate_elite/mothership)
-"mne" = (/turf/simulated/shuttle/wall/syndi{dir = 9; icon_state = "syndiwall"},/area/shuttle/syndicate_elite/mothership)
+"mkU" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_t"; dir = 8},/area/shuttle/syndicate_elite/mothership)
+"mne" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 9},/area/shuttle/syndicate_elite/mothership)
"myK" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"; dir = 1},/area/shuttle/merchant/home)
-"nnI" = (/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "merchantshuttle"; name = "Merchant Window Shutters"; opacity = 0},/obj/structure/window/shuttle{icon_state = "window-whiteship"; dir = 1},/turf/simulated/floor/plating,/area/shuttle/merchant/home)
-"nKw" = (/turf/simulated/shuttle/wall/syndi{dir = 8; icon_state = "syndiwall_t"},/area/syndicate_station/start)
-"oIi" = (/turf/simulated/shuttle/wall/syndi{dir = 8; icon_state = "syndiwall_t"},/area/syndicate_mothership/elite_squad)
-"oKQ" = (/turf/simulated/shuttle/wall/syndi{dir = 9; icon_state = "syndiwall"},/area/syndicate_mothership/elite_squad)
-"oQQ" = (/turf/simulated/shuttle/wall/syndi{dir = 6; icon_state = "syndiwall"},/area/shuttle/deathsquad/centcom)
+"nnI" = (/obj/structure/grille,/obj/machinery/door/blast/shutters{name = "Merchant Window Shutters"; icon_state = "shutter0"; opacity = 0; density = 0; dir = 4; id = "merchantshuttle"},/obj/structure/window/shuttle{icon_state = "window-whiteship"; dir = 1},/turf/simulated/floor/plating,/area/shuttle/merchant/home)
+"nKw" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_t"; dir = 8},/area/syndicate_station/start)
+"oIi" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_t"; dir = 8},/area/syndicate_mothership/elite_squad)
+"oKQ" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 9},/area/syndicate_mothership/elite_squad)
+"oQQ" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 6},/area/shuttle/deathsquad/centcom)
"pnZ" = (/turf/simulated/shuttle/wall{icon_state = "whiteship_t"; dir = 4},/area/shuttle/administration/centcom)
-"ptV" = (/turf/simulated/shuttle/wall/syndi{dir = 1; icon_state = "syndiwall"},/area/rescue_base/start)
-"pvq" = (/turf/simulated/shuttle/wall/syndi{dir = 2; icon_state = "syndiwall"},/area/shuttle/syndicate_elite/mothership)
-"pCZ" = (/turf/simulated/shuttle/wall/syndi{dir = 5; icon_state = "syndiwall"},/area/rescue_base/start)
+"ptV" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 1},/area/rescue_base/start)
+"pvq" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 2},/area/shuttle/syndicate_elite/mothership)
+"pCZ" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 5},/area/rescue_base/start)
"pQp" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"; dir = 10},/area/shuttle/escape/centcom)
-"pSz" = (/turf/simulated/shuttle/wall/syndi{dir = 8; icon_state = "syndiwall_straight"},/area/syndicate_station/start)
-"pWx" = (/turf/simulated/shuttle/wall/syndi{dir = 4; icon_state = "syndiwall_t"},/area/syndicate_station/start)
-"qDo" = (/turf/simulated/shuttle/wall/syndi{dir = 8; icon_state = "syndiwall_straight"},/area/shuttle/deathsquad/centcom)
-"rAH" = (/turf/simulated/shuttle/wall/syndi{dir = 8; icon_state = "syndiwall"},/area/shuttle/deathsquad/centcom)
+"pSz" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_straight"; dir = 8},/area/syndicate_station/start)
+"pWx" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_t"; dir = 4},/area/syndicate_station/start)
+"qDo" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_straight"; dir = 8},/area/shuttle/deathsquad/centcom)
+"rAH" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 8},/area/shuttle/deathsquad/centcom)
"rFk" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"; dir = 9},/area/shuttle/merchant/home)
"rZV" = (/obj/effect/landmark/event/nuke/bomb,/turf/simulated/floor/shuttle/darkred,/area/syndicate_station/start)
-"sdv" = (/turf/simulated/shuttle/wall/syndi{dir = 1; icon_state = "syndiwall_straight"},/area/shuttle/deathsquad/centcom)
-"syQ" = (/turf/simulated/shuttle/wall/syndi{dir = 1; icon_state = "syndiwall"},/area/syndicate_mothership/elite_squad)
-"sXz" = (/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "merchantshuttle"; name = "Merchant Window Shutters"; opacity = 0},/obj/structure/window/shuttle{icon_state = "window-whiteship"; dir = 8},/turf/simulated/floor/plating,/area/shuttle/merchant/home)
-"tpR" = (/turf/simulated/shuttle/wall/syndi{dir = 8; icon_state = "syndiwall"},/area/rescue_base/start)
+"sdv" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_straight"; dir = 1},/area/shuttle/deathsquad/centcom)
+"syQ" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 1},/area/syndicate_mothership/elite_squad)
+"sXz" = (/obj/structure/grille,/obj/machinery/door/blast/shutters{name = "Merchant Window Shutters"; icon_state = "shutter0"; opacity = 0; density = 0; dir = 2; id = "merchantshuttle"},/obj/structure/window/shuttle{icon_state = "window-whiteship"; dir = 8},/turf/simulated/floor/plating,/area/shuttle/merchant/home)
+"tpR" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 8},/area/rescue_base/start)
"tva" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"; dir = 6},/area/shuttle/administration/centcom)
-"tMU" = (/turf/simulated/shuttle/wall/syndi{dir = 4; icon_state = "syndiwall"},/area/syndicate_mothership/elite_squad)
+"tMU" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 4},/area/syndicate_mothership/elite_squad)
"uoA" = (/turf/simulated/shuttle/wall/syndi,/area/syndicate_mothership/elite_squad)
-"uoQ" = (/turf/simulated/shuttle/wall/syndi{dir = 6; icon_state = "syndiwall"},/area/syndicate_station/start)
-"vst" = (/turf/simulated/shuttle/wall/syndi{dir = 4; icon_state = "syndiwall_t"},/area/rescue_base/start)
-"vNZ" = (/turf/simulated/shuttle/wall/syndi{dir = 1; icon_state = "syndiwall_t"},/area/syndicate_station/start)
+"uoQ" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 6},/area/syndicate_station/start)
+"vst" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_t"; dir = 4},/area/rescue_base/start)
+"vNZ" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_t"; dir = 1},/area/syndicate_station/start)
"vOr" = (/turf/simulated/shuttle/wall,/area/supply/dock)
-"wKE" = (/turf/simulated/shuttle/wall/syndi{dir = 1; icon_state = "syndiwall_t"},/area/syndicate_mothership/elite_squad)
-"wXG" = (/turf/simulated/shuttle/wall/syndi{dir = 8; icon_state = "syndiwall"},/area/shuttle/syndicate_elite/mothership)
+"wKE" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall_t"; dir = 1},/area/syndicate_mothership/elite_squad)
+"wXG" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 8},/area/shuttle/syndicate_elite/mothership)
"xlj" = (/turf/simulated/shuttle/wall{icon_state = "whiteship_straight"; dir = 4},/area/centcom/evac)
-"xVl" = (/turf/simulated/shuttle/wall/syndi{dir = 10; icon_state = "syndiwall"},/area/shuttle/syndicate_elite/mothership)
+"xVl" = (/turf/simulated/shuttle/wall/syndi{icon_state = "syndiwall"; dir = 10},/area/shuttle/syndicate_elite/mothership)
(1,1,1) = {"
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaacaacaacaacaacaacaacaacaacaacaadaadaadaadaadaadaadaadaadaadaadaadaadaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaafaagaagaagaagaagaagaagaagaagaagaafaagaagaagaagaagaagaagaagaagaagaafaagaagaagaagaagaagaagaagaagaagaafaagaagaagaagaagaagaagaagaagaagaafaagaagaagaagaagaagaagaagaagaagaafaagaagaagaagaagaagaagaagaagaagaafaagaagaagaagaagaagaagaagaagaagaaf
-aaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaafaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaafaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaalaamaamaamaanaamaamaamaamaamaamaaoaapaaqaapaaqaapaapaaqaapaaqaapaaoaaraasaasaasaasaasaasaasaasaasaaoaataauaavaavaavaavaavaavaavaavaaoaawaawaawaawaawaawaawaawaawaawaaoaaxaaxaaxaaxaaxaaxaaxaaxaaxaaxaaoaayaazaaAaaBaaCaaCaaCaaCaaCaaDaaE
-aaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaabaaaaahaahaahaahaahaahaahaahaahaaFaaFaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaFaaFaahaahaahaahaahaahaahaahaahaaaaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaafaakaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaakaafaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaalaamaamaamaamaamaamaamaamaaIaamaaoaaJaaKaaJaaKaaJaaKaaJaaKaaJaaKaaoaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaoaataaMaaNaaNaaNaaNaaNaaNaaNaaNaaoaawaaOaawaawaawaawaawaawaaOaawaaoaaxaaxaaxaaxaaxaaxaaxaaxaaxaaxaaoaayaazaaAaaPaaQaaQaaQaaQaaQaaRaaE
-aaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSaaSaaSaaSaaTaahaahaaTaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaafaakaaHaaUaaUaaUaaUaaUaaUaaVaaVaaVaaUaaUaaVaaVaaVaaUaaUaaUaaUaaUaaHaakaafaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaalaamaaIaamaamaamaamaamaamaamaamaaoaaKaaJaaWaaXaaYaaXaaYaaZaaKaaJaaoaaLaaLaaLaaLaaLaaLaaLaaLaaLaaLaaoaatabaaaNaavabbaavaaNabcabdabeaaoaawaawaawaawaawaawaawaawaawaawaaoaaxaaxaaxaaxaaxaaxaaxaaxaaxaaxaaoaayaayabfaaPaaQaaQaaQaaQaaQaaRaaE
-aaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSaaSaaSaaSaaTaahaahaaTaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaafaakaaHabgaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUabhaaHaakaafaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaalaamaamaamaamaamaanaamaamaamaamaaoaaXaaYabiabjabkabkablabmaaJaaKaaoabnabnabnabnabnabnabnabnabnaboaaoaatabaabpabqabrabsabtabuabvabwaaoaawaawaawaaOaawaawaaOaawaawaawaaoaaxaaxaaxaaxaaxaaxaaxaaxaaxaaxaaoaayaazaaAaaPaaQaaQaaQaaQaaQaaRaaE
-aaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSaaSaaSaaSaaTaahaahaaTaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaafaakaaHaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUabxaaUaaUaaUaaUaaUaaHaakaafaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeabyabyabyabyabyabyabyabyaaeaalaamaamaanaamaamaamaanaamaamaamaaoablablablablabzabzablabAaaKaaJaaoabBabBabCabDabDabDabDabEabBabFaaoaatabaabGabHabHabHabIabuabJabKaaoaawaawaawaawaawaawaawaawaawaawaaoaaxaaxaaxaaxaaxaaxaaxaaxaaxaaxaaoaayaazaaAaaPaaQaaQaaQaaQaaQaaRaaE
-aaaaahaahaahaahaahaahaahaahaahabLaaGaaGaaGaaGabMabMabMabLaahaahaahaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSabNaaSaaSaaTaahaahaaTaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaafaakaaHaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUabgaaUaaUaaUaaUaaUaaHaakaafaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeabyabOabOabOabyabOabOabyaaeaalaamaamaamaamaamaamaamaamaamaamaaoablablablablabzabzablabAaaKaaJaaoabBabBabPabQabQabQabQabRabBabFaaoaatabaabSabTabUabTabVabuabJabKaaoaawaawaawaawaawaawaawaawaawaawaaoaaxaaxaaxaaxaaxaaxaaxaaxaaxaaxaaoaayaazaaAabWaaQaaQaaQaaQaaQabXaaE
-aaaaahaahaahaahaahaahaahaahabLaaGabYabYabYabYabYabYabYabMabLaahaahaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSaaSaaSaaSaaTaahaahaaTaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaafaakaaHaaUaaUaaUaaUabZabxaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaHaakaafaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeabyabOacaabOacbabOabOabyaaeaalaamaamaamaamaamaaIaamaamaamaanaaoaccacdaceabjabkabkablabmaaJaaKaaoabBabBabPabQabQabQabQabRabBabFaaoaatabaacfacgabUacgachabuabJabKaaoaawaawaawaaOaawaawaaOaawaawaawaaoaaxaaxaaxaaxaaxaaxaaxaaxaaxaaxaaoaayaazaaAabWaaQaaQaaQaaQaaQabXaaE
-aaaaahaahaahaahaahaahaahabLaaGabYabYabYabYabYabYabYabYabYabMabLaahaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaciaciaciacjacjacjaajaajaajaajaajaajaajaajaajaadaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSaaSaaSaaSaaTaahaahaaTaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaafaakaaHaaUaaUaaUaaUaaUackackaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaHaakaafaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeabyaclaclaclabyabOabOabyaaeaalaamaamaaIaamaamaamaamaamaamaamaaoaaKaaJacmaccacdaccacdacnaaKaaJaaoabBabBabPabQabQabQabQabRabBabFaaoaatacoacpabUabUabUacqabuabJabKaaoaawaawaawaawaawaawaawaawaawaawaaoaaxaaxaaxaaxaaxaaxaaxaaxaaxaaxaaoaayaayacrabWaaQaaQaaQaaQaaQabXaaE
-aaaaahaahaahaahaahaahabLaaGabYabYabYabYabYabYabYabYabYabYabYabMabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaciacsacsactactacuaajaajaajaajaajaajaajaajaajaadaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSaaSaaSaaSaaTaahaahaaTaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaafaakaaHaaUaaUaaUaaUackacvacwackaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaHaakaafaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeacxacxacxacxabyabyabyabyabyabyabOabOabyaaeaalaamaamaamaamaamaamaamaamaamaamaaoaaJaaKaaJaaKaaJaaKaaJaaKaaKaaJaaoabBabBacyaczaczaczaczacAabBacBaaoaatabaacfacgacgacgachabuacCacDaaoaawaaOaawaawaawaawaawaawaaOaawaaoaaxaaxaaxaaxaaxaaxaaxaaxaaxaaxaaoaayaazaaAabWaaQaaQaaQaaQaaQabXaaE
-aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaciacsacEactactacFaajaajaajaajaajaajaajaajaajaadaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSaaSaaSaaSaaTaaTaaTaaTaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaafaakaaHaaUaaUaaUaaUackacGacHackaaUaaUabZaaUacIaaUaaUaaUaaUaaUaaUaaHaakaafacJaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeacxacxacxacxacbabOacbabOabOabOabOabOabyaaeaalaanaamaamaamaaIaamaamaamaamaaIaaoaapaaqaapaaqaapaapaaqaapaaqaapaaoacKabBabBabBabBabBabBabBabBacLaaoaataauacMacNacNacNacOabuaavaavaaoaawaawaawaawaawaawaawaawaawaawaaoaaxaaxaaxaaxaaxaaxaaxaaxaaxaaxaaoaayaazaaAacPacQacQacQacQacQacRaaE
-aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaciacsacsactactacFaajaajaajaajaajaajaajaajaajaadaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaafaakaaHaaUaaUaaUaaUaaUackackaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaHaakaafavgaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeacxacxacxacxabyabyabyabyabOabOabOacSabyaaeaafacTacTacTacTacTacTacTacTacTacTaafacTacTacTacTacTacTacTacTacTacTaafacTacTacTacTacTacTacTacTacTacTaafacUacUacUacUacUacUacUacUacUacUaafacUacUacUacUacUacUacUacUacUacUaafacUacUacUacUacUacUacUacUacUacUaafacUacUacUacUacUacUacUacUacUacUaaf
-aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaciaciaciacjacjacjaajaajaajaajaajaajaajaajaajaadaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaafaakaaHaaUaaUabxaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUabgaaUaaUaaHaakaafavgaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeabyaclabOabOacSabyaaeaalacVacVacVacVacVacVacVacVacVacVaaoacWacWacWacWacWacWacWacWacWacWaaoacXacXacXacXacXacXacXacXacXacYaaoacZadaadbadcaddadcadeadfaddadfaaoadgadgadgadgadgadgadgadgadgadgaaoadhadiadjadkadladladladladladmaaoadnadnadoadoadoadoadoadoadoadoaaE
-aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaafaakaaHaaUaaUabZabxaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUabxaaUaaUaaHaakaafavgaaeaaeaaeaaeaaekIOassadpadpuoAadpadptMUwKEadqaGWadqdvwaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeabyaclabOabOacSabyaaeaalacVacVacVadracVacVacVacVadracVaaoacWadsacWacWacWacWadsacWacWacWaaoacXacXadtaduaduaduadvacXacXacXaaoacZadaadbadwadxadwadxadyadxadyaaoadgadgadzadgadgadgadgadgadgadgaaoadhadiadjadAadBadBadBadBadBadCaaoadoadoadoadoadDadDadDadoadoadoaaE
-aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaciaciaciacjacjacjaajaajaajaajaajaajaajaajaajaadaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaabaaaaahaahaahaahaahadEadEaaGaaGaaFaaGadEaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSabMabMaaFabMabMadEadEaahaahaahaahaahaaaaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaafaakaaHaaUaaUaaUaaUaaUaaUaaUadFaaUadFaaUadFaaUadGaaUaaUaaUaaUaaUaaHaakaafavgaaeaaeaaeaaeaaeavgadHadIadJadJadKadJadLsyQadMadNadMavgaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeabyabyabyabyabyabyaaeaalacVacVacVacVacVacVacVacVacVacVaaoacWacWacWacWacWacWacWacWadOacWaaoacXacXadPadPadPadPadPacXacXacXaaoacZacZadQadwadxaddaddaddadxadyaaoadgadgadgadgadgadgadRadSadgadgaaoadhadhadTadAadBadBadBadBadBadCaaoadoadoadoadUadVadVadVadoadoadoaaE
-aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaciadWadWadXadXacuaajaajaajaajaajaajaajaajaajaadaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaabaaaaahaahaahaahaahadEaaSaaSaaSaaSaaSaaTaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaTaaSaaSaaSaaSaaSadEaahaahaahaahaahaaaaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaafaakaaHaaUaaUaaUadYaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaHaakaafavgaaeaaeaaeaaeaaeavgadZaeaaeaaeaaeaaeaaeaaebadNadNadNavgaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaalacVadracVacVacVacVadracVacVacVaaoacWacWaecacWadOacWacWacWacWacWaaoaedaedaedaedaedaedaedaedaedaeeaaoacZadaadbadwadxadxadxadxadxadyaaoadgadgadgadgaefadgadgadgadgadgaaoadhadiadjadAadBadBadBadBadBadCaaoadoadDaegaehaeiaeiaejaekadDadoaaE
-aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaciadWadWaeladXacFaajaajaajaajaajaajaajaajaajaadaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaabaaaaahaahaahaahaahadEaaSaaSaaSaaSaaSaaTaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaTaaSaaSaaSaaSaaSadEaahaahaahaahaahaaaaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaafaakaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaakaafbZRaGWwKEaGWaGWaGWoKQaemaeaaenaenaenaeaaeoacJaepacJaepavgaaeaaeaaeaaeaeqaeqaeqaeqaeqaeqaeqaeqaeqaeqaeqaeqaeqaaeaalacVacVacVacVacVacVacVacVacVacVaaoacWacWacWaeracWacWacWacWaeracWaaoaesaetaeuaeuaeuaeuaeuaevaedaeeaaoacZadaadbaewaexaexaeyaexaexaezaaoadgadgadgadgadgadgadgaeAadgadgaaoadhadiadjaeBaeCaeCaeCaeCaeCaeDaaoadoadDaegaeEaeFaeGaeHaekadDadoaaE
-aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaciadWadWadXadXacFaajaajaajaajaajaajaajaajaajaadaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaabaaaaahaahaahaahaahadEaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSadEaahaahaahaahaahaaaaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaafaakaeIaeJaeJaeJaeJaeJaeJaeJaeJaeJaeJaeJaeJaeJaeJaeJaeJaeJaeJaeJaeIaakaafaeaaeaavgaeKaeLaeLaeLaeMaeaaeNaeOaeOaePaeQavgaeRavgaeSavgaaeaaeaaeaaeaeqaeTaeUaeqaeTaeVaeqaeTaeWaeqaeTaeUaeqaaeaalacVacVacVacVacVacVacVacVacVacVaaoacWacWacWacWacWacWacWacWacWacWaaoaesaeXaeYaeYaeYaeYaeYaeZaedaeeaaoacZadaadbafaafbafbafbafbafbafcaaoadgadgadgadgadgadgadgadgadgadgaaoadhadiadjafdafeafeafeafeafeaffaaoadoadDaegaeEafgafhaeHaekadDadoaaE
-aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaciaciaciacjacjacjaajaajaajaajaajaajaajaajaajaadaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaabaaaaahaahaahaahaahadEaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSadEaahaahaahaahaahaaaaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaafaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaafaeaaeaavgafkaflaflaflafmaeaaeOafnafoaePaeQoIiaGWeQraGWjfpaaeaaeaaeaaeaeqafpaeWaeqafpaeUaeqafpaeUaeqafpaeUaeqaaeaalacVacVacVadracVacVacVacVadracVaaoacWacWacWacWadsacWaecacWacWadsaaoaedaeXaeYaeYaeYaeYaeYaeZaedaeeaaoacZadaadbafqadxadxadxadxadxafraaoadgadgadgadgadgadgadgadgadgadgaaoadhadiadjafsadBadBadBadBadBaftaaoadoadDaegaejafuafuafvaekadDadoaaE
-aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaabaaaaahaahaahaahaahadEaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSadEaahaahaahaahaahaaaaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaafaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaafkIOaGWeQraGWaGWaGWdvwafwaeaafxafxafxaeaaeosyQafyaeaafyoIiaGWaGWaGWdvwaeqaeqaeqaeqaeqaeqaeqaeqaeqaeqaeqaeqaeqaaeaalacVacVacVacVacVacVacVacVacVacVaaoafzacWacWacWacWafzacWacWacWacWaaoaedaeXaeYaeYaeYaeYaeYafAaedaeeaaoacZacZafBafqadxafCafCafCadxafraaoafDafDafDafDafDafDafDafDafDafDaaoadhadhafEafsadBadBadBadBadBaftaaoadoadoadoafFafFafFafGadoadoadoaaE
-aaaaahaahaahaahaahaahabLabYabYabYabYabYabYafHabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaabaaaaahaahaahaahaahadEaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSadEaahaahaahaahaahaaaaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaafaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaafavgaaeaaeaaeafIaaeavgadZaeaaeaaeaaeaaeaaeQafJaeaaeaafKavgafLafMafNavgaeqaeTaeUaeqaeTaeUaeqafOaeUaeqaeTaeWaeqaaeaalacVadracVacVacVacVadracVacVacVaaoacWaeracWaecacWacWaeracWaecacWaaoaedafPafQafQafQafQafQafRaedaeeaaoacZadaadbafqadxafqadxafradxafraaoafSafSafSafSafSafSafSafSafSafSaaoadhadiadjafsadBadBadBadBadBaftaaoadoadoadoadDadDadDadoadoadoadoaaE
-aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaabaaaaahaahaahaahaahadEaaSaaSaaSaaSaaSadEadEadEadEaaSaaSaaSaaSaaSaaSadEadEadEadEaaSaaSaaSaaSaaSadEaahaahaahaahaahaaaaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaafaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaafavgaaeaaeaaeafIaaeavgafTafUafVaeaaeaaeaafWacJafyaeaafyoIiaGWaGWaGWoKQaeqafpaeUafXafpaeUaeqafpaeUaeqafpaeUaeqaaeaalacVacVacVacVacVacVacVacVacVacVaaoacWacWacWacWafzacWacWacWacWafzaaoaedaedaedaedaedaedaedaedaedaeeaaoacZadaadbafYafCafYafZagaafCagaaaoafSafSafSafSafSafSafSafSafSafSaaoadhadiadjagbagcagcagcagcagcagdaaoadoadoadoadoadoadoadoadoageageaaE
-aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaabaaaaahaahaahaahaahadEaaSaaSaaSaaSaaSadEaahaahadEaaSaaSaaSaaSaaSaaSadEaahaahadEaaSaaSaaSaaSaaSadEaahaahaahaahaahaaaaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaafaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaafavgaaeaaeaaeafIaaebZRadpadpacJagfacJadpadpbZRaGWaGWaGWoKQaaeaaeaaeaaeaeqaeqaeqaeqaeqaeqaeqaeqaeqaeqaeqaeqaeqaaeaafaggaggaggaggaggaggaggaggaggaggaafaggaggaggaggaggaggaggaggaggaggaafaggaggaggaggaggaggaggaggaggaggaafaggaggaggaggaggaggaggaggaggaggaafaggaggaggaggaggaggaggaggaggaggaafaggaggaggaggaggaggaggaggaggaggaafaggaggaggaggaggaggaggaggaggaggaaf
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaacaacaacaacaacaacaacaacaacaacaadaadaadaadaadaadaadaadaadaadaadaadaadaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaae
+aaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaabaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaafaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaakaafaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaae
+aaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaabaaaaahaahaahaahaahaahaahaahaahaaFaaFaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaGaaFaaFaahaahaahaahaahaahaahaahaahaaaaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaafaakaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaakaafaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaae
+aaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSaaSaaSaaSaaTaahaahaaTaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaafaakaaHaaUaaUaaUaaUaaUaaUaaVaaVaaVaaUaaUaaVaaVaaVaaUaaUaaUaaUaaUaaHaakaafaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaae
+aaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSaaSaaSaaSaaTaahaahaaTaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaafaakaaHabgaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUabhaaHaakaafaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaae
+aaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSaaSaaSaaSaaTaahaahaaTaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaafaakaaHaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUabxaaUaaUaaUaaUaaUaaHaakaafaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeabyabyabyabyabyabyabyabyaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaae
+aaaaahaahaahaahaahaahaahaahaahabLaaGaaGaaGaaGabMabMabMabLaahaahaahaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSabNaaSaaSaaTaahaahaaTaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaafaakaaHaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUabgaaUaaUaaUaaUaaUaaHaakaafaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeabyabOabOabOabyabOabOabyaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaae
+aaaaahaahaahaahaahaahaahaahabLaaGabYabYabYabYabYabYabYabMabLaahaahaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSaaSaaSaaSaaTaahaahaaTaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaafaakaaHaaUaaUaaUaaUabZabxaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaHaakaafaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeabyabOacaabOacbabOabOabyaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaae
+aaaaahaahaahaahaahaahaahabLaaGabYabYabYabYabYabYabYabYabYabMabLaahaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaciaciaciacjacjacjaajaajaajaajaajaajaajaajaajaadaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSaaSaaSaaSaaTaahaahaaTaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaafaakaaHaaUaaUaaUaaUaaUackackaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaHaakaafaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeabyaclaclaclabyabOabOabyaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaae
+aaaaahaahaahaahaahaahabLaaGabYabYabYabYabYabYabYabYabYabYabYabMabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaciacsacsactactacuaajaajaajaajaajaajaajaajaajaadaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSaaSaaSaaSaaTaahaahaaTaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaafaakaaHaaUaaUaaUaaUackacvacwackaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaHaakaafaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeacxacxacxacxabyabyabyabyabyabyabOabOabyaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaae
+aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaciacsacEactactacFaajaajaajaajaajaajaajaajaajaadaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSaaSaaSaaSaaTaaTaaTaaTaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaafaakaaHaaUaaUaaUaaUackacGacHackaaUaaUabZaaUacIaaUaaUaaUaaUaaUaaUaaHaakaafacJaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeacxacxacxacxacbabOacbabOabOabOabOabOabyaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaae
+aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaciacsacsactactacFaajaajaajaajaajaajaajaajaajaadaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaafaakaaHaaUaaUaaUaaUaaUackackaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaHaakaafavgaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeacxacxacxacxabyabyabyabyabOabOabOacSabyaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaae
+aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaciaciaciacjacjacjaajaajaajaajaajaajaajaajaajaadaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaafaakaaHaaUaaUabxaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUabgaaUaaUaaHaakaafavgaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeabyaclabOabOacSabyaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaae
+aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaabaaaaahaahaahaahaahaahaahaahaahaaFaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaFaahaahaahaahaahaahaahaahaahaaaaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaafaakaaHaaUaaUabZabxaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUabxaaUaaUaaHaakaafavgaaeaaeaaeaaeaaekIOassadpadpuoAadpadptMUwKEadqaGWadqdvwaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeabyaclabOabOacSabyaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaae
+aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaciaciaciacjacjacjaajaajaajaajaajaajaajaajaajaadaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaabaaaaahaahaahaahaahadEadEaaGaaGaaFaaGadEaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSabMabMaaFabMabMadEadEaahaahaahaahaahaaaaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaafaakaaHaaUaaUaaUaaUaaUaaUaaUadFaaUadFaaUadFaaUadGaaUaaUaaUaaUaaUaaHaakaafavgaaeaaeaaeaaeaaeavgadHadIadJadJadKadJadLsyQadMadNadMavgaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeabyabyabyabyabyabyaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaae
+aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaciadWadWadXadXacuaajaajaajaajaajaajaajaajaajaadaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaabaaaaahaahaahaahaahadEaaSaaSaaSaaSaaSaaTaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaTaaSaaSaaSaaSaaSadEaahaahaahaahaahaaaaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaafaakaaHaaUaaUaaUadYaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaUaaHaakaafavgaaeaaeaaeaaeaaeavgadZaeaaeaaeaaeaaeaaeaaebadNadNadNavgaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaae
+aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaciadWadWaeladXacFaajaajaajaajaajaajaajaajaajaadaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaabaaaaahaahaahaahaahadEaaSaaSaaSaaSaaSaaTaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaTaaSaaSaaSaaSaaSadEaahaahaahaahaahaaaaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaafaakaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaaHaakaafbZRaGWwKEaGWaGWaGWoKQaemaeaaenaenaenaeaaeoacJaepacJaepavgaaeaaeaaeaaeaeqaeqaeqaeqaeqaeqaeqaeqaeqaeqaeqaeqaeqaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaae
+aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaciadWadWadXadXacFaajaajaajaajaajaajaajaajaajaadaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaabaaaaahaahaahaahaahadEaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSadEaahaahaahaahaahaaaaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaafaakaeIaeJaeJaeJaeJaeJaeJaeJaeJaeJaeJaeJaeJaeJaeJaeJaeJaeJaeJaeJaeIaakaafaeaaeaavgaeKaeLaeLaeLaeMaeaaeNaeOaeOaePaeQavgaeRavgaeSavgaaeaaeaaeaaeaeqaeTaeUaeqaeTaeVaeqaeTaeWaeqaeTaeUaeqaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaae
+aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaciaciaciacjacjacjaajaajaajaajaajaajaajaajaajaadaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaabaaaaahaahaahaahaahadEaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSadEaahaahaahaahaahaaaaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaafaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaafaeaaeaavgafkaflaflaflafmaeaaeOafnafoaePaeQoIiaGWeQraGWjfpaaeaaeaaeaaeaeqafpaeWaeqafpaeUaeqafpaeUaeqafpaeUaeqaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaae
+aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaabaaaaahaahaahaahaahadEaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSadEaahaahaahaahaahaaaaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaafaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaafkIOaGWeQraGWaGWaGWdvwafwaeaafxafxafxaeaaeosyQafyaeaafyoIiaGWaGWaGWdvwaeqaeqaeqaeqaeqaeqaeqaeqaeqaeqaeqaeqaeqaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaae
+aaaaahaahaahaahaahaahabLabYabYabYabYabYabYafHabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaabaaaaahaahaahaahaahadEaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSaaSadEaahaahaahaahaahaaaaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaafaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaafavgaaeaaeaaeafIaaeavgadZaeaaeaaeaaeaaeaaeQafJaeaaeaafKavgafLafMafNavgaeqaeTaeUaeqaeTaeUaeqafOaeUaeqaeTaeWaeqaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaae
+aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaabaaaaahaahaahaahaahadEaaSaaSaaSaaSaaSadEadEadEadEaaSaaSaaSaaSaaSaaSadEadEadEadEaaSaaSaaSaaSaaSadEaahaahaahaahaahaaaaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaafaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaafavgaaeaaeaaeafIaaeavgafTafUafVaeaaeaaeaafWacJafyaeaafyoIiaGWaGWaGWoKQaeqafpaeUafXafpaeUaeqafpaeUaeqafpaeUaeqaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaae
+aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaabaaaaahaahaahaahaahadEaaSaaSaaSaaSaaSadEaahaahadEaaSaaSaaSaaSaaSaaSadEaahaahadEaaSaaSaaSaaSaaSadEaahaahaahaahaahaaaaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaafaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaafavgaaeaaeaaeafIaaebZRadpadpacJagfacJadpadpbZRaGWaGWaGWoKQaaeaaeaaeaaeaeqaeqaeqaeqaeqaeqaeqaeqaeqaeqaeqaeqaeqaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaae
aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaabaaaaahaahaahaahaahadEaaSaaSaaSaaSaaSadEaahaahadEadEadEadEadEadEadEadEaahaahadEaaSaaSaaSaaSaaSadEaahaahaahaahaahaaaaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaafaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaafavgaaeaaeaaeafIaaeaaeaaeaaeavgaghavgaaeaaeaaeaaeafIaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaae
aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaacaaiaaiaaiaaiaaiaaiaaiaaiaaiaajaajaajaajaajaajaajaajaajaajaajaajaadaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaabaaaaahaahaahaahaahadEaaSaaSaaSaaSaaSadEaahaahaahaahaahaahaahaahaahaahaahaahadEaaSaaSaaSaaSaaSadEaahaahaahaahaahaaaaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaafaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaafavgaaeaaeaaeafIaaeaaeaaeaaeavgagiavgaaeaaeaaeaaeafIaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaae
aaaaahaahaahaahaahaahabLabYabYabYabYabYabYabYabYabYabYabYabYabYabLaahaahaahaahaahaahaahaahaaaaabaacaacaacaacaacaacaacaacaacaacaadaadaadaadaadaadaadaadaadaadaadaadaadaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaabaaaaahaahaahaahaahadEadEadEadEadEadEadEaahaahaahaahaahaahaahaahaahaahaahaahadEadEadEadEadEadEadEaahaahaahaahaahaaaaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaafaakafiafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafjafiaakaafavgaaeaaeaaeafIaaeaaeaaeaaeavgagjavgaaeaaeaaeaaeafIaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagkaaaaaaaaaaaaaaaaaaaaaaaaaaaagkaabaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaae
@@ -2866,7 +2658,7 @@ aafahJahJahJahJahJahJahJaiZajaaiYaqOaqPptVaxGaspaydiTTbIubIubIubIuvstayeayeawIay
aafahJahJahJaiYayPaiZaiZaiZaiZaiZaqOaqPatzasnaspayQargaqPaqPaqPaqPargayRayRayRayRargaqPaqPaqPaqPargaySawLayTatzaqPaqQaiZaiYaiZahJahJaiYahJaafaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaxOawwawwawwawwawwawwawwawwawwawwawwawwawwawwawwawwawwawwawwawwawwawwaxTawwawwawwawXawXawXawXawXawXawXawXawwayUawXawXawXayVawwawwawwawwawwawxawxawxawxawxawxawxayWayWayWawwayXayYaxfaxfaxfawyaxoayZaxoawyaxfaxfaxfayYazaawyazbazcazbazcazbaxFawyawyawyawyaxCaxCaxCawyazdayKayKayKazeazfazgazhawyaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeahGaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaakaakaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaakaakaakaakaakaak
aafahJahJaziaiYaiYaiZaiYaiZaiYaiZaqOaqPcRnazjaspazkargaqPaqPaqPaqPavHazlazlazlazlavNaqPaqPaqPaqPargazmaznazocRnaqPaqQaiZaiZaiZaiZaiZaiYahJaafaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaxOawwawwawwawwawwawwawwawwawwawwawwawwawwawwawwawwawwawwawwawwaxPazpawZawZazqawwazrazsaztazuazvazwawXawXawwazxawXawXawXazyawwazzazAazAazzazBazCazDazEayWayWayWayWayWazFawwaxoaxoazGazHazHazHazHazHazHazHazHazHazIaxoaxoazJazbazbazbazbazbaxFazKazLazMawyaxCaxCaxCawyazNazOazPazOazQazfazgazhawyaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeahGaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaakaakaakaakaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaakaakaakaakaak
aafahJahJahJahJaiZaiYaiZaueaiYaiZaqOaqPargayRayRayRargaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPargayRayRayRargaqPaqQaiZaiZaiZaiZahJahJahJaafaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeayiayjayjayjayjayjayjayjayjayjayjayjayjayjazRayjayjayjayjayjazRazSayjawZawZazTawwazBazBazBazBazBawwawXawXawwazUawXawXawXazVawwawXayWayWayWazBayWayWayWayWayWayWayWayWazWawwaxoayZazXaxfaxfaxfaxfaxfaxfaxfaxfaxfaxEayZaxoaxFazYazZaAaaAbazbaxFaAcaAdaAeawyaxCaxCaxCawyaAfaAgaAdaAgaAhazfazgazhawyaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaAiaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaakaakaakaakaakaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaakaakaakaakaak
-aafahJahJahJahJahJahJahJaiZaiZaiZaqOaqPavHazlazlazlavNaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPavHazlazlazlavNaqPaqQaiZaiZahJaiZahJahJahJaafaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaxOawwawwawwawwawwawwawwawwawwawwawwawwawwawwawwawwawwawwawwawwaxPaAjawZawZaAkazBaAlaAmaAnaAoaApazBawXawXazBawXawXawXawXaAqazBawXayWayWaxSaArayWayWayWazDazDawwawwawwawwawwaxoaxoazXaxfaAsaxoaAtaAuaAvaxoaAsaxfaxEaxoaxoaxFaxFaxFaxFaxFaxFaxFaAwayHaAxawyaxCaxCaxCawyaAyaAzaAdaAzaAAazfazgazhawyaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeahGaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaakaakaakaakaakaakaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaakaakaakaak
+aafahJahJahJahJahJahJahJaiZaiZaiZaqOaqPavHazlazlazlavNaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPavHazlazlazlavNaqPaqQaiZaiZahJaiZahJahJahJaafaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaxOawwawwawwawwawwawwawwawwawwawwawwawwawwawwawwawwawwawwawwawwaxPaAjawZawZaAkazBaAlaAmaAnaAoaApazBawXawXazBawXawXawXawXaAqazBawXayWayWaxSaArayWayWayWazDazDawwawwawwawwawwaxoaxoazXaxfaAsaxoaAtaheaAvaxoaAsaxfaxEaxoaxoaxFaxFaxFaxFaxFaxFaxFaAwayHaAxawyaxCaxCaxCawyaAyaAzaAdaAzaAAazfazgazhawyaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeahGaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaakaakaakaakaakaakaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaakaakaakaak
aafahJahJahJahJahJahJahJaiZaiZaiYaqOaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPaqPaqQaiZajaaiZaiZahJahJahJaafaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeayiayjayjayjayjayjayjayjayjayjayjayjayjayjaABayjayjayjayjayjaABaACayjawZawZaADazBaAEawXawXawXaAFazBawXawXazBawXawXaAGaAHazvazBaAIayWayWayWawwazBazBaAJazBazBawwayWayWayWaAKaxoaxoaALaxfaxoaAMaANaAOaAPaAQaARaxfaASaxoaxoaATaAUaAUaAUaAUaAUawyawyayJawyawyawyayJawyawyaAVaAdaAdaAdaAWazfazgazhawyaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeahGaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaakaakaakaakaakaakaakaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaakaak
aafahJahJahJahJahJahJahJahJaiZaiZaAXaAYaAYaAYaAYaAYaAYaAYaAYaAYaAYaAYaAYaAYaAYaAYaAYaAYaAYaAYaAYaAYaAYaAYaAYaAYaAYaAZaiZaiYaiZahJahJahJahJaafaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaxOawwawwawwawwawwawwawwawwawwawwawwawwawwawwawwawwawwawwawwawwaxPaBaawZawZaBbawwaBcawXawXawXawXawwaBdaBdawwaBeaBeawwawwawwawwaAIayWayWaxSaBfaBgaBgaBgaBgaBgaBhaBgaBgaBgaBhaxoaxoaBiaBjaxoaxoaBkayCaBlaxoaxoaBjaBmaxoaxoaBnaxCaxCaxCaxCaxCaBnaxCaxCaxCaxCaxCaxCaxCaBnaAyaAzaAzaAzaAAaBoaBpaBqawyaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeahGaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaakaakaakaakaakaakaakaakaakaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaak
aafahJahJahJahJahJahJahJahJahJaiZaiZaiZaiZaiZaiZaiZaiZaiZaiZaiYaiZaiZaiZajaaiZaiZaiZaiZaiZaiZaiZaiZaiZaiZaiZaiZaiZaiZaiZahJahJahJahJahJahJaafaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeayiayjayjayjayjayjayjayjayjayjayjayjayjayjaBrayjayjayjayjayjaBraBsaBtawZawZaxSaBuawXawXawXawXawXaBuawXawXaBvawXawXaBwaBxaByaByawXayWayWaBzawwazBazBaAJazBazBawwayWayWayWaBAaxoaxoaBBaxfaBCaAMaBDaxoaBDaAQaxoaxfaBEaxoaxoaBnaxCaxCaxCaxCaxCaBnaxCaxCaxCaxCaxCaxCaxCaBnaBFaBGaBGaBGaBHawyaBnaBnawyawyawyawyawyaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeahGaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaakaakaakaakaakaakaakaakaakaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaae
@@ -2944,7 +2736,7 @@ aaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaa
aaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaPZaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaQaaQbaQbaQeaQkaQlaQbaQiaQbaQbaQmaQbaQmaQbaQbaQiaQbaQnaQnaQbaQdaaeaaeaQaaQaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaPZaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaae
aaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaPZaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaQnaQoaQpaQqaQraQbaQmaQbaQsaQtaQuaQvaQwaQbaQmaQbaQxaQyaQbaQaaQaaQaaQdaQaaQaaQbaQzaQzaQzaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaPZaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaae
aaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaPZaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaQaaQnaQAaQBaQCaQDaQbaQEaQFaQGaQEaQHaQFaQIaQEaQEaQBaQJaQFaQbaQcaQbaQcaQcaQbaQcaQbaQzaQzaQzaQzaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaPZaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaae
-aaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaPZaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaQaaQnaQKaQLaQMaQNaQOaQPaQQaQRaQSaQTaQUaQVaQWaQWaQUaQXaQFaQbaQhaQYaQhaQZaRaaRbaQbaQzaQzaQzaQzaQzaQzaQzaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaPZaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaae
+aaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaPZaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaQaaQnaQKaQLaQMaQNaQOaQPaQQaQRaQSaQTaQUaQVaQWaQWaQUaQXaQFaQbaQhaQYaQhamyaRaaRbaQbaQzaQzaQzaQzaQzaQzaQzaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaPZaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaae
aaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaPZaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaQaaQnaRcaRdaReaRfaQbaQmaQcaQmaQbaRgaQbaQmaQcaQcaQbaRhaRiaQbaRbaQhaQiaQhaRbaQhaQbaQzaQzaQzaQzaQzaQzaQzaQzaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaPZaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaae
aaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaPZaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaQbaQbaQnaQnaQbaQbaQdaQaaaeaQcaRjaQcaQaaQaaaeaQbaQCaRkaQbaRlaRmaRlaRlaRmaRlaQbaQzaQzaQzaQzaQzaQzaQzaQzaQzaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaPZaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaae
aaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaPZaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaQaaQaaaeaQaaaeaaeaaeaaeaQbaRnaQbaQaaaeaaeaQbaRoaQEaQbaRpaRqaRraRsaRtaRuaQbaQzaQzaQzaQzaQzaQzaQzaQzaQzaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaPZaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaae
@@ -2952,7 +2744,7 @@ aaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaa
aaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaPZaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaRIaRIaRJaRKaRLaRMaRJaRIaRIaQnaRNaROaRPaRQaRRaRSaRRaRTaRUaQbaQzaQzaQzaQzaQzaQzaQzaQzaQzaQzaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaPZaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaae
aaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaPZaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaRVaUwrFkaSaaRZaSaaRXaUwaSbaQnaQCaQFaQbaScaSdaSeaSfaSgaShaQbaQzaQzaQzaQzaQzaQzaQzaQzaQzaQzaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaPZaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaae
aaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaPZaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaRJaSiaSjaSkaSlaSmaRJaaeaQbaQCaQHaQbaQbaQbaQbaQbaQbaQbaQbaQzaQzaQzaQzaQzaQzaQzaQzaQzaQzaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaPZaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaSnaSnaSnaSnaSnaSnaSnaSnaSnaSnaSnaSnaSnaSoaSnaSnaSnaaeaaeaaeaaeaaeaaeaaeaaeaae
-aaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaPZaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaRJaSpaFGaFPaFQaSmaRJaaeaQbaFRaQEaQbaFSaFTaFUaFVaFWaGfaQbaQzaQzaQzaQzaQzaQzaQzaQzaQzaQzaQzaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaPZaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaSnaGgaGhaGiaGjaGjaGjaSnaGkaGlaGlaSnaGsaGtaGuaSnaSnaaeaaeaaeaaeaaeaaeaaeaaeaae
+aaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaPZaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaRJaSpaFGaFPaFQaSmaRJaaeaQbaFRaQEaQbaFSaFTaFUaFVaFWaGfaQbaQzaQzaQzaQzaQzaQzaQzaQzaQzaQzaQzaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaPZaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaSnaGgaGhaGiancaGjaGjaSnaGkaGlaGlaSnaGsaGtaGuaSnaSnaaeaaeaaeaaeaaeaaeaaeaaeaae
aaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaPZaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaRJaGvaGwaFPaGxaSpaRJaaeaQbaGzaRkaQbaFSaGPaGQaFVaKsaKtaQbaQzaQzaQzaQzaQzaQzaQzaQzaQzaQzaQzaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaPZaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaSnaGiaGiaGiaGiaGiaGiaKuaKvaKwaKvaLaaGtaGtaMuaSnaSnaaeaaeaaeaaeaaeaaeaaeaaeaae
aaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaPZaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaRJaGvaGwaSqaFQaSraRJaaeaQbaQCaQEaQbaFSaSsaStaRFaSvaKtaQbaQzaQzaQzaQzaQzaQzaQzaQzaQzaQzaQzaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaPZaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaSnaSwaSwaGiaGiaGiaSxaSnaKvaKvaSyaSnaSnaSnaSnaSnaSnaaeaaeaaeaaeaaeaaeaaeaaeaae
aaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaPZaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaRJaSpaFGaSqaFQaSraRJaaeaQnaQCaQEaQbaQbaSAaSBaSCaSDaQbaQbaQzaQzaQzaQzaQzaQzaQzaQzaQzaQzaQzaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaPZaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaSnaGiaGiaGiaGiaGiaSEaSnaSFaSFaSGaSnaSHaSIaSJaSKaSnaaeaaeaaeaaeaaeaaeaaeaaeaae
@@ -2974,7 +2766,7 @@ aaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaa
aaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaPZaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaUDaUQaUFaaeaUDaUQaUFaaeaaeaaeaQaaQaaQaaaeaQaaQaaQbaVSaVSaVSaWdaWeaWfaWgaWhaWiaWjaWkaQRaWmaWnaWoaQEaWpaTtaWqaQFaWraWsaQdaWtaTtaQaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaPZaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaae
aaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaPZaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaWuaaeaaeaaeaWuaVSaVSaVSaVSaQbaQbaQbaQbaQbaQbaQbaWvaWwaWxaWyaWzaWAaWBaTtaTtaTtaTtaTtaTtaTtaWCaWDaWEaTtaWFaQEaWGaWHaWIaWJaTtaQaaQaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaPZaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaae
aaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaPZaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaWKaWLaWLaWLaWMaVSaWNaQEaWOaWPaWQaWRaWSaTtaQEaQEaWTaWUaWVaWWaWXaWYaWZaXaaTtaXbaXcaXdaXeaXfaXgaQEaXhaTtaTtaTtaTtaTtaTtaTtaQbaVSaVSaQbaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaPZaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaae
-aaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaPZaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaXiaXjaXkaXlaXmaXnaXoaXoaXpaXqaXraXsaXtaXuaXvaXwaXxaXyaXzaXAaXBaTtaXCaXDaXEaTtaTtaXFaXGaXGaXHaXHaXHaXIaXJaXKaXLaXMaXNaXOaVSaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaPZaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaae
+aaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaPZaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaXiaXjaXkaXlaXmaXnaXoaXoaXpaXqaXraXsaXtaXuaXvaXwaXxaXyaXzaXAaXBaTtaXCaXDaphaTtaTtaXFaXGaXGaXHaXHaXHaXIaXJaXKaXLaXMaXNaXOaVSaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaPZaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaae
aaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaPZaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaXPaWLaWLaWLaXQaVSaQEaQEaXRaXSaXTaXUaXVaXWaQEaQEaXXaXYaXZaYaaYbaYcaYdaYeaTtaTtaTtaYfaTtaTtaYgaYhaWnaWkaYiaQSaYkaYlaYmaYnaYoaYoaYpaVSaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaPZaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaae
aaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaPZaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaWuaaeaaeaaeaWuaVSaVSaVSaVSaTtaTtaTtaTtaTtaTtaTtaTtaYqaYraYsaYtaYuaYvaYeaTtaYwaYxaYyaTtaTtaYzaTtaYAaYBaYzaTtaTtaYCaYDaYnaYEaYoaYFaVSaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaPZaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaae
aaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaPZaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaUDaYGaUFaaeaUDaYGaUFaaeaaeaaeaQzaQzaQzaQzaQzaQzaQzaTtaTtaYHaYIaYJaYKaYLaTtaTtaTtaTtaYfaTtaYMaYNaTtaYOaTtaYPaYQaTtaYRaYDaYnaYnaYnaYSaQbaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaPZaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaae
diff --git a/maps/telecomms.dmm b/maps/telecomms.dmm
index 3c5bc0696f4..d84193c8f9e 100644
--- a/maps/telecomms.dmm
+++ b/maps/telecomms.dmm
@@ -4,8 +4,8 @@
"ad" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/floor/plating,/area/derelict/ship)
"ae" = (/turf/simulated/floor/shuttle/white,/turf/simulated/shuttle/wall/corner/smoothwhite/nolight/se,/area/derelict/ship)
"af" = (/obj/machinery/light{dir = 4},/turf/simulated/floor/shuttle/white,/area/derelict/ship)
-"ag" = (/obj/machinery/power/apc/high/inactive{dir = 8; name = "west bump"; pixel_x = -24},/turf/simulated/floor/shuttle/white,/area/derelict/ship)
-"ah" = (/turf/simulated/shuttle/wall{dir = 4; icon_state = "swall_straight"},/area/derelict/ship)
+"ag" = (/obj/machinery/power/apc/high/inactive{name = "west bump"; dir = 8; pixel_x = -24},/turf/simulated/floor/shuttle/white,/area/derelict/ship)
+"ah" = (/turf/simulated/shuttle/wall{icon_state = "whiteship_straight"; dir = 4},/area/derelict/ship)
"ai" = (/turf/simulated/floor/shuttle/white,/turf/simulated/shuttle/wall/corner/smoothwhite/nolight/sw,/area/derelict/ship)
"aj" = (/turf/simulated/floor/plating,/area/derelict/ship)
"ak" = (/turf/simulated/floor/plating,/turf/simulated/shuttle/wall/corner/smoothwhite/nolight/se,/area/derelict/ship)
@@ -16,27 +16,27 @@
"ap" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/derelict/ship)
"aq" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion"; dir = 4},/turf/space,/area/derelict/ship)
"ar" = (/turf/simulated/floor/plating,/turf/simulated/shuttle/wall/corner/smoothwhite/nolight/nw,/area/derelict/ship)
-"as" = (/turf/simulated/shuttle/wall{dir = 1; icon_state = "swall_t"},/area/space)
+"as" = (/turf/simulated/shuttle/wall,/area/derelict/ship)
"at" = (/obj/structure/bed/chair{dir = 8},/obj/effect/decal/remains{layer = 3},/turf/simulated/floor/shuttle/white,/area/derelict/ship)
"au" = (/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/derelict/ship)
"av" = (/obj/machinery/door/airlock/glass{name = "Hibernation Pods"},/turf/simulated/floor/shuttle/white,/area/derelict/ship)
-"aw" = (/turf/simulated/shuttle/wall{dir = 4; icon_state = "swall_straight"},/area/space)
+"aw" = (/turf/simulated/shuttle/wall{icon_state = "whiteship_t"},/area/derelict/ship)
"ax" = (/turf/simulated/floor/shuttle/white,/turf/simulated/shuttle/wall/corner/smoothwhite/nolight/nw,/area/derelict/ship)
-"ay" = (/turf/simulated/shuttle/wall{dir = 4; icon_state = "swall_t"},/area/derelict/ship)
+"ay" = (/turf/simulated/shuttle/wall{icon_state = "whiteship_t"; dir = 1},/area/space)
"az" = (/obj/structure/computerframe{anchored = 1},/turf/simulated/floor/shuttle/white,/area/derelict/ship)
"aA" = (/obj/structure/table/standard,/obj/item/storage/firstaid/regular{pixel_x = 6; pixel_y = -5},/turf/simulated/floor/shuttle/white,/area/derelict/ship)
-"aB" = (/turf/simulated/shuttle/wall{dir = 2; icon_state = "swall15"},/area/derelict/ship)
-"aC" = (/turf/simulated/shuttle/wall{dir = 2; icon_state = "swall_t"},/area/derelict/ship)
+"aB" = (/turf/simulated/shuttle/wall{icon_state = "whiteship_t"; dir = 8},/area/space)
+"aC" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"; dir = 9},/area/derelict/ship)
"aD" = (/turf/space,/turf/simulated/shuttle/wall/corner/smoothwhite/nolight/nw,/area/space)
-"aE" = (/turf/simulated/shuttle/wall{dir = 2; icon_state = "swall15"},/area/space)
+"aE" = (/turf/simulated/shuttle/wall{icon_state = "whiteship_t"; dir = 4},/area/space)
"aF" = (/obj/structure/shuttle/engine/propulsion{icon_state = "burst_l"; dir = 4},/turf/space,/area/derelict/ship)
"aG" = (/turf/space,/turf/simulated/shuttle/wall/corner/smoothwhite/nolight/ne,/area/space)
"aH" = (/obj/item/scalpel,/turf/simulated/floor/shuttle/white,/area/derelict/ship)
-"aI" = (/turf/simulated/shuttle/wall{dir = 1; icon_state = "swall_t"},/area/derelict/ship)
-"aJ" = (/turf/simulated/shuttle/wall{dir = 8; icon_state = "swall_t"},/area/derelict/ship)
+"aI" = (/turf/simulated/shuttle/wall{icon_state = "whiteship_t"},/area/space)
+"aJ" = (/turf/simulated/shuttle/wall{icon_state = "whiteship_t"; dir = 1},/area/derelict/ship)
"aK" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/floor/shuttle/white,/area/derelict/ship)
"aL" = (/obj/structure/table/standard,/obj/item/cell,/turf/simulated/floor/shuttle/white,/area/derelict/ship)
-"aM" = (/turf/simulated/shuttle/wall{dir = 1; icon_state = "swall_straight"},/area/derelict/ship)
+"aM" = (/turf/simulated/shuttle/wall{icon_state = "whiteship_t"; dir = 4},/area/derelict/ship)
"aN" = (/obj/item/device/multitool,/turf/simulated/floor/shuttle/white,/area/derelict/ship)
"aO" = (/obj/item/cell,/turf/simulated/floor/shuttle/white,/area/derelict/ship)
"aP" = (/turf/simulated/floor/shuttle/white,/turf/simulated/shuttle/wall/corner/smoothwhite/nolight/se,/area/space)
@@ -49,11 +49,10 @@
"aW" = (/turf/space,/turf/simulated/shuttle/wall/corner/smoothwhite/nolight/sw,/area/derelict/ship)
"aX" = (/obj/machinery/door/airlock/glass,/turf/simulated/floor/shuttle/white,/area/derelict/ship)
"aY" = (/obj/machinery/door/airlock/glass{name = "Living Module"},/turf/simulated/floor/shuttle/white,/area/derelict/ship)
-"aZ" = (/turf/simulated/shuttle/wall{dir = 4; icon_state = "swall_t"},/area/space)
"ba" = (/obj/machinery/portable_atmospherics/powered/scrubber,/turf/simulated/floor/shuttle/white,/area/derelict/ship)
"bb" = (/obj/structure/bed,/obj/item/bedsheet,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/shuttle/white,/area/derelict/ship)
"bc" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/floor/shuttle/white,/area/space)
-"bd" = (/obj/machinery/light/small{dir = 4; icon_state = "bulb1"},/turf/simulated/floor/shuttle/white,/area/derelict/ship)
+"bd" = (/obj/machinery/light/small{icon_state = "bulb1"; dir = 4},/turf/simulated/floor/shuttle/white,/area/derelict/ship)
"be" = (/obj/structure/table/standard,/obj/item/gun/energy/retro,/turf/simulated/floor/shuttle/white,/area/derelict/ship)
"bf" = (/obj/effect/decal/cleanable/blood/splatter,/turf/simulated/floor/shuttle/white,/area/derelict/ship)
"bg" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/shuttle/white,/area/derelict/ship)
@@ -65,29 +64,28 @@
"bm" = (/obj/item/trash/cheesie,/turf/space,/area/space)
"bn" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/shuttle/white,/area/derelict/ship)
"bo" = (/obj/structure/table/standard,/obj/item/device/analyzer,/turf/simulated/floor/shuttle/white,/area/derelict/ship)
-"bp" = (/obj/machinery/mass_driver{dir = 8; id = "oldship_gun"; name = "mass driver"},/turf/simulated/floor/plating,/area/derelict/ship)
+"bp" = (/obj/machinery/mass_driver{name = "mass driver"; dir = 8; id = "oldship_gun"},/turf/simulated/floor/plating,/area/derelict/ship)
"bq" = (/turf/space,/turf/simulated/shuttle/wall/corner/smoothwhite/nolight/sw,/area/space)
-"br" = (/turf/simulated/shuttle/wall{dir = 2; icon_state = "swall_t"},/area/space)
"bs" = (/obj/machinery/door/airlock/glass,/obj/effect/decal/cleanable/blood/splatter,/turf/simulated/floor/shuttle/white,/area/derelict/ship)
"bt" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/floor/shuttle/white,/area/derelict/ship)
"bu" = (/turf/space,/turf/simulated/shuttle/wall/corner/smoothwhite/nolight/se,/area/space)
"bv" = (/obj/machinery/door/window/southleft,/turf/simulated/floor/shuttle/white,/area/derelict/ship)
"bw" = (/obj/machinery/door/window/northright,/obj/effect/decal/remains,/turf/simulated/floor/shuttle/white,/area/derelict/ship)
"bx" = (/obj/structure/table/rack,/obj/item/tank/emergency/oxygen,/obj/item/tank/emergency/oxygen,/obj/item/tank/emergency/oxygen,/obj/item/tank/emergency/oxygen,/obj/item/clothing/suit/ianshirt,/obj/item/clothing/mask/animal_mask/horsehead,/obj/random_multi/single_item/bookrev,/turf/simulated/floor/shuttle/white,/area/derelict/ship)
-"by" = (/obj/machinery/computer/pod{id = "oldship_gun"; name = "Pod Launch Control"},/turf/simulated/floor/shuttle/white,/area/derelict/ship)
+"by" = (/obj/machinery/computer/pod{name = "Pod Launch Control"; id = "oldship_gun"},/turf/simulated/floor/shuttle/white,/area/derelict/ship)
"bz" = (/obj/structure/lattice,/obj/structure/window_frame/grille,/turf/space,/area/space)
"bA" = (/obj/structure/lattice,/turf/space,/area/space)
-"bB" = (/obj/machinery/power/solar,/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating/airless,/area/turret_protected/tcomsat)
-"bC" = (/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating/airless,/area/turret_protected/tcomsat)
-"bD" = (/obj/machinery/power/solar,/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area/turret_protected/tcomsat)
-"bE" = (/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating/airless,/area/turret_protected/tcomsat)
-"bF" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating/airless,/area/turret_protected/tcomsat)
-"bG" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating/airless,/area/turret_protected/tcomsat)
-"bH" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating/airless,/area/turret_protected/tcomsat)
-"bI" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating/airless,/area/turret_protected/tcomsat)
-"bJ" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating/airless,/area/turret_protected/tcomsat)
-"bK" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating/airless,/area/turret_protected/tcomsat)
-"bL" = (/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating/airless,/area/turret_protected/tcomsat)
+"bB" = (/obj/machinery/power/solar,/obj/structure/cable/yellow{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless,/area/turret_protected/tcomsat)
+"bC" = (/obj/structure/cable/yellow{icon_state = "2-8"; d2 = 8; d1 = 2},/obj/structure/cable/yellow{icon_state = "2-4"; d2 = 4; d1 = 2},/obj/structure/cable/yellow{icon_state = "1-2"; d2 = 2; d1 = 1},/turf/simulated/floor/plating/airless,/area/turret_protected/tcomsat)
+"bD" = (/obj/machinery/power/solar,/obj/structure/cable/yellow{icon_state = "0-8"; d2 = 8},/turf/simulated/floor/plating/airless,/area/turret_protected/tcomsat)
+"bE" = (/obj/structure/cable/yellow{icon_state = "1-4"; d2 = 4; d1 = 1},/turf/simulated/floor/plating/airless,/area/turret_protected/tcomsat)
+"bF" = (/obj/structure/cable/yellow{icon_state = "4-8"; d2 = 8; d1 = 4},/turf/simulated/floor/plating/airless,/area/turret_protected/tcomsat)
+"bG" = (/obj/structure/cable/yellow{icon_state = "2-4"; d2 = 4; d1 = 2},/obj/structure/cable/yellow{icon_state = "2-8"; d2 = 8; d1 = 2},/turf/simulated/floor/plating/airless,/area/turret_protected/tcomsat)
+"bH" = (/obj/structure/cable/yellow{icon_state = "1-8"; d2 = 8; d1 = 1},/turf/simulated/floor/plating/airless,/area/turret_protected/tcomsat)
+"bI" = (/obj/structure/cable/yellow{icon_state = "1-2"; d2 = 2; d1 = 1},/turf/simulated/floor/plating/airless,/area/turret_protected/tcomsat)
+"bJ" = (/obj/structure/cable/yellow{icon_state = "2-4"; d2 = 4; d1 = 2},/turf/simulated/floor/plating/airless,/area/turret_protected/tcomsat)
+"bK" = (/obj/structure/cable/yellow{icon_state = "1-8"; d2 = 8; d1 = 1},/obj/structure/cable/yellow{icon_state = "1-4"; d2 = 4; d1 = 1},/turf/simulated/floor/plating/airless,/area/turret_protected/tcomsat)
+"bL" = (/obj/structure/cable/yellow{icon_state = "2-8"; d2 = 8; d1 = 2},/turf/simulated/floor/plating/airless,/area/turret_protected/tcomsat)
"bM" = (/turf/simulated/wall/r_wall,/area/turret_protected/tcomsat)
"bN" = (/turf/simulated/wall/r_wall,/area/turret_protected/tcomsat/port)
"bO" = (/turf/simulated/wall/r_wall,/area/turret_protected/tcomsat/starboard)
@@ -118,37 +116,37 @@
"cn" = (/obj/structure/sign/warning/secure_area,/turf/simulated/wall/r_wall,/area/tcommsat/computer)
"co" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/camera/network/telecom{dir = 4},/turf/simulated/floor/tiled/rough,/area/tcommsat/computer)
"cp" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/rough,/area/tcommsat/computer)
-"cq" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled/rough,/area/tcommsat/computer)
-"cr" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/rough,/area/tcommsat/computer)
-"cs" = (/obj/structure/bed/chair/office/dark{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/rough,/area/tcommsat/computer)
-"ct" = (/obj/machinery/computer/telecomms/server{network = "tcommsat"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/rough,/area/tcommsat/computer)
-"cu" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/wall/r_wall,/area/tcommsat/computer)
-"cv" = (/obj/item/reagent_containers/food/meat/syntiflesh{name = "Cuban Pete-Meat"},/obj/item/spacecash/bundle/c1,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/reinforced,/area/tcommsat/computer)
-"cw" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/wall/r_wall,/area/turret_protected/tcomsat/starboard)
-"cx" = (/obj/machinery/atmospherics/binary/pump/on{name = "Air to Supply"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/rough,/area/turret_protected/tcomsat/starboard)
-"cy" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/rough,/area/turret_protected/tcomsat/starboard)
-"cz" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled/rough,/area/turret_protected/tcomsat/starboard)
+"cq" = (/obj/structure/cable{icon_state = "2-4"; d2 = 4; d1 = 2},/turf/simulated/floor/tiled/rough,/area/tcommsat/computer)
+"cr" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/turf/simulated/floor/tiled/rough,/area/tcommsat/computer)
+"cs" = (/obj/structure/bed/chair/office/dark{dir = 4},/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/turf/simulated/floor/tiled/rough,/area/tcommsat/computer)
+"ct" = (/obj/machinery/computer/telecomms/server{network = "tcommsat"},/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/turf/simulated/floor/tiled/rough,/area/tcommsat/computer)
+"cu" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/turf/simulated/wall/r_wall,/area/tcommsat/computer)
+"cv" = (/obj/item/reagent_containers/food/meat/syntiflesh{name = "Cuban Pete-Meat"},/obj/item/spacecash/bundle/c1,/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/turf/simulated/floor/reinforced,/area/tcommsat/computer)
+"cw" = (/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/turf/simulated/wall/r_wall,/area/turret_protected/tcomsat/starboard)
+"cx" = (/obj/machinery/atmospherics/binary/pump/on{name = "Air to Supply"},/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/turf/simulated/floor/tiled/rough,/area/turret_protected/tcomsat/starboard)
+"cy" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/structure/cable{icon_state = "4-8"; d2 = 8; d1 = 4},/turf/simulated/floor/tiled/rough,/area/turret_protected/tcomsat/starboard)
+"cz" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/structure/cable{icon_state = "2-8"; d2 = 8; d1 = 2},/turf/simulated/floor/tiled/rough,/area/turret_protected/tcomsat/starboard)
"cA" = (/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/turf/simulated/floor/tiled/rough,/area/turret_protected/tcomsat/starboard)
-"cB" = (/obj/machinery/atmospherics/binary/pump/high_power/on{dir = 4; icon_state = "map_on"; target_pressure = 15000},/turf/simulated/floor/tiled/rough,/area/turret_protected/tcomsat/starboard)
+"cB" = (/obj/machinery/atmospherics/binary/pump/high_power/on{icon_state = "map_on"; dir = 4; target_pressure = 15000},/turf/simulated/floor/tiled/rough,/area/turret_protected/tcomsat/starboard)
"cC" = (/obj/structure/sign/warning/deathsposal{pixel_x = 32},/obj/machinery/portable_atmospherics/canister/empty,/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor/tiled/rough,/area/turret_protected/tcomsat/starboard)
"cD" = (/obj/structure/window/reinforced{dir = 4},/turf/space,/area/space)
"cE" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled/dark/rough,/area/turret_protected/tcomsat/port)
"cF" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/turret_protected/tcomsat/port)
-"cG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/turret_protected/tcomsat/port)
-"cH" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/door/airlock/hatch{name = "Telecoms Control Room"; req_access = list(61)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/tcommsat/computer)
-"cI" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/rough,/area/tcommsat/computer)
-"cJ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled/rough,/area/tcommsat/computer)
-"cK" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled/rough,/area/tcommsat/computer)
-"cL" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/tiled/rough,/area/tcommsat/computer)
-"cM" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/turf/simulated/floor/tiled/rough,/area/tcommsat/computer)
+"cG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{name = "north bump"; dir = 1; pixel_x = 0; pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/turret_protected/tcomsat/port)
+"cH" = (/obj/structure/cable{icon_state = "4-8"; pixel_x = 0; d2 = 8; d1 = 4},/obj/machinery/door/airlock/hatch{name = "Telecoms Control Room"; req_access = list(61)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/tcommsat/computer)
+"cI" = (/obj/structure/cable{icon_state = "4-8"; pixel_x = 0; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/rough,/area/tcommsat/computer)
+"cJ" = (/obj/structure/cable{icon_state = "4-8"; pixel_x = 0; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled/rough,/area/tcommsat/computer)
+"cK" = (/obj/structure/cable{icon_state = "2-4"; d2 = 4; d1 = 2},/obj/structure/cable{icon_state = "2-8"; d2 = 8; d1 = 2},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/cable{icon_state = "1-2"; pixel_y = 0; d2 = 2; d1 = 1},/turf/simulated/floor/tiled/rough,/area/tcommsat/computer)
+"cL" = (/obj/structure/cable{icon_state = "4-8"; pixel_x = 0; d2 = 8; d1 = 4},/turf/simulated/floor/tiled/rough,/area/tcommsat/computer)
+"cM" = (/obj/structure/cable{icon_state = "0-8"; d2 = 8},/obj/machinery/power/apc{name = "east bump"; dir = 4; pixel_x = 24},/turf/simulated/floor/tiled/rough,/area/tcommsat/computer)
"cN" = (/obj/machinery/atmospherics/pipe/simple/visible/blue{icon_state = "intact"; dir = 5},/turf/simulated/floor/tiled/rough,/area/turret_protected/tcomsat/starboard)
-"cO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/tiled/rough,/area/turret_protected/tcomsat/starboard)
+"cO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/cable{icon_state = "1-2"; pixel_y = 0; d2 = 2; d1 = 1},/turf/simulated/floor/tiled/rough,/area/turret_protected/tcomsat/starboard)
"cP" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/rough,/area/turret_protected/tcomsat/starboard)
"cQ" = (/obj/machinery/light,/turf/simulated/floor/tiled/rough,/area/turret_protected/tcomsat/starboard)
"cR" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor/tiled/rough,/area/turret_protected/tcomsat/starboard)
"cS" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area/turret_protected/tcomsat/starboard)
"cT" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area/turret_protected/tcomsat)
-"cU" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating/airless,/area/turret_protected/tcomsat)
+"cU" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/yellow{icon_state = "1-2"; d2 = 2; d1 = 1},/turf/simulated/floor/plating/airless,/area/turret_protected/tcomsat)
"cV" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating/airless,/area/turret_protected/tcomsat)
"cW" = (/obj/structure/disposaloutlet{dir = 4},/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/plating/airless,/area/turret_protected/tcomsat)
"cX" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark/rough,/area/turret_protected/tcomsat/port)
@@ -156,47 +154,47 @@
"cZ" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/lattice,/obj/machinery/light,/turf/space,/area/turret_protected/tcomsat/port)
"da" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/camera/network/telecom{dir = 1},/turf/space,/area/turret_protected/tcomsat/port)
"db" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/space,/area/space)
-"dc" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/tiled/dark/rough,/area/turret_protected/tcomsat/port)
+"dc" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/alarm{icon_state = "alarm0"; dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/dark/rough,/area/turret_protected/tcomsat/port)
"dd" = (/obj/machinery/light{dir = 8},/obj/structure/table/standard,/obj/item/device/multitool,/obj/structure/sign/warning/high_voltage{pixel_x = -32},/turf/simulated/floor/tiled/rough,/area/tcommsat/computer)
"de" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/rough,/area/tcommsat/computer)
-"df" = (/obj/structure/cable{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/rough,/area/tcommsat/computer)
-"dg" = (/obj/machinery/door/airlock/hatch{name = "Telecoms Lounge"; req_access = list(61)},/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},/turf/simulated/floor/tiled/rough,/area/turret_protected/tcomsat/starboard)
+"df" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/rough,/area/tcommsat/computer)
+"dg" = (/obj/machinery/door/airlock/hatch{name = "Telecoms Lounge"; req_access = list(61)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{icon_state = "1-2"; pixel_y = 0; d2 = 2; d1 = 1},/turf/simulated/floor/tiled/rough,/area/turret_protected/tcomsat/starboard)
"dh" = (/obj/machinery/turret/network/station,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/plating/airless,/area/turret_protected/tcomsat/port)
"di" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/lattice,/turf/space,/area/space)
"dj" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 8},/turf/space,/area/space)
"dk" = (/turf/simulated/wall/r_wall,/area/tcommsat/chamber)
"dl" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/window_frame/grille/rglass,/turf/simulated/floor/plating,/area/tcommsat/chamber)
-"dm" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/window_frame/grille/rglass,/turf/simulated/floor/plating,/area/tcommsat/chamber)
-"dn" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/structure/cable,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/window_frame/grille/rglass,/turf/simulated/floor/plating,/area/tcommsat/chamber)
-"do" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/window_frame/grille/rglass,/turf/simulated/floor/plating,/area/tcommsat/chamber)
+"dm" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{icon_state = "0-8"; d2 = 8},/obj/structure/window_frame/grille/rglass,/turf/simulated/floor/plating,/area/tcommsat/chamber)
+"dn" = (/obj/structure/cable{icon_state = "0-2"; pixel_y = 0; d2 = 2},/obj/structure/cable,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{icon_state = "0-8"; d2 = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/window_frame/grille/rglass,/turf/simulated/floor/plating,/area/tcommsat/chamber)
+"do" = (/obj/structure/cable{icon_state = "0-8"; d2 = 8},/obj/structure/window_frame/grille/rglass,/turf/simulated/floor/plating,/area/tcommsat/chamber)
"dp" = (/obj/machinery/door/airlock/hatch{name = "Telecoms Control Room"; req_access = list(61)},/turf/simulated/floor/tiled/rough,/area/tcommsat/chamber)
-"dq" = (/obj/structure/window/reinforced,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/turf/simulated/floor/tiled/dark/rough,/area/turret_protected/tcomsat/starboard)
-"dr" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled/dark/rough,/area/turret_protected/tcomsat/starboard)
+"dq" = (/obj/structure/window/reinforced,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{name = "north bump"; dir = 1; pixel_x = 0; pixel_y = 24},/obj/machinery/alarm{icon_state = "alarm0"; dir = 4; pixel_x = -22; pixel_y = 0},/turf/simulated/floor/tiled/dark/rough,/area/turret_protected/tcomsat/starboard)
+"dr" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{icon_state = "1-8"; d2 = 8; d1 = 1},/turf/simulated/floor/tiled/dark/rough,/area/turret_protected/tcomsat/starboard)
"ds" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/lattice,/turf/space,/area/space)
-"dt" = (/obj/machinery/power/solar,/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating/airless,/area/turret_protected/tcomsat)
+"dt" = (/obj/machinery/power/solar,/obj/structure/cable/yellow{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating/airless,/area/turret_protected/tcomsat)
"du" = (/obj/machinery/camera/network/telecom{dir = 4},/turf/space,/area/turret_protected/tcomsat/port)
"dv" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark/rough,/area/turret_protected/tcomsat/port)
"dw" = (/obj/structure/window/reinforced{dir = 8},/turf/space,/area/space)
"dx" = (/turf/simulated/floor/grid/bluegrid,/area/tcommsat/chamber)
-"dy" = (/obj/machinery/power/apc/super/critical{dir = 1; name = "north bump"; pixel_y = 24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/grid/bluegrid,/area/tcommsat/chamber)
-"dz" = (/obj/machinery/alarm/server{pixel_y = 22},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/grid/bluegrid,/area/tcommsat/chamber)
-"dA" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/grid/bluegrid,/area/tcommsat/chamber)
-"dB" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/grid/bluegrid,/area/tcommsat/chamber)
+"dy" = (/obj/machinery/power/apc/super/critical{name = "north bump"; dir = 1; pixel_y = 24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/grid/bluegrid,/area/tcommsat/chamber)
+"dz" = (/obj/machinery/alarm/server{pixel_y = 22},/obj/structure/cable{icon_state = "4-8"; pixel_x = 0; d2 = 8; d1 = 4},/turf/simulated/floor/grid/bluegrid,/area/tcommsat/chamber)
+"dA" = (/obj/structure/cable{icon_state = "4-8"; pixel_x = 0; d2 = 8; d1 = 4},/turf/simulated/floor/grid/bluegrid,/area/tcommsat/chamber)
+"dB" = (/obj/structure/cable{icon_state = "2-8"; d2 = 8; d1 = 2},/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/grid/bluegrid,/area/tcommsat/chamber)
"dC" = (/obj/structure/sign/warning/server_room{pixel_y = 32},/turf/simulated/floor/grid/bluegrid,/area/tcommsat/chamber)
"dD" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/lattice,/obj/structure/window/reinforced{dir = 1},/obj/machinery/camera/network/telecom{dir = 4},/turf/space,/area/turret_protected/tcomsat/starboard)
"dE" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark/rough,/area/turret_protected/tcomsat/starboard)
-"dF" = (/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating/airless,/area/turret_protected/tcomsat)
+"dF" = (/obj/structure/cable/yellow{icon_state = "1-4"; d2 = 4; d1 = 1},/obj/structure/cable/yellow{icon_state = "2-4"; d2 = 4; d1 = 2},/obj/structure/cable/yellow{icon_state = "4-8"; d2 = 8; d1 = 4},/turf/simulated/floor/plating/airless,/area/turret_protected/tcomsat)
"dG" = (/turf/simulated/floor/tiled/dark/rough,/area/tcommsat/chamber)
-"dH" = (/obj/structure/cable{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/dark/rough,/area/tcommsat/chamber)
+"dH" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark/rough,/area/tcommsat/chamber)
"dI" = (/obj/structure/window_frame/reinforced/hull,/turf/simulated/floor/plating,/area/turret_protected/tcomsat/starboard)
-"dJ" = (/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating/airless,/area/turret_protected/tcomsat)
+"dJ" = (/obj/structure/cable/yellow{icon_state = "2-8"; d2 = 8; d1 = 2},/obj/structure/cable/yellow{icon_state = "1-8"; d2 = 8; d1 = 1},/obj/structure/cable/yellow{icon_state = "4-8"; d2 = 8; d1 = 4},/turf/simulated/floor/plating/airless,/area/turret_protected/tcomsat)
"dK" = (/obj/machinery/power/solar,/obj/structure/cable/yellow,/turf/simulated/floor/plating/airless,/area/turret_protected/tcomsat)
"dL" = (/obj/machinery/telecomms/server/presets/supply,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark/rough,/area/tcommsat/chamber)
"dM" = (/obj/machinery/telecomms/server/presets/service,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark/rough,/area/tcommsat/chamber)
"dN" = (/obj/machinery/telecomms/server/presets/unused,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark/rough,/area/tcommsat/chamber)
"dO" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/tcommsat/chamber)
"dP" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/tcommsat/chamber)
-"dQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/telecomms/broadcaster/preset_right,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/grid/bluegrid,/area/tcommsat/chamber)
+"dQ" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/telecomms/broadcaster/preset_right,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/grid/bluegrid,/area/tcommsat/chamber)
"dR" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/dark/rough,/area/tcommsat/chamber)
"dS" = (/obj/machinery/telecomms/server/presets/common,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark/rough,/area/tcommsat/chamber)
"dT" = (/obj/machinery/telecomms/server/presets/engineering,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark/rough,/area/tcommsat/chamber)
@@ -204,21 +202,21 @@
"dV" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/rough,/area/turret_protected/tcomsat/starboard)
"dW" = (/obj/structure/table/rack,/obj/item/circuitboard/telecomms/processor,/obj/item/circuitboard/telecomms/processor,/obj/item/circuitboard/telecomms/receiver,/obj/item/circuitboard/telecomms/server,/obj/item/circuitboard/telecomms/server,/obj/item/circuitboard/telecomms/bus,/obj/item/circuitboard/telecomms/bus,/obj/item/circuitboard/telecomms/broadcaster,/obj/item/circuitboard/ntnet_relay,/turf/simulated/floor/tiled/rough,/area/turret_protected/tcomsat/starboard)
"dX" = (/obj/machinery/camera/network/telecom{dir = 4},/turf/simulated/floor/grid/bluegrid,/area/tcommsat/chamber)
-"dY" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/grid/bluegrid,/area/tcommsat/chamber)
+"dY" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/grid/bluegrid,/area/tcommsat/chamber)
"dZ" = (/obj/machinery/camera/network/telecom{dir = 8},/turf/simulated/floor/grid/bluegrid,/area/tcommsat/chamber)
"ea" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/space,/area/space)
"eb" = (/obj/structure/table/standard,/obj/item/stock_parts/subspace/treatment,/obj/item/stock_parts/subspace/treatment,/obj/item/stock_parts/subspace/treatment,/turf/simulated/floor/tiled/rough,/area/turret_protected/tcomsat/starboard)
"ec" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/rough,/area/turret_protected/tcomsat/starboard)
-"ed" = (/obj/structure/table/standard,/obj/item/stock_parts/subspace/analyzer,/obj/item/stock_parts/subspace/analyzer,/obj/item/stock_parts/subspace/analyzer,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/tiled/rough,/area/turret_protected/tcomsat/starboard)
-"ee" = (/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating/airless,/area/turret_protected/tcomsat)
-"ef" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/turret_protected/tcomsat)
-"eg" = (/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating/airless,/area/turret_protected/tcomsat)
+"ed" = (/obj/structure/table/standard,/obj/item/stock_parts/subspace/analyzer,/obj/item/stock_parts/subspace/analyzer,/obj/item/stock_parts/subspace/analyzer,/obj/machinery/alarm{icon_state = "alarm0"; dir = 8; pixel_x = 24},/turf/simulated/floor/tiled/rough,/area/turret_protected/tcomsat/starboard)
+"ee" = (/obj/structure/cable/yellow{icon_state = "1-4"; d2 = 4; d1 = 1},/obj/structure/cable/yellow{icon_state = "2-4"; d2 = 4; d1 = 2},/turf/simulated/floor/plating/airless,/area/turret_protected/tcomsat)
+"ef" = (/obj/structure/cable/yellow{icon_state = "4-8"; d2 = 8; d1 = 4},/turf/simulated/floor/plating,/area/turret_protected/tcomsat)
+"eg" = (/obj/structure/cable/yellow{icon_state = "2-8"; d2 = 8; d1 = 2},/obj/structure/cable/yellow{icon_state = "1-8"; d2 = 8; d1 = 1},/turf/simulated/floor/plating/airless,/area/turret_protected/tcomsat)
"eh" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 8},/obj/machinery/light{dir = 4},/turf/space,/area/turret_protected/tcomsat/port)
"ei" = (/obj/structure/sign/warning/nosmoking_2{pixel_x = -32; pixel_y = 0},/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/grid/bluegrid,/area/tcommsat/chamber)
"ej" = (/obj/machinery/telecomms/processor/preset_two,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark/rough,/area/tcommsat/chamber)
"ek" = (/obj/machinery/telecomms/bus/preset_two,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark/rough,/area/tcommsat/chamber)
"el" = (/obj/machinery/telecomms/relay/preset/telecomms,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark/rough,/area/tcommsat/chamber)
-"em" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/telecomms/hub/preset,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/grid/bluegrid,/area/tcommsat/chamber)
+"em" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/telecomms/hub/preset,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/grid/bluegrid,/area/tcommsat/chamber)
"en" = (/obj/structure/lattice,/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/space,/area/turret_protected/tcomsat/starboard)
"eo" = (/obj/machinery/telecomms/bus/preset_four,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark/rough,/area/tcommsat/chamber)
"ep" = (/obj/machinery/telecomms/processor/preset_four,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark/rough,/area/tcommsat/chamber)
@@ -230,7 +228,7 @@
"ev" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/rough,/area/turret_protected/tcomsat/starboard)
"ew" = (/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/rough,/area/turret_protected/tcomsat/starboard)
"ex" = (/obj/structure/table/standard,/obj/item/stock_parts/subspace/amplifier,/obj/item/stock_parts/subspace/amplifier,/obj/item/stock_parts/subspace/amplifier,/obj/machinery/light/small{dir = 4},/obj/item/device/radio/intercom{dir = 8; pixel_x = 22},/turf/simulated/floor/tiled/rough,/area/turret_protected/tcomsat/starboard)
-"ey" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating/airless,/area/turret_protected/tcomsat)
+"ey" = (/obj/structure/cable/yellow{icon_state = "2-4"; d2 = 4; d1 = 2},/obj/structure/cable/yellow{icon_state = "1-4"; d2 = 4; d1 = 1},/turf/simulated/floor/plating/airless,/area/turret_protected/tcomsat)
"ez" = (/obj/machinery/telecomms/bus/preset_one,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark/rough,/area/tcommsat/chamber)
"eA" = (/obj/machinery/telecomms/processor/preset_one,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark/rough,/area/tcommsat/chamber)
"eB" = (/obj/effect/floor_decal/industrial/outline/grey,/obj/machinery/ntnet_relay,/turf/simulated/floor/tiled/dark/rough,/area/tcommsat/chamber)
@@ -241,7 +239,7 @@
"eG" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/tiled/rough,/area/turret_protected/tcomsat/starboard)
"eH" = (/obj/item/storage/toolbox/mechanical,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/rough,/area/turret_protected/tcomsat/starboard)
"eI" = (/obj/structure/table/standard,/obj/item/stock_parts/subspace/ansible,/obj/item/stock_parts/subspace/ansible,/obj/item/stock_parts/subspace/ansible,/turf/simulated/floor/tiled/rough,/area/turret_protected/tcomsat/starboard)
-"eJ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/telecomms/receiver/preset_right,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/grid/bluegrid,/area/tcommsat/chamber)
+"eJ" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/telecomms/receiver/preset_right,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/grid/bluegrid,/area/tcommsat/chamber)
"eK" = (/obj/structure/table/standard,/obj/item/stock_parts/subspace/transmitter,/obj/item/stock_parts/subspace/transmitter,/turf/simulated/floor/tiled/rough,/area/turret_protected/tcomsat/starboard)
"eL" = (/obj/structure/table/standard,/obj/item/stock_parts/subspace/filter,/obj/item/stock_parts/subspace/filter,/obj/item/stock_parts/subspace/filter,/obj/item/stock_parts/subspace/filter,/obj/item/stock_parts/subspace/filter,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/rough,/area/turret_protected/tcomsat/starboard)
"eM" = (/obj/structure/table/standard,/obj/item/stock_parts/subspace/crystal,/obj/item/stock_parts/subspace/crystal,/obj/item/stock_parts/subspace/crystal,/turf/simulated/floor/tiled/rough,/area/turret_protected/tcomsat/starboard)
@@ -249,19 +247,19 @@
"eO" = (/obj/machinery/telecomms/server/presets/medical,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark/rough,/area/tcommsat/chamber)
"eP" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/tcommsat/chamber)
"eQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/tcommsat/chamber)
-"eR" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled/dark/rough,/area/tcommsat/chamber)
+"eR" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled/dark/rough,/area/tcommsat/chamber)
"eS" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/dark/rough,/area/tcommsat/chamber)
"eT" = (/obj/machinery/telecomms/server/presets/command,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark/rough,/area/tcommsat/chamber)
"eU" = (/obj/machinery/telecomms/server/presets/security,/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled/dark/rough,/area/tcommsat/chamber)
-"eV" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light,/turf/simulated/floor/grid/bluegrid,/area/tcommsat/chamber)
-"eW" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/wall/r_wall,/area/tcommsat/chamber)
+"eV" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/light,/turf/simulated/floor/grid/bluegrid,/area/tcommsat/chamber)
+"eW" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/turf/simulated/wall/r_wall,/area/tcommsat/chamber)
"eX" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/space,/area/space)
"eY" = (/obj/structure/window/reinforced,/obj/machinery/light{dir = 1},/turf/space,/area/turret_protected/tcomsat/starboard)
"eZ" = (/turf/simulated/wall/r_wall,/area/turret_protected/tcomfoyer)
-"fa" = (/obj/structure/sign/warning/lethal_turrets{pixel_x = -32},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled/dark/rough,/area/turret_protected/tcomfoyer)
-"fb" = (/obj/machinery/turret/network/station,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/turret_protected/tcomfoyer)
-"fc" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/machinery/camera/network/telecom,/turf/simulated/floor/tiled/dark/rough,/area/turret_protected/tcomfoyer)
-"fd" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/turret_control_panel/tcomms_lethal{pixel_y = 29;},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/turret_protected/tcomfoyer)
+"fa" = (/obj/structure/sign/warning/lethal_turrets{pixel_x = -32},/obj/machinery/power/apc{name = "north bump"; dir = 1; pixel_x = 0; pixel_y = 24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled/dark/rough,/area/turret_protected/tcomfoyer)
+"fb" = (/obj/machinery/turret/network/station,/obj/structure/cable{icon_state = "4-8"; pixel_x = 0; d2 = 8; d1 = 4},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/turret_protected/tcomfoyer)
+"fc" = (/obj/structure/cable{icon_state = "4-8"; pixel_x = 0; d2 = 8; d1 = 4},/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/machinery/camera/network/telecom,/turf/simulated/floor/tiled/dark/rough,/area/turret_protected/tcomfoyer)
+"fd" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/structure/cable{icon_state = "2-8"; d2 = 8; d1 = 2},/obj/machinery/turret_control_panel/tcomms_lethal{pixel_y = 29},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/turret_protected/tcomfoyer)
"fe" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/turret_protected/tcomfoyer)
"ff" = (/obj/machinery/turret/network/station,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/turret_protected/tcomfoyer)
"fg" = (/obj/structure/sign/warning/lethal_turrets{pixel_x = 32},/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/dark/rough,/area/turret_protected/tcomfoyer)
@@ -272,7 +270,7 @@
"fl" = (/obj/machinery/door/airlock/hatch{name = "Telecoms West Wing"; req_access = list(61)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/turret_protected/tcomfoyer)
"fm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/turret_protected/tcomfoyer)
"fn" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/turret_protected/tcomfoyer)
-"fo" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/turret_protected/tcomfoyer)
+"fo" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/turret_protected/tcomfoyer)
"fp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/turret_protected/tcomfoyer)
"fq" = (/obj/machinery/door/airlock/hatch{name = "Telecoms East Wing"; req_access = list(61)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/turret_protected/tcomfoyer)
"fr" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/turret_protected/tcomsat/starboard)
@@ -281,98 +279,103 @@
"fu" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/turret_protected/tcomsat/port)
"fv" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/lattice,/obj/structure/window/reinforced{dir = 8},/turf/space,/area/space)
"fw" = (/obj/structure/window/reinforced{dir = 1},/turf/space,/area/space)
-"fx" = (/obj/structure/sign/warning/lethal_turrets{pixel_x = -32},/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/tiled/dark/rough,/area/turret_protected/tcomfoyer)
+"fx" = (/obj/structure/sign/warning/lethal_turrets{pixel_x = -32},/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/alarm{icon_state = "alarm0"; dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/dark/rough,/area/turret_protected/tcomfoyer)
"fy" = (/obj/machinery/light/small,/turf/simulated/floor/tiled/dark/rough,/area/turret_protected/tcomfoyer)
"fz" = (/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled/dark/rough,/area/turret_protected/tcomfoyer)
-"fA" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark/rough,/area/turret_protected/tcomfoyer)
+"fA" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark/rough,/area/turret_protected/tcomfoyer)
"fB" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled/dark/rough,/area/turret_protected/tcomfoyer)
"fC" = (/obj/structure/sign/warning/lethal_turrets{pixel_x = 32},/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/turret_protected/tcomfoyer)
"fD" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/turret_protected/tcomsat/starboard)
"fE" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/turret_protected/tcomsat/starboard)
-"fF" = (/obj/structure/window/reinforced{dir = 1; health = 1e+006},/turf/space,/area/space)
+"fF" = (/obj/structure/window/reinforced{dir = 1; health = 1e+06},/turf/space,/area/space)
"fG" = (/turf/simulated/wall/r_wall,/area/tcommsat/entrance)
-"fH" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/hatch{name = "Telecoms Satellite"; req_access = list(61)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/tcommsat/entrance)
+"fH" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/door/airlock/hatch{name = "Telecoms Satellite"; req_access = list(61)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/tcommsat/entrance)
"fI" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/window_frame/grille/rglass,/turf/simulated/floor/plating,/area/tcommsat/entrance)
"fJ" = (/turf/simulated/floor/tiled/dark/rough,/area/tcommsat/entrance)
"fK" = (/obj/effect/decal/cleanable/cobweb,/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/obj/item/device/radio/intercom{dir = 2; pixel_y = 22},/obj/structure/sign/warning/lethal_turrets{pixel_x = -32},/turf/simulated/floor/tiled/dark/rough,/area/tcommsat/entrance)
-"fL" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark/rough,/area/tcommsat/entrance)
+"fL" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark/rough,/area/tcommsat/entrance)
"fM" = (/obj/machinery/turret_control_panel/tcomms_foyer{pixel_y = 29; req_access = list(61)},/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/obj/structure/sign/warning/lethal_turrets{pixel_x = 32},/turf/simulated/floor/tiled/dark/rough,/area/tcommsat/entrance)
-"fN" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/window_frame/grille/rglass,/turf/simulated/floor/plating,/area/tcommsat/entrance)
+"fN" = (/obj/structure/cable{icon_state = "0-8"; d2 = 8},/obj/structure/window_frame/grille/rglass,/turf/simulated/floor/plating,/area/tcommsat/entrance)
"fO" = (/obj/machinery/camera/network/telecom{dir = 1},/turf/space,/area/turret_protected/tcomsat/starboard)
-"fP" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/tiled/dark/rough,/area/tcommsat/entrance)
+"fP" = (/obj/machinery/alarm{icon_state = "alarm0"; dir = 1; pixel_y = -22},/turf/simulated/floor/tiled/dark/rough,/area/tcommsat/entrance)
"fQ" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/tcommsat/entrance)
"fR" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/tcommsat/entrance)
-"fS" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/tcommsat/entrance)
+"fS" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/tcommsat/entrance)
"fT" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/machinery/camera/network/telecom{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/tcommsat/entrance)
"fU" = (/obj/structure/sign/warning/secure_area,/turf/simulated/wall/r_wall,/area/tcommsat/entrance)
"fV" = (/turf/simulated/wall/r_wall,/area/tcommsat/powercontrol)
"fW" = (/obj/structure/sign/warning/vacuum,/turf/simulated/wall/r_wall,/area/tcommsat/powercontrol)
"fX" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/turf/simulated/floor/tiled/rough,/area/tcommsat/entrance)
-"fY" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/rough,/area/tcommsat/entrance)
+"fY" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/rough,/area/tcommsat/entrance)
"fZ" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/turf/simulated/floor/tiled/rough,/area/tcommsat/entrance)
-"ga" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1381; id_tag = "telecoms_pump"},/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/tcommsat/powercontrol)
-"gb" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 1},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/camera/network/telecom,/turf/simulated/floor/plating,/area/tcommsat/powercontrol)
-"gc" = (/obj/machinery/door/airlock/external{frequency = 1381; icon_state = "door_locked"; id_tag = "telecoms_inner"; locked = 1; name = "External Access"; req_access = list(13)},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/tcommsat/powercontrol)
-"gd" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1381; master_tag = "telecoms_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = -25; req_access = list(13)},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating,/area/tcommsat/powercontrol)
+"ga" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1381; id_tag = "telecoms_pump"},/obj/structure/cable/yellow{icon_state = "2-4"; d2 = 4; d1 = 2},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/tcommsat/powercontrol)
+"gb" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 1},/obj/structure/cable/yellow{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/camera/network/telecom,/turf/simulated/floor/plating,/area/tcommsat/powercontrol)
+"gc" = (/obj/machinery/door/airlock/external{name = "External Access"; icon_state = "door_locked"; frequency = 1381; locked = 1; req_access = list(13); id_tag = "telecoms_inner"},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/structure/cable/yellow{icon_state = "4-8"; d2 = 8; d1 = 4},/turf/simulated/floor/plating,/area/tcommsat/powercontrol)
+"gd" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/machinery/access_button{name = "interior access button"; pixel_x = -25; pixel_y = -25; frequency = 1381; req_access = list(13); command = "cycle_interior"; master_tag = "telecoms_airlock"},/obj/structure/cable/yellow{icon_state = "2-8"; d2 = 8; d1 = 2},/turf/simulated/floor/plating,/area/tcommsat/powercontrol)
"ge" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 1},/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/plating,/area/tcommsat/powercontrol)
"gf" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/machinery/camera/network/telecom,/turf/simulated/floor/plating,/area/tcommsat/powercontrol)
"gg" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/air/airlock,/turf/simulated/floor/plating,/area/tcommsat/powercontrol)
"gh" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled/rough,/area/tcommsat/entrance)
-"gi" = (/obj/structure/cable{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/rough,/area/tcommsat/entrance)
+"gi" = (/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/rough,/area/tcommsat/entrance)
"gj" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/camera/network/telecom{dir = 8},/turf/simulated/floor/tiled/rough,/area/tcommsat/entrance)
-"gk" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/tcommsat/powercontrol)
-"gl" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1381; id_tag = "telecoms_pump"},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "telecoms_pump"; tag_exterior_door = "telecoms_outer"; frequency = 1381; id_tag = "telecoms_airlock"; tag_interior_door = "telecoms_inner"; pixel_x = 0; pixel_y = -25; req_access = list(13); tag_chamber_sensor = "telecoms_sensor"},/obj/machinery/airlock_sensor{frequency = 1381; id_tag = "telecoms_sensor"; pixel_x = 12; pixel_y = -25},/turf/simulated/floor/plating,/area/tcommsat/powercontrol)
+"gk" = (/obj/structure/cable/yellow{icon_state = "1-2"; d2 = 2; d1 = 1},/turf/simulated/floor/plating,/area/tcommsat/powercontrol)
+"gl" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1381; id_tag = "telecoms_pump"},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{pixel_x = 0; pixel_y = -25; frequency = 1381; req_access = list(13); id_tag = "telecoms_airlock"; tag_exterior_door = "telecoms_outer"; tag_interior_door = "telecoms_inner"; tag_airpump = "telecoms_pump"; tag_chamber_sensor = "telecoms_sensor"},/obj/machinery/airlock_sensor{pixel_x = 12; pixel_y = -25; frequency = 1381; id_tag = "telecoms_sensor"},/turf/simulated/floor/plating,/area/tcommsat/powercontrol)
"gm" = (/obj/structure/sign/warning/high_voltage,/turf/simulated/wall/r_wall,/area/tcommsat/powercontrol)
-"gn" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/tcommsat/powercontrol)
-"go" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/binary/pump/on{dir = 1; name = "Airlock Feed"; target_pressure = 200},/turf/simulated/floor/plating,/area/tcommsat/powercontrol)
-"gp" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/tcommsat/powercontrol)
-"gq" = (/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/obj/machinery/power/solar_control/autostart,/obj/machinery/light{dir = 4},/turf/simulated/floor/plating,/area/tcommsat/powercontrol)
+"gn" = (/obj/structure/cable/yellow{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/structure/cable/yellow{icon_state = "1-4"; d2 = 4; d1 = 1},/turf/simulated/floor/plating,/area/tcommsat/powercontrol)
+"go" = (/obj/structure/cable/yellow{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/atmospherics/binary/pump/on{name = "Airlock Feed"; dir = 1; target_pressure = 200},/turf/simulated/floor/plating,/area/tcommsat/powercontrol)
+"gp" = (/obj/structure/cable/yellow{icon_state = "4-8"; d2 = 8; d1 = 4},/turf/simulated/floor/plating,/area/tcommsat/powercontrol)
+"gq" = (/obj/structure/cable/yellow{icon_state = "0-8"; d2 = 8},/obj/machinery/power/solar_control/autostart,/obj/machinery/light{dir = 4},/turf/simulated/floor/plating,/area/tcommsat/powercontrol)
"gr" = (/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 9},/obj/machinery/alarm{pixel_y = 22},/turf/simulated/floor/tiled/rough,/area/tcommsat/entrance)
"gs" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/turf/simulated/floor/tiled/rough,/area/tcommsat/entrance)
-"gt" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/rough,/area/tcommsat/entrance)
-"gu" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled/rough,/area/tcommsat/entrance)
-"gv" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/turf/simulated/floor/tiled/rough,/area/tcommsat/entrance)
-"gw" = (/obj/machinery/door/airlock/external{frequency = 1381; icon_state = "door_locked"; id_tag = "telecoms_outer"; locked = 1; name = "External Access"; req_access = list(10,13)},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating/airless,/area/tcommsat/powercontrol)
-"gx" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/table/standard,/obj/item/stack/material/glass{amount = 50},/obj/item/stack/cable_coil/random,/obj/item/stack/cable_coil/random,/turf/simulated/floor/plating,/area/tcommsat/powercontrol)
+"gt" = (/obj/structure/cable{icon_state = "1-4"; d2 = 4; d1 = 1},/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/rough,/area/tcommsat/entrance)
+"gu" = (/obj/structure/cable{icon_state = "4-8"; pixel_x = 0; d2 = 8; d1 = 4},/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled/rough,/area/tcommsat/entrance)
+"gv" = (/obj/structure/cable{icon_state = "0-8"; d2 = 8},/obj/machinery/power/apc{name = "east bump"; dir = 4; pixel_x = 24},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/turf/simulated/floor/tiled/rough,/area/tcommsat/entrance)
+"gw" = (/obj/machinery/door/airlock/external{name = "External Access"; icon_state = "door_locked"; frequency = 1381; locked = 1; req_access = list(10,13); id_tag = "telecoms_outer"},/obj/structure/cable/yellow{icon_state = "1-2"; d2 = 2; d1 = 1},/turf/simulated/floor/plating/airless,/area/tcommsat/powercontrol)
+"gx" = (/obj/structure/cable/yellow{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/structure/table/standard,/obj/item/stack/material/glass{amount = 50},/obj/item/stack/cable_coil/random,/obj/item/stack/cable_coil/random,/turf/simulated/floor/plating,/area/tcommsat/powercontrol)
"gy" = (/obj/machinery/atmospherics/pipe/simple/visible/universal,/turf/simulated/floor/plating,/area/tcommsat/powercontrol)
"gz" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/plating,/area/tcommsat/powercontrol)
-"gA" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/machinery/power/sensor{long_range = 1; name_tag = "Telecommunications"},/turf/simulated/floor/plating,/area/tcommsat/powercontrol)
+"gA" = (/obj/structure/cable{icon_state = "0-2"; pixel_y = 0; d2 = 2},/obj/machinery/power/apc{name = "east bump"; dir = 4; pixel_x = 24},/obj/machinery/power/sensor{name_tag = "Telecommunications"; long_range = 1},/turf/simulated/floor/plating,/area/tcommsat/powercontrol)
"gB" = (/obj/item/cell,/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/turf/simulated/floor/tiled/rough,/area/tcommsat/entrance)
"gC" = (/turf/simulated/floor/tiled/rough,/area/tcommsat/entrance)
"gD" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled/rough,/area/tcommsat/entrance)
"gE" = (/obj/structure/closet/malf/suits,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/turf/simulated/floor/tiled/rough,/area/tcommsat/entrance)
-"gF" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light{dir = 1},/turf/simulated/floor/plating/airless,/area/turret_protected/tcomsat)
-"gG" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1381; master_tag = "telecoms_airlock"; name = "exterior access button"; pixel_x = 25; pixel_y = 25; req_access = list(13)},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating/airless,/area/turret_protected/tcomsat)
-"gH" = (/obj/machinery/light{dir = 1},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area/turret_protected/tcomsat)
-"gI" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light{dir = 8},/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/plating,/area/tcommsat/powercontrol)
+"gF" = (/obj/structure/cable/yellow{icon_state = "4-8"; d2 = 8; d1 = 4},/obj/machinery/light{dir = 1},/turf/simulated/floor/plating/airless,/area/turret_protected/tcomsat)
+"gG" = (/obj/machinery/access_button{name = "exterior access button"; pixel_x = 25; pixel_y = 25; frequency = 1381; req_access = list(13); command = "cycle_exterior"; master_tag = "telecoms_airlock"},/obj/structure/cable/yellow{icon_state = "1-8"; d2 = 8; d1 = 1},/obj/structure/cable/yellow{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/structure/cable/yellow{icon_state = "1-4"; d2 = 4; d1 = 1},/turf/simulated/floor/plating/airless,/area/turret_protected/tcomsat)
+"gH" = (/obj/machinery/light{dir = 1},/obj/machinery/power/apc{name = "east bump"; dir = 4; pixel_x = 24},/obj/structure/cable/yellow{icon_state = "0-8"; d2 = 8},/turf/simulated/floor/plating/airless,/area/turret_protected/tcomsat)
+"gI" = (/obj/structure/cable/yellow{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/light{dir = 8},/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/plating,/area/tcommsat/powercontrol)
"gJ" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/tcommsat/powercontrol)
"gK" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/tcommsat/powercontrol)
-"gL" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/table/standard,/obj/machinery/recharger,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/plating,/area/tcommsat/powercontrol)
-"gM" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/tcommsat/powercontrol)
-"gN" = (/obj/machinery/door/airlock/hatch{name = "Power Control"; req_access = list(61)},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/tcommsat/powercontrol)
-"gO" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/rough,/area/tcommsat/entrance)
-"gP" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/rough,/area/tcommsat/entrance)
-"gQ" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/item/device/bluespace_beacon/hidden,/turf/simulated/floor/tiled/rough,/area/tcommsat/entrance)
+"gL" = (/obj/structure/cable{icon_state = "4-8"; pixel_x = 0; d2 = 8; d1 = 4},/obj/structure/table/standard,/obj/machinery/recharger,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/plating,/area/tcommsat/powercontrol)
+"gM" = (/obj/structure/cable{icon_state = "2-4"; d2 = 4; d1 = 2},/obj/structure/cable{icon_state = "1-2"; d2 = 2; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/tcommsat/powercontrol)
+"gN" = (/obj/machinery/door/airlock/hatch{name = "Power Control"; req_access = list(61)},/obj/structure/cable{icon_state = "4-8"; pixel_x = 0; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/tcommsat/powercontrol)
+"gO" = (/obj/structure/cable{icon_state = "4-8"; pixel_x = 0; d2 = 8; d1 = 4},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/rough,/area/tcommsat/entrance)
+"gP" = (/obj/structure/cable{icon_state = "4-8"; pixel_x = 0; d2 = 8; d1 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/rough,/area/tcommsat/entrance)
+"gQ" = (/obj/structure/cable{icon_state = "1-8"; d2 = 8; d1 = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/item/device/bluespace_beacon/hidden,/turf/simulated/floor/tiled/rough,/area/tcommsat/entrance)
"gR" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/item/device/radio/intercom{dir = 8; pixel_x = 22},/turf/simulated/floor/tiled/rough,/area/tcommsat/entrance)
"gS" = (/turf/simulated/floor/plating/airless,/area/turret_protected/tcomsat)
"gT" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable/yellow,/obj/structure/closet/emcloset,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/plating,/area/tcommsat/powercontrol)
-"gU" = (/obj/machinery/power/smes/buildable{charge = 2.5e+006; input_attempt = 1; input_level = 250000; inputting = 0; output_attempt = 1; output_level = 250000; RCon_tag = "Telecommunications Satellite"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/tcommsat/powercontrol)
+"gU" = (/obj/machinery/power/smes/buildable{charge = 2.5e+06; input_attempt = 1; inputting = 0; input_level = 250000; output_attempt = 1; output_level = 250000; RCon_tag = "Telecommunications Satellite"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/tcommsat/powercontrol)
"gV" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor/shuttle/white,/area/derelict/ship)
-"gW" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/table/standard,/obj/machinery/cell_charger,/turf/simulated/floor/plating,/area/tcommsat/powercontrol)
+"gW" = (/obj/structure/cable{icon_state = "1-8"; d2 = 8; d1 = 1},/obj/structure/table/standard,/obj/machinery/cell_charger,/turf/simulated/floor/plating,/area/tcommsat/powercontrol)
+"gX" = (/turf/simulated/shuttle/wall{icon_state = "whiteship_t"; dir = 8},/area/derelict/ship)
"gY" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled/rough,/area/tcommsat/entrance)
"gZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled/rough,/area/tcommsat/entrance)
"ha" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/rough,/area/tcommsat/entrance)
"hb" = (/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled/rough,/area/tcommsat/entrance)
"hc" = (/obj/structure/closet/malf/suits,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 6},/turf/simulated/floor/tiled/rough,/area/tcommsat/entrance)
"hd" = (/obj/machinery/camera/network/telecom{dir = 8},/turf/simulated/floor/plating/airless,/area/turret_protected/tcomsat)
+"he" = (/turf/simulated/shuttle/wall{icon_state = "whiteship_straight"},/area/derelict/ship)
"hf" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/rough,/area/tcommsat/entrance)
"hg" = (/obj/machinery/light{dir = 4},/obj/structure/closet/emcloset,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 6},/turf/simulated/floor/tiled/rough,/area/tcommsat/entrance)
-"hh" = (/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/machinery/power/tracker,/turf/simulated/floor/plating/airless,/area/turret_protected/tcomsat)
+"hh" = (/obj/structure/cable/yellow{icon_state = "0-4"; d2 = 4},/obj/machinery/power/tracker,/turf/simulated/floor/plating/airless,/area/turret_protected/tcomsat)
"hi" = (/obj/machinery/computer/teleporter,/turf/simulated/floor/tiled/dark/rough,/area/tcommsat/entrance)
-"hl" = (/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/airless,/area/turret_protected/tcomsat)
-"hm" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating/airless,/area/turret_protected/tcomsat)
+"hj" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"; dir = 8},/area/derelict/ship)
+"hk" = (/turf/simulated/shuttle/wall{icon_state = "whiteship_straight"; dir = 4},/area/space)
+"hl" = (/obj/structure/cable/yellow{icon_state = "2-8"; d2 = 8; d1 = 2},/obj/structure/cable/yellow{icon_state = "2-4"; d2 = 4; d1 = 2},/turf/simulated/floor/plating/airless,/area/turret_protected/tcomsat)
+"hm" = (/obj/structure/cable/yellow{icon_state = "1-8"; d2 = 8; d1 = 1},/obj/structure/cable/yellow{icon_state = "1-4"; d2 = 4; d1 = 1},/obj/structure/cable/yellow{icon_state = "1-2"; d2 = 2; d1 = 1},/turf/simulated/floor/plating/airless,/area/turret_protected/tcomsat)
"hn" = (/turf/simulated/wall/r_wall,/area/AIsattele)
"ho" = (/obj/structure/computerframe,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating/airless,/area/AIsattele)
+"hp" = (/turf/simulated/shuttle/wall{icon_state = "whiteship"; dir = 10},/area/derelict/ship)
"hq" = (/turf/simulated/floor/plating/airless,/area/AIsattele)
"hr" = (/obj/item/material/shard{icon_state = "medium"},/turf/simulated/floor/plating/airless,/area/AIsattele)
"hs" = (/obj/structure/cable,/turf/simulated/floor/plating/airless,/area/AIsattele)
@@ -398,7 +401,7 @@
"hQ" = (/obj/machinery/door/airlock/glass{name = "Pod Bay"},/turf/simulated/floor/plating,/area/derelict/ship)
"hR" = (/obj/machinery/door/airlock/glass{name = "Pod Bay"},/turf/simulated/floor/shuttle/white,/area/derelict/ship)
"hS" = (/obj/effect/decal/remains,/turf/simulated/floor/shuttle/white,/area/derelict/ship)
-"hV" = (/obj/structure/bed,/obj/item/bedsheet,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1; health = 1e+006},/turf/simulated/floor/shuttle/white,/area/derelict/ship)
+"hV" = (/obj/structure/bed,/obj/item/bedsheet,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1; health = 1e+06},/turf/simulated/floor/shuttle/white,/area/derelict/ship)
"hW" = (/obj/structure/table/standard,/obj/item/device/radio/off,/turf/simulated/floor/shuttle/white,/area/derelict/ship)
"hX" = (/obj/machinery/light,/turf/simulated/floor/shuttle/white,/area/derelict/ship)
"hY" = (/obj/structure/bed/chair,/obj/item/material/shard,/turf/simulated/floor/shuttle/white,/area/derelict/ship)
@@ -435,27 +438,27 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabahahahahaIacaaaaaaaaaaaaaaabacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabahaeamamanamaiaCaIacaaaaaaaaabaCalaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabayazamamamamamamaAaiaBacaaaaabakapaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaBaCaoamamamamaHamamamaJaBacabakajapaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaBaeazaiahaIauauauahahavaCaCaCayajajapaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJaeamaKamaLaMaNamaOamamamamamamadajarahaFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaMaRamamamaSaMamamamamamamamamamaJahaBacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauamamamamaVaMamamaxaXahahaoambkaMbaaiaCaIacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauamamamamamaMaRamaMambbbvaMamafaMamambnaiaBacaaabaIahahahahahahahaIacaaaabAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaubeaSamambfauamamaMbgbhbkaMamamauamamamamaiaBahaBaeamamambnamamamaiaybAaaaaaDasawawawawawawawasaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauboatamamambsamamaMamambdaMamamaYamamamamambtambtamamamamamamamamambtbAaabAaEaPaQaQaQaQaQaQaQaTaZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauaSaSamamamaubfamaMbwhVamaMamamauamamamamaxaBahaBaoamamamhXamamgVaxaybAbAbAbcaQaQaQaQaQaQaQaQaQbcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauamamamamamaMaRbfaiahahaXaeamafaMamamhXaxaBaUaaaWaCahahahahahahahaCaUaaaabAaEbiaQaQaQaQbjaQaQblaZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauamamamamhGaJaoambfbfbfbfbfamamaMamaxaIaCaUaaaaaaaaaaaaaaaaaaaaaaaaaaaabAaabqbrawawawawawawawbrbuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaMhHhYhIamaxaBaCahahaIaoamambfamaJahaBaUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJaoazhZaxaBaebxhKhLaiayagamaOamadajhEahalaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWaCaIahaBaeamamamambdaMamamaxaIayajajapaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahJbphQamamamamamamhRhSaxaBaUaWhFajapaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWahaybyamamamamamaJaIaBaUaaaaaWhFapaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWaIaoiaibhWaxaBaCaUaaaaaaaaaWaIaFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWaCahahahaCaUaaaaaaaaaaaaaaaWaUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabahahahahahacaaaaaaaaaaaaaaabacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabahaeamamanamaiawaJacaaaaaaaaabaCalaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaMazamamamamamamaAaiaJacaaaaabakapaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaJawaoamamamamaHamamamgXaJacabakajapaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaJaeazaiahaJauauauahahavawawawaMajajapaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagXaeamaKamaLheaNamaOamamamamamamadajarhjaFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaheaRamamamaSheamamamamamamamamamgXahasacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauamamamamaVheamamaxaXahahaoambkhebaaiawaJacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauamamamamamheaRamheambbbvheamafheamambnaiaJacaaabaJahahahahahahahaJacaaaabAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaubeaSamambfauamamhebgbhbkheamamauamamamamaiawahawaeamamambnamamamaiaMbAaaaaaDayhkhkhkhkhkhkhkayaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauboatamamambsamamheamambdheamamaYamamamamambtambtamamamamamamamamambtbAaabAaBaPaQaQaQaQaQaQaQaTaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauaSaSamamamaubfamhebwhVamheamamauamamamamaxaJahaJaoamamamhXamamgVaxaMbAbAbAbcaQaQaQaQaQaQaQaQaQbcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauamamamamamheaRbfaiahahaXaeamafheamamhXaxawaUaaaWawahahahahahahahawaUaaaabAaBbiaQaQaQaQbjaQaQblaEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauamamamamhGgXaoambfbfbfbfbfamamheamaxaJawaUaaaaaaaaaaaaaaaaaaaaaaaaaaaabAaabqaIhkhkhkhkhkhkhkaIbuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahehHhYhIamaxawawahahaJaoamambfamgXahasaUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagXaoazhZaxawaebxhKhLaiaMagamaOamadajhEhjalaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWawahahawaeamamamambdheamamaxaJaMajajapaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahJbphQamamamamamamhRhSaxawaUaWhFajapaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWahhpbyamamamamamgXaJawaUaaaaaWhFapaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWaJaoiaibhWaxawawaUaaaaaaaaaWhpaFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWawahahahawaUaaaaaaaaaaaaaaaWaUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
diff --git a/maps/templates/holodeck_basketball.dmm b/maps/templates/holodeck_basketball.dmm
new file mode 100644
index 00000000000..89eb0a30d25
--- /dev/null
+++ b/maps/templates/holodeck_basketball.dmm
@@ -0,0 +1,54 @@
+"a" = (/obj/structure/window/reinforced,/obj/structure/bed/chair/red,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"b" = (/obj/effect/floor_decal/corner/green/three_quarters{dir = 4},/turf/simulated/floor/tiled/rough,/area/template_noop)
+"d" = (/obj/effect/floor_decal/corner/green{dir = 9},/turf/simulated/floor/tiled/rough,/area/template_noop)
+"e" = (/obj/effect/floor_decal/corner/green{dir = 5},/turf/simulated/floor/tiled/rough,/area/template_noop)
+"f" = (/obj/effect/floor_decal/corner/green{dir = 6},/turf/simulated/floor/tiled/rough,/area/template_noop)
+"g" = (/obj/effect/floor_decal/corner/green/three_quarters,/turf/simulated/floor/tiled/rough,/area/template_noop)
+"h" = (/obj/effect/floor_decal/corner/red/three_quarters{dir = 1},/turf/simulated/floor/tiled/rough,/area/template_noop)
+"i" = (/obj/item/clothing/head/beanie/green,/obj/item/clothing/head/beanie/green,/obj/structure/table/standard,/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"j" = (/obj/effect/floor_decal/corner/red{dir = 10},/turf/simulated/floor/tiled/rough,/area/template_noop)
+"k" = (/obj/effect/floor_decal/corner/green/three_quarters{dir = 1},/turf/simulated/floor/tiled/rough,/area/template_noop)
+"m" = (/obj/machinery/door/window/northright,/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"n" = (/obj/effect/floor_decal/corner/red{dir = 6},/turf/simulated/floor/tiled/rough,/area/template_noop)
+"p" = (/obj/effect/floor_decal/corner/green/three_quarters{dir = 8},/turf/simulated/floor/tiled/rough,/area/template_noop)
+"r" = (/obj/effect/floor_decal/corner/red{dir = 6},/obj/item/beach_ball/basketball,/turf/simulated/floor/tiled/rough,/area/template_noop)
+"s" = (/turf/simulated/floor/tiled/rough,/area/template_noop)
+"t" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"u" = (/obj/structure/window/reinforced{dir = 1; health = null},/obj/structure/bed/chair/red{dir = 1},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"v" = (/obj/effect/floor_decal/corner/red{dir = 5},/turf/simulated/floor/tiled/rough,/area/template_noop)
+"x" = (/obj/effect/floor_decal/corner/red/three_quarters,/turf/simulated/floor/tiled/rough,/area/template_noop)
+"y" = (/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"z" = (/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"A" = (/obj/machinery/door/window/northleft,/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"B" = (/obj/item/clothing/head/beanie/red,/obj/item/clothing/head/beanie/red,/obj/structure/table/standard,/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"C" = (/obj/machinery/door/window/southright,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"D" = (/obj/effect/floor_decal/corner/green{dir = 10},/turf/simulated/floor/tiled/rough,/area/template_noop)
+"F" = (/obj/effect/floor_decal/corner/red{dir = 9},/turf/simulated/floor/tiled/rough,/area/template_noop)
+"G" = (/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"I" = (/obj/structure/window/reinforced{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"K" = (/obj/effect/floor_decal/corner/red/three_quarters{dir = 8},/turf/simulated/floor/tiled/rough,/area/template_noop)
+"L" = (/obj/effect/floor_decal/corner/red/full,/obj/effect/floor_decal/industrial/outline,/obj/structure/hoop{dir = 4},/turf/simulated/floor/tiled/rough,/area/template_noop)
+"M" = (/obj/effect/floor_decal/corner/red{dir = 1},/turf/simulated/floor/tiled/rough,/area/template_noop)
+"N" = (/obj/structure/window/reinforced,/obj/structure/bed/chair/green,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"O" = (/obj/structure/window/reinforced{dir = 1; health = null},/obj/structure/bed/chair/green{dir = 1},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"P" = (/obj/effect/floor_decal/corner/red/three_quarters{dir = 4},/turf/simulated/floor/tiled/rough,/area/template_noop)
+"Q" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"R" = (/obj/effect/floor_decal/corner/red{dir = 8},/turf/simulated/floor/tiled/rough,/area/template_noop)
+"S" = (/obj/effect/floor_decal/corner/green,/turf/simulated/floor/tiled/rough,/area/template_noop)
+"T" = (/obj/machinery/door/window/southleft,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"U" = (/obj/effect/floor_decal/corner/green{dir = 4},/turf/simulated/floor/tiled/rough,/area/template_noop)
+"V" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"W" = (/obj/effect/floor_decal/corner/green/full,/obj/effect/floor_decal/industrial/outline,/obj/structure/hoop{dir = 8},/turf/simulated/floor/tiled/rough,/area/template_noop)
+
+(1,1,1) = {"
+zzzzzzzzzz
+yaaTaNCNNQ
+IKvvhpeekG
+IxRsndsSbG
+ILFsrdsfWG
+IKMsndsUkG
+IxjjPgDDbG
+tuuAuOmOOV
+zzzzzzzzzz
+BBBzzzziii
+"}
diff --git a/maps/templates/holodeck_beach.dmm b/maps/templates/holodeck_beach.dmm
new file mode 100644
index 00000000000..9b4f79dfea6
--- /dev/null
+++ b/maps/templates/holodeck_beach.dmm
@@ -0,0 +1,49 @@
+"a" = (/turf/simulated/floor/natural/jungle/sandgrasscorner2,/area/template_noop)
+"b" = (/obj/structure/table/standard,/obj/item/glass_extra/lime_slice{pixel_y = 8; pixel_x = -4},/obj/item/glass_extra/orange_slice{pixel_y = 7},/obj/item/reagent_containers/vessel/glass/hurricane{pixel_y = 7},/obj/item/glass_extra/straw{pixel_x = 4},/obj/item/reagent_containers/food/watermelonslice,/turf/simulated/floor/natural/jungle/sand,/area/template_noop)
+"c" = (/turf/simulated/floor/natural/jungle/sand,/area/template_noop)
+"f" = (/turf/simulated/floor/natural/jungle/water/corner,/area/template_noop)
+"i" = (/obj/structure/flora/ausbushes/fernybush,/turf/simulated/floor/natural/jungle/sandgrasscorner1,/area/template_noop)
+"j" = (/turf/simulated/floor/natural/jungle/water/edge{dir = 4},/area/template_noop)
+"k" = (/obj/effect/overlay/coconut,/obj/effect/overlay/palmtree_l,/turf/simulated/floor/natural/jungle/sand,/area/template_noop)
+"l" = (/turf/simulated/floor/natural/jungle/sandgrasscorner1{dir = 8},/area/template_noop)
+"m" = (/obj/structure/flora/ausbushes/jungleflora/grassa,/turf/simulated/floor/natural/jungle/sandgrasscorner2{dir = 8},/area/template_noop)
+"o" = (/obj/effect/overlay/palmtree_l,/turf/simulated/floor/natural/jungle/sand,/area/template_noop)
+"p" = (/obj/item/melee/energy/sword/pirate,/turf/simulated/floor/natural/jungle/sandgrasscorner2{dir = 8},/area/template_noop)
+"q" = (/obj/structure/bed/chair/teal{dir = 4},/obj/item/clothing/head/pirate,/turf/simulated/floor/natural/jungle/sand,/area/template_noop)
+"s" = (/turf/simulated/floor/natural/jungle/sandgrassedge{dir = 4},/area/template_noop)
+"t" = (/obj/structure/flora/ausbushes/jungleflora/bushb,/turf/simulated/floor/natural/jungle/sandgrasscorner1,/area/template_noop)
+"u" = (/obj/item/clothing/glasses/eyepatch,/turf/simulated/floor/natural/jungle/sandgrasscorner2,/area/template_noop)
+"x" = (/obj/effect/overlay/palmtree_r,/turf/simulated/floor/natural/jungle/sandgrasscorner1,/area/template_noop)
+"y" = (/obj/structure/flora/ausbushes/jungleflora/busha,/turf/simulated/floor/natural/jungle,/area/template_noop)
+"z" = (/obj/item/clothing/suit/pirate,/turf/simulated/floor/natural/jungle/sand,/area/template_noop)
+"A" = (/obj/item/bikehorn/rubberducky,/turf/simulated/floor/natural/jungle/water,/area/template_noop)
+"D" = (/obj/item/clothing/head/collectable/paper,/obj/item/clothing/head/collectable/paper{pixel_y = -8; pixel_x = 10},/obj/item/clothing/head/collectable/paper{pixel_y = -12; pixel_x = -5},/turf/simulated/floor/natural/jungle/water,/area/template_noop)
+"F" = (/obj/item/inflatable_duck,/turf/simulated/floor/natural/jungle/water,/area/template_noop)
+"H" = (/turf/simulated/floor/natural/jungle/water,/area/template_noop)
+"I" = (/turf/simulated/floor/natural/jungle/sandgrasscorner1{dir = 8},/area/template_noop)
+"J" = (/obj/structure/bed/chair/lime{dir = 4},/turf/simulated/floor/natural/jungle/sand,/area/template_noop)
+"K" = (/obj/item/clothing/glasses/sunglasses,/turf/simulated/floor/natural/jungle/sand,/area/template_noop)
+"M" = (/obj/item/beach_ball,/turf/simulated/floor/natural/jungle/sand,/area/template_noop)
+"N" = (/turf/simulated/floor/natural/jungle/water/edge{dir = 5},/area/template_noop)
+"P" = (/obj/structure/flora/ausbushes/jungleflora/bushb,/obj/item/reagent_containers/food/grown/watermelon,/turf/simulated/floor/natural/jungle,/area/template_noop)
+"Q" = (/turf/simulated/floor/natural/jungle,/area/template_noop)
+"R" = (/turf/simulated/floor/natural/jungle/water/edge{dir = 6},/area/template_noop)
+"T" = (/turf/simulated/floor/natural/jungle/water/corner{dir = 8},/area/template_noop)
+"V" = (/obj/structure/flora/ausbushes/jungleflora/grassa,/turf/simulated/floor/natural/jungle/sandgrasscorner2,/area/template_noop)
+"W" = (/obj/item/clothing/under/redcoat,/turf/simulated/floor/natural/jungle/sand,/area/template_noop)
+"X" = (/obj/structure/flora/ausbushes/fernybush,/turf/simulated/floor/natural/jungle/sandgrasscorner2{dir = 8},/area/template_noop)
+"Y" = (/obj/effect/overlay/coconut,/turf/simulated/floor/natural/jungle/sand,/area/template_noop)
+"Z" = (/obj/item/melee/energy/sword/pirate,/turf/simulated/floor/natural/jungle/sand,/area/template_noop)
+
+(1,1,1) = {"
+yQiVccfRHH
+QxuzccjHDH
+taZqWfRHHH
+accMcjHHHH
+ccYbKjFHHH
+cocJcjHHHH
+XccccjHHHH
+sccccTNHHH
+lmckccjAHH
+PIpcccTNHH
+"}
diff --git a/maps/templates/holodeck_boxing.dmm b/maps/templates/holodeck_boxing.dmm
new file mode 100644
index 00000000000..a74a6994545
--- /dev/null
+++ b/maps/templates/holodeck_boxing.dmm
@@ -0,0 +1,52 @@
+"a" = (/obj/structure/bed/chair/black,/obj/effect/floor_decal/corner/red/full,/turf/simulated/floor/tiled/brown,/area/template_noop)
+"b" = (/obj/structure/table/reinforced,/obj/item/clothing/gloves/boxing/hologloves,/obj/effect/floor_decal/corner/red/full,/obj/effect/floor_decal/spline/fancy{dir = 9},/turf/simulated/floor/tiled/brown,/area/template_noop)
+"c" = (/obj/effect/floor_decal/corner/blue/three_quarters,/obj/effect/floor_decal/industrial/boxcorners{dir = 8},/turf/simulated/floor/tiled/brown,/area/template_noop)
+"d" = (/obj/effect/floor_decal/corner/red/three_quarters{dir = 8},/obj/effect/floor_decal/industrial/boxcorners{dir = 1},/turf/simulated/floor/tiled/brown,/area/template_noop)
+"f" = (/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"g" = (/obj/structure/window/reinforced{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"h" = (/obj/effect/floor_decal/corner/green/three_quarters{dir = 4},/obj/effect/floor_decal/industrial/boxcorners,/turf/simulated/floor/tiled/brown,/area/template_noop)
+"i" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"j" = (/obj/effect/floor_decal/corner/yellow{dir = 4},/turf/simulated/floor/tiled/brown,/area/template_noop)
+"n" = (/obj/effect/floor_decal/corner/yellow/full,/obj/effect/floor_decal/spline/fancy{dir = 1},/obj/structure/table/reinforced,/obj/item/clothing/gloves/boxing/hologloves/yellow,/turf/simulated/floor/tiled/brown,/area/template_noop)
+"p" = (/obj/structure/table/reinforced,/obj/item/clothing/gloves/boxing/hologloves/blue,/obj/effect/floor_decal/corner/blue/full,/obj/effect/floor_decal/spline/fancy{dir = 10},/turf/simulated/floor/tiled/brown,/area/template_noop)
+"q" = (/obj/structure/window/reinforced{dir = 1; health = null},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"s" = (/obj/structure/table/reinforced,/obj/item/clothing/gloves/boxing/hologloves/green,/obj/effect/floor_decal/corner/green/full,/obj/effect/floor_decal/spline/fancy{dir = 6},/turf/simulated/floor/tiled/brown,/area/template_noop)
+"t" = (/obj/effect/floor_decal/corner/green/full,/obj/effect/floor_decal/spline/fancy{dir = 4},/obj/structure/table/reinforced,/obj/item/clothing/gloves/boxing/hologloves/green,/turf/simulated/floor/tiled/brown,/area/template_noop)
+"u" = (/obj/effect/floor_decal/corner/yellow/three_quarters{dir = 1},/obj/effect/floor_decal/industrial/boxcorners{dir = 4},/turf/simulated/floor/tiled/brown,/area/template_noop)
+"v" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"w" = (/obj/effect/floor_decal/corner/grey/three_quarters{dir = 4},/obj/effect/floor_decal/industrial/boxcorners{dir = 1},/turf/simulated/floor/tiled/dark,/area/template_noop)
+"x" = (/obj/effect/floor_decal/corner/blue/full,/obj/effect/floor_decal/spline/fancy,/obj/structure/table/reinforced,/obj/item/clothing/gloves/boxing/hologloves/blue,/turf/simulated/floor/tiled/brown,/area/template_noop)
+"y" = (/obj/structure/table/reinforced,/obj/item/clothing/gloves/boxing/hologloves/yellow,/obj/effect/floor_decal/corner/yellow/full,/obj/effect/floor_decal/spline/fancy{dir = 5},/turf/simulated/floor/tiled/brown,/area/template_noop)
+"z" = (/obj/effect/floor_decal/corner/red{dir = 1},/turf/simulated/floor/tiled/brown,/area/template_noop)
+"A" = (/obj/structure/window/reinforced,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"C" = (/obj/structure/bed/chair/black{dir = 1},/obj/effect/floor_decal/corner/green/full,/turf/simulated/floor/tiled/brown,/area/template_noop)
+"D" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"F" = (/obj/effect/floor_decal/spline/fancy{dir = 8},/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"H" = (/obj/machinery/door/window/southleft,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"I" = (/obj/structure/bed/chair/black{dir = 8},/obj/effect/floor_decal/corner/yellow/full,/turf/simulated/floor/tiled/brown,/area/template_noop)
+"J" = (/obj/effect/floor_decal/corner/grey/three_quarters{dir = 1},/obj/effect/floor_decal/industrial/boxcorners{dir = 8},/turf/simulated/floor/tiled/dark,/area/template_noop)
+"K" = (/obj/effect/floor_decal/spline/fancy{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"M" = (/obj/machinery/door/window/northright,/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"N" = (/obj/effect/floor_decal/spline/fancy,/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"P" = (/obj/effect/floor_decal/corner/green,/turf/simulated/floor/tiled/brown,/area/template_noop)
+"Q" = (/obj/effect/floor_decal/corner/grey/three_quarters,/obj/effect/floor_decal/industrial/boxcorners{dir = 4},/turf/simulated/floor/tiled/dark,/area/template_noop)
+"R" = (/obj/effect/floor_decal/corner/blue{dir = 8},/turf/simulated/floor/tiled/brown,/area/template_noop)
+"S" = (/obj/structure/bed/chair/black{dir = 4},/obj/effect/floor_decal/corner/blue/full,/turf/simulated/floor/tiled/brown,/area/template_noop)
+"T" = (/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"U" = (/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"V" = (/obj/effect/floor_decal/corner/red/full,/obj/effect/floor_decal/spline/fancy{dir = 8},/obj/structure/table/reinforced,/obj/item/clothing/gloves/boxing/hologloves,/turf/simulated/floor/tiled/brown,/area/template_noop)
+"Y" = (/obj/effect/floor_decal/corner/grey/three_quarters{dir = 8},/obj/effect/floor_decal/industrial/boxcorners,/turf/simulated/floor/tiled/dark,/area/template_noop)
+"Z" = (/obj/effect/floor_decal/spline/fancy{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+
+(1,1,1) = {"
+bKKKKKKKny
+VffaaaaffZ
+FfTAAAHDfZ
+FSgdzjuUIZ
+FSgzYJjUIZ
+FSgRQwPUIZ
+FSgcRPhUIZ
+FfiMqqqvfZ
+FffCCCCfft
+pxNNNNNNNs
+"}
diff --git a/maps/templates/holodeck_chess.dmm b/maps/templates/holodeck_chess.dmm
new file mode 100644
index 00000000000..efc37c6b38a
--- /dev/null
+++ b/maps/templates/holodeck_chess.dmm
@@ -0,0 +1,43 @@
+"a" = (/obj/effect/floor_decal/corner/black/mono,/turf/simulated/floor/tiled/dark/mono,/area/template_noop)
+"e" = (/obj/effect/floor_decal/spline/fancy{dir = 1},/turf/simulated/floor/trim/lino,/area/template_noop)
+"f" = (/obj/effect/floor_decal/spline/fancy/corner,/turf/simulated/floor/trim/lino,/area/template_noop)
+"j" = (/obj/item/reagent_containers/food/checker/king/red{randpixel = 0},/obj/effect/floor_decal/corner/black/mono,/turf/simulated/floor/tiled/dark/mono,/area/template_noop)
+"l" = (/obj/item/reagent_containers/food/checker/pawn{randpixel = 0},/obj/effect/floor_decal/corner/black/mono,/turf/simulated/floor/tiled/dark/mono,/area/template_noop)
+"n" = (/obj/item/reagent_containers/food/checker/pawn/red{randpixel = 0},/obj/effect/floor_decal/corner/red/mono,/turf/simulated/floor/tiled/mono,/area/template_noop)
+"o" = (/obj/effect/floor_decal/corner/red/mono,/turf/simulated/floor/tiled/mono,/area/template_noop)
+"q" = (/obj/item/reagent_containers/food/checker/queen/red{randpixel = 0},/obj/effect/floor_decal/corner/red/mono,/turf/simulated/floor/tiled/mono,/area/template_noop)
+"t" = (/obj/item/reagent_containers/food/checker/bishop/red{randpixel = 0},/obj/effect/floor_decal/corner/red/mono,/turf/simulated/floor/tiled/mono,/area/template_noop)
+"v" = (/obj/item/reagent_containers/food/checker/rook{randpixel = 0},/obj/effect/floor_decal/corner/red/mono,/turf/simulated/floor/tiled/mono,/area/template_noop)
+"y" = (/obj/item/reagent_containers/food/checker/knight/red{randpixel = 0},/obj/effect/floor_decal/corner/red/mono,/turf/simulated/floor/tiled/mono,/area/template_noop)
+"B" = (/obj/item/reagent_containers/food/checker/knight{randpixel = 0},/obj/effect/floor_decal/corner/black/mono,/turf/simulated/floor/tiled/dark/mono,/area/template_noop)
+"C" = (/obj/effect/floor_decal/spline/fancy/corner{dir = 8},/turf/simulated/floor/trim/lino,/area/template_noop)
+"D" = (/obj/item/reagent_containers/food/checker/pawn{randpixel = 0},/obj/effect/floor_decal/corner/red/mono,/turf/simulated/floor/tiled/mono,/area/template_noop)
+"E" = (/obj/item/reagent_containers/food/checker/bishop{randpixel = 0},/obj/effect/floor_decal/corner/red/mono,/turf/simulated/floor/tiled/mono,/area/template_noop)
+"G" = (/obj/item/reagent_containers/food/checker/rook/red{randpixel = 0},/obj/effect/floor_decal/corner/black/mono,/turf/simulated/floor/tiled/dark/mono,/area/template_noop)
+"H" = (/obj/item/reagent_containers/food/checker/knight/red{randpixel = 0},/obj/effect/floor_decal/corner/black/mono,/turf/simulated/floor/tiled/dark/mono,/area/template_noop)
+"I" = (/obj/effect/floor_decal/spline/fancy,/turf/simulated/floor/trim/lino,/area/template_noop)
+"J" = (/obj/item/reagent_containers/food/checker/king{randpixel = 0},/obj/effect/floor_decal/corner/red/mono,/turf/simulated/floor/tiled/mono,/area/template_noop)
+"K" = (/obj/effect/floor_decal/spline/fancy{dir = 8},/turf/simulated/floor/trim/lino,/area/template_noop)
+"M" = (/obj/effect/floor_decal/spline/fancy{dir = 4},/turf/simulated/floor/trim/lino,/area/template_noop)
+"N" = (/obj/item/reagent_containers/food/checker/knight{randpixel = 0},/obj/effect/floor_decal/corner/red/mono,/turf/simulated/floor/tiled/mono,/area/template_noop)
+"P" = (/obj/effect/floor_decal/spline/fancy/corner{dir = 1},/turf/simulated/floor/trim/lino,/area/template_noop)
+"Q" = (/obj/effect/floor_decal/spline/fancy/corner{dir = 4},/turf/simulated/floor/trim/lino,/area/template_noop)
+"S" = (/obj/item/reagent_containers/food/checker/pawn/red{randpixel = 0},/obj/effect/floor_decal/corner/black/mono,/turf/simulated/floor/tiled/dark/mono,/area/template_noop)
+"U" = (/obj/item/reagent_containers/food/checker/queen{randpixel = 0},/obj/effect/floor_decal/corner/black/mono,/turf/simulated/floor/tiled/dark/mono,/area/template_noop)
+"V" = (/obj/item/reagent_containers/food/checker/rook{randpixel = 0},/obj/effect/floor_decal/corner/black/mono,/turf/simulated/floor/tiled/dark/mono,/area/template_noop)
+"W" = (/obj/item/reagent_containers/food/checker/rook/red{randpixel = 0},/obj/effect/floor_decal/corner/red/mono,/turf/simulated/floor/tiled/mono,/area/template_noop)
+"Y" = (/obj/item/reagent_containers/food/checker/bishop/red{randpixel = 0},/obj/effect/floor_decal/corner/black/mono,/turf/simulated/floor/tiled/dark/mono,/area/template_noop)
+"Z" = (/obj/item/reagent_containers/food/checker/bishop{randpixel = 0},/obj/effect/floor_decal/corner/black/mono,/turf/simulated/floor/tiled/dark/mono,/area/template_noop)
+
+(1,1,1) = {"
+fIIIIIIIIC
+MvBEUJZNVK
+MlDlDlDlDK
+MoaoaoaoaK
+MaoaoaoaoK
+MoaoaoaoaK
+MaoaoaoaoK
+MnSnSnSnSK
+MGyYqjtHWK
+PeeeeeeeeQ
+"}
diff --git a/maps/templates/holodeck_courtroom.dmm b/maps/templates/holodeck_courtroom.dmm
new file mode 100644
index 00000000000..41e112c4065
--- /dev/null
+++ b/maps/templates/holodeck_courtroom.dmm
@@ -0,0 +1,54 @@
+"a" = (/turf/simulated/floor/trim/carpet,/area/template_noop)
+"b" = (/obj/structure/bed/chair/red{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/trim/wood,/area/template_noop)
+"c" = (/obj/structure/table/woodentable,/obj/item/reagent_containers/food/donut/chaos,/turf/simulated/floor/trim/carpet,/area/template_noop)
+"e" = (/obj/structure/bed/chair/purp{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/effect/floor_decal/siding/wood,/turf/simulated/floor/trim/wood,/area/template_noop)
+"f" = (/obj/structure/table/woodentable,/obj/structure/window/reinforced,/obj/item/clothing/head/tinfoil,/turf/simulated/floor/trim/carpet,/area/template_noop)
+"g" = (/obj/structure/table/woodentable,/obj/effect/floor_decal/siding/wood{dir = 1},/obj/item/device/flashlight/lamp/brown{pixel_x = -6},/turf/simulated/floor/trim/wood,/area/template_noop)
+"h" = (/obj/structure/table/woodentable,/obj/item/reagent_containers/food/donut/cherryjelly,/obj/structure/window/reinforced,/turf/simulated/floor/trim/carpet,/area/template_noop)
+"i" = (/obj/structure/table/woodentable,/obj/effect/floor_decal/siding/wood{dir = 1},/obj/item/reagent_containers/food/donut/chaos,/turf/simulated/floor/trim/wood,/area/template_noop)
+"j" = (/obj/structure/bed/chair/purp{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/trim/carpet/purple,/area/template_noop)
+"k" = (/obj/structure/bed/chair/purp{dir = 8},/turf/simulated/floor/trim/carpet/purple,/area/template_noop)
+"l" = (/obj/structure/table/woodentable,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/trim/carpet,/area/template_noop)
+"m" = (/obj/structure/table/woodentable,/obj/item/reagent_containers/food/donut/chaos,/turf/simulated/floor/trim/carpet/purple,/area/template_noop)
+"n" = (/obj/structure/bed/chair/purp{dir = 1},/obj/effect/floor_decal/siding/wood,/turf/simulated/floor/trim/wood,/area/template_noop)
+"p" = (/obj/structure/table/woodentable,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/trim/carpet,/area/template_noop)
+"s" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/brown{pixel_x = -6},/turf/simulated/floor/trim/carpet/purple,/area/template_noop)
+"t" = (/turf/simulated/floor/trim/wood,/area/template_noop)
+"u" = (/obj/structure/bed/chair/purp{dir = 1},/turf/simulated/floor/trim/wood,/area/template_noop)
+"v" = (/obj/structure/table/woodentable,/obj/structure/window/reinforced{dir = 4},/obj/effect/floor_decal/siding/wood{dir = 1},/turf/simulated/floor/trim/wood,/area/template_noop)
+"w" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/bed/chair/comfy/red,/obj/machinery/door/window/northleft,/obj/structure/window/reinforced,/turf/simulated/floor/trim/carpet,/area/template_noop)
+"x" = (/obj/structure/table/woodentable,/obj/structure/window/reinforced,/turf/simulated/floor/trim/carpet/purple,/area/template_noop)
+"y" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/brown{pixel_x = -6},/obj/structure/window/reinforced,/turf/simulated/floor/trim/carpet,/area/template_noop)
+"z" = (/obj/structure/table/woodentable,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/trim/carpet,/area/template_noop)
+"A" = (/obj/structure/table/woodentable,/obj/structure/window/reinforced,/turf/simulated/floor/trim/carpet,/area/template_noop)
+"B" = (/obj/structure/table/woodentable,/obj/item/storage/box/donut/empty,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1; health = 1e+006},/turf/simulated/floor/trim/carpet,/area/template_noop)
+"C" = (/obj/structure/table/woodentable,/obj/effect/floor_decal/siding/wood{dir = 1},/obj/item/reagent_containers/food/donut/cherryjelly,/turf/simulated/floor/trim/wood,/area/template_noop)
+"F" = (/obj/structure/table/woodentable,/obj/item/clothing/suit/judgerobe,/obj/item/clothing/head/philosopher_wig,/turf/simulated/floor/trim/carpet,/area/template_noop)
+"G" = (/obj/structure/table/woodentable,/obj/item/book/wiki/nt_regs{pixel_y = 9},/obj/structure/window/reinforced{dir = 1; health = 1e+006},/turf/simulated/floor/trim/carpet,/area/template_noop)
+"H" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/trim/wood,/area/template_noop)
+"I" = (/obj/random/pottedplant,/obj/effect/floor_decal/siding/wood/end,/obj/effect/floor_decal/siding/wood{dir = 1},/obj/effect/floor_decal/siding/wood/corner{dir = 1},/obj/effect/floor_decal/siding/wood/corner{dir = 4},/turf/simulated/floor/trim/wood,/area/template_noop)
+"J" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/bed/chair/comfy/blue,/obj/machinery/door/window/northleft,/obj/structure/window/reinforced,/turf/simulated/floor/trim/carpet,/area/template_noop)
+"L" = (/obj/structure/bed/chair/red{dir = 1},/turf/simulated/floor/trim/wood,/area/template_noop)
+"M" = (/obj/structure/table/woodentable,/obj/item/book/wiki/nt_regs{pixel_y = 9},/turf/simulated/floor/trim/carpet/purple,/area/template_noop)
+"N" = (/obj/effect/floor_decal/siding/wood{dir = 8},/turf/simulated/floor/trim/wood,/area/template_noop)
+"P" = (/obj/structure/table/woodentable,/turf/simulated/floor/trim/carpet/purple,/area/template_noop)
+"Q" = (/turf/simulated/floor/trim/lino,/area/template_noop)
+"R" = (/obj/structure/window/reinforced{dir = 1; health = 1e+006},/turf/simulated/floor/trim/carpet,/area/template_noop)
+"T" = (/obj/effect/floor_decal/siding/wood{dir = 1},/turf/simulated/floor/trim/wood,/area/template_noop)
+"U" = (/obj/structure/bed/chair/comfy/purp,/turf/simulated/floor/trim/carpet,/area/template_noop)
+"V" = (/obj/structure/bed/chair/purp{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/trim/wood,/area/template_noop)
+"W" = (/obj/structure/table/woodentable,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1; health = 1e+006},/turf/simulated/floor/trim/carpet,/area/template_noop)
+"Y" = (/obj/structure/bed/chair/blue{dir = 1},/turf/simulated/floor/trim/wood,/area/template_noop)
+
+(1,1,1) = {"
+QQQQQQQQQQ
+QWRaaaaGBQ
+QzacUFaaaQ
+QpJyAhwflQ
+QIgiTCvskQ
+QNYYtLbMkQ
+QNttttHmkQ
+QNuuuuVPkQ
+QInnnnexjQ
+QQQQQQQQQQ
+"}
diff --git a/maps/templates/holodeck_desert.dmm b/maps/templates/holodeck_desert.dmm
new file mode 100644
index 00000000000..8073841788e
--- /dev/null
+++ b/maps/templates/holodeck_desert.dmm
@@ -0,0 +1,33 @@
+"a" = (/turf/simulated/floor/natural/sand,/area/template_noop)
+"c" = (/obj/structure/flora/tree/dead/deadtree_2,/obj/structure/flora/ausbushes/sparsegrass,/obj/structure/flora/ausbushes/glowshroom,/turf/simulated/floor/natural/sand,/area/template_noop)
+"e" = (/obj/structure/flora/ausbushes/fullgrass,/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/natural/sand,/area/template_noop)
+"l" = (/obj/structure/flora/ausbushes/sparsegrass,/turf/simulated/floor/natural/sand,/area/template_noop)
+"m" = (/obj/structure/flora/ausbushes/fullgrass,/turf/simulated/floor/natural/sand,/area/template_noop)
+"n" = (/obj/structure/flora/ausbushes/fernybush,/turf/simulated/floor/natural/sand,/area/template_noop)
+"o" = (/obj/structure/flora/tree/green/tree9,/turf/simulated/floor/natural/sand,/area/template_noop)
+"p" = (/obj/structure/sink/puddle,/turf/simulated/floor/natural/sand,/area/template_noop)
+"y" = (/obj/structure/flora/ausbushes/lavendergrass,/obj/structure/flora/ausbushes/ppflowers,/turf/simulated/floor/natural/sand,/area/template_noop)
+"A" = (/obj/structure/flora/ausbushes/lavendergrass,/turf/simulated/floor/natural/sand,/area/template_noop)
+"E" = (/obj/structure/flora/ausbushes/sparsegrass,/obj/structure/flora/ausbushes/lavendergrass,/turf/simulated/floor/natural/sand,/area/template_noop)
+"I" = (/obj/structure/flora/ausbushes/fullgrass,/obj/structure/gravemarker/cross,/obj/structure/flora/tree/dead/deadtree_3,/turf/simulated/floor/natural/sand,/area/template_noop)
+"J" = (/obj/item/clothing/suit/poncho/colored,/obj/item/clothing/head/sombrero,/turf/simulated/floor/natural/sand,/area/template_noop)
+"K" = (/obj/structure/flora/ausbushes/fullgrass,/obj/item/device/synthesized_instrument/guitar,/turf/simulated/floor/natural/sand,/area/template_noop)
+"Q" = (/obj/structure/flora/ausbushes/sparsegrass,/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/natural/sand,/area/template_noop)
+"S" = (/turf/simulated/floor/sand_floor,/area/template_noop)
+"T" = (/obj/structure/flora/ausbushes/reedbush,/turf/simulated/floor/natural/sand,/area/template_noop)
+"V" = (/obj/structure/flora/tree/green/tree8,/turf/simulated/floor/natural/sand,/area/template_noop)
+"Y" = (/obj/structure/flora/ausbushes/sparsegrass,/obj/structure/flora/tree/dead/deadtree_4,/turf/simulated/floor/natural/sand,/area/template_noop)
+"Z" = (/obj/structure/flora/tree/dead/deadtree_6,/turf/simulated/floor/natural/sand,/area/template_noop)
+
+(1,1,1) = {"
+aaaSSSSaaa
+eIaaaSSSSa
+alAaaaSSca
+SaaaJKonTS
+SaaAlnpaaS
+SSYyaaaaaS
+SaaEaaaaSS
+aaaZmaaQVa
+alaaaaaaaa
+aaaSSSSaaa
+"}
diff --git a/maps/templates/holodeck_disco.dmm b/maps/templates/holodeck_disco.dmm
new file mode 100644
index 00000000000..acf79ff1154
--- /dev/null
+++ b/maps/templates/holodeck_disco.dmm
@@ -0,0 +1,50 @@
+"a" = (/obj/structure/railing/steel{dir = 4},/obj/effect/floor_decal/spline/fancy{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"b" = (/obj/structure/table/steel,/obj/item/clothing/head/cakehat,/obj/effect/floor_decal/spline/plain{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"c" = (/obj/structure/railing/steel,/obj/effect/floor_decal/spline/fancy,/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"e" = (/obj/effect/floor_decal/spline/fancy,/turf/simulated/floor/tiled/dark/mono,/area/template_noop)
+"f" = (/obj/structure/railing/steel{dir = 1},/obj/effect/floor_decal/spline/fancy{dir = 1},/turf/simulated/floor/tiled/dark/mono,/area/template_noop)
+"h" = (/obj/effect/floor_decal/spline/plain{dir = 8},/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"k" = (/obj/effect/floor_decal/spline/plain{dir = 1},/turf/simulated/floor/tiled/dark/mono,/area/template_noop)
+"l" = (/obj/effect/floor_decal/spline/plain{dir = 8},/turf/simulated/floor/tiled/dark/mono,/area/template_noop)
+"m" = (/obj/effect/floor_decal/spline/fancy/corner,/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"n" = (/obj/structure/railing/steel{dir = 1},/obj/effect/floor_decal/spline/fancy{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"o" = (/obj/effect/floor_decal/spline/fancy{dir = 1},/obj/structure/railing/steel{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"p" = (/obj/structure/table/steel,/obj/item/clothing/head/crown,/obj/effect/floor_decal/spline/plain{dir = 10},/turf/simulated/floor/tiled/dark/mono,/area/template_noop)
+"t" = (/obj/structure/railing/steel{dir = 8},/obj/effect/floor_decal/spline/fancy{dir = 8},/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"v" = (/obj/effect/floor_decal/spline/fancy{dir = 1},/obj/structure/railing/steel{dir = 1},/turf/simulated/floor/tiled/dark/mono,/area/template_noop)
+"w" = (/obj/effect/floor_decal/spline/fancy{dir = 8},/obj/structure/railing/steel{dir = 8},/turf/simulated/floor/tiled/dark/mono,/area/template_noop)
+"x" = (/obj/effect/floor_decal/spline/plain,/turf/simulated/floor/tiled/dark/mono,/area/template_noop)
+"y" = (/obj/effect/floor_decal/spline/plain{dir = 4},/turf/simulated/floor/tiled/dark/mono,/area/template_noop)
+"A" = (/obj/effect/floor_decal/spline/plain,/obj/structure/table/steel,/obj/item/clothing/head/beaverhat,/obj/item/clothing/head/tiara,/turf/simulated/floor/tiled/dark/mono,/area/template_noop)
+"B" = (/obj/effect/floor_decal/spline/fancy{dir = 4},/obj/structure/railing/steel{dir = 4},/turf/simulated/floor/tiled/dark/mono,/area/template_noop)
+"C" = (/obj/structure/railing/steel,/obj/effect/floor_decal/spline/fancy,/turf/simulated/floor/tiled/dark/mono,/area/template_noop)
+"D" = (/obj/effect/floor_decal/spline/plain{dir = 4},/obj/structure/table/steel,/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"E" = (/obj/structure/table/steel,/obj/item/clothing/mask/uwu,/obj/item/clothing/head/samura_hat,/obj/effect/floor_decal/spline/plain{dir = 6},/turf/simulated/floor/tiled/dark/mono,/area/template_noop)
+"H" = (/obj/effect/floor_decal/spline/fancy{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"I" = (/obj/effect/floor_decal/spline/fancy/corner{dir = 8},/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"J" = (/obj/effect/floor_decal/spline/plain{dir = 1},/obj/structure/table/steel,/obj/item/clothing/head/agua_helmet,/obj/item/clothing/head/bearpelt,/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"K" = (/obj/effect/floor_decal/spline/plain,/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"L" = (/obj/structure/table/steel,/obj/item/clothing/head/justice,/obj/item/clothing/head/justice/blue,/obj/item/clothing/head/justice/green,/obj/item/clothing/head/justice/pink,/obj/item/clothing/head/justice/yellow,/obj/effect/floor_decal/spline/plain{dir = 9},/turf/simulated/floor/tiled/dark/mono,/area/template_noop)
+"M" = (/obj/structure/table/steel,/obj/item/clothing/head/antenna,/obj/item/clothing/head/richard,/obj/effect/floor_decal/spline/plain{dir = 5},/turf/simulated/floor/tiled/dark/mono,/area/template_noop)
+"N" = (/obj/effect/floor_decal/spline/fancy{dir = 8},/turf/simulated/floor/tiled/dark/mono,/area/template_noop)
+"O" = (/obj/effect/floor_decal/spline/fancy{dir = 4},/turf/simulated/floor/tiled/dark/mono,/area/template_noop)
+"P" = (/obj/structure/table/steel,/obj/item/clothing/head/kitty,/obj/effect/floor_decal/spline/plain,/turf/simulated/floor/tiled/dark/mono,/area/template_noop)
+"R" = (/obj/effect/floor_decal/spline/plain{dir = 8},/obj/structure/table/steel,/turf/simulated/floor/tiled/dark/mono,/area/template_noop)
+"T" = (/obj/effect/floor_decal/spline/plain{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"U" = (/obj/effect/floor_decal/spline/fancy/corner{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"W" = (/obj/effect/floor_decal/spline/fancy/corner{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"Y" = (/obj/machinery/floor_light/prebuilt,/turf/simulated/floor/grid,/area/template_noop)
+"Z" = (/obj/effect/floor_decal/spline/plain{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+
+(1,1,1) = {"
+LbZZZkkkJM
+RmcCeeccIT
+haYYYYYYty
+hBYYYYYYty
+hOYYYYYYNy
+hOYYYYYYNT
+lBYYYYYYwy
+laYYYYYYtT
+hUnoHHvfWD
+pAKxxKKKPE
+"}
diff --git a/maps/templates/holodeck_lasertag.dmm b/maps/templates/holodeck_lasertag.dmm
new file mode 100644
index 00000000000..473d0f90759
--- /dev/null
+++ b/maps/templates/holodeck_lasertag.dmm
@@ -0,0 +1,38 @@
+"a" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"d" = (/obj/effect/floor_decal/corner/red{dir = 10},/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"f" = (/obj/effect/floor_decal/corner/blue{dir = 6},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"l" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"n" = (/obj/structure/closet/lasertag/red,/obj/effect/floor_decal/industrial/hatch/red,/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"q" = (/obj/effect/floor_decal/corner/blue{dir = 5},/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"t" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"u" = (/obj/effect/floor_decal/corner/red/diagonal,/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"v" = (/obj/effect/floor_decal/corner/red{dir = 9},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"w" = (/obj/effect/floor_decal/corner/red/diagonal,/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"y" = (/obj/effect/floor_decal/corner/red{dir = 10},/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"A" = (/obj/structure/closet/lasertag/blue,/obj/effect/floor_decal/industrial/hatch/blue,/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"B" = (/obj/effect/floor_decal/corner/purple/mono,/turf/simulated/floor/tiled/dark/mono,/area/template_noop)
+"E" = (/obj/effect/floor_decal/corner/blue{dir = 6},/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"F" = (/obj/effect/floor_decal/corner/blue/diagonal,/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"G" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"H" = (/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"I" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"L" = (/obj/effect/floor_decal/corner/red{dir = 9},/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"O" = (/obj/effect/floor_decal/corner/blue/mono,/turf/simulated/floor/tiled/dark/mono,/area/template_noop)
+"P" = (/obj/effect/floor_decal/corner/red/mono,/turf/simulated/floor/tiled/dark/mono,/area/template_noop)
+"U" = (/obj/effect/floor_decal/corner/blue/diagonal,/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"W" = (/obj/effect/floor_decal/corner/red/diagonal,/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"Y" = (/obj/effect/floor_decal/corner/blue{dir = 5},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"Z" = (/obj/structure/girder/cult,/obj/structure/window/reinforced/tinted/full,/turf/simulated/floor/tiled/brown,/area/template_noop)
+
+(1,1,1) = {"
+BttttflllA
+GZZHOEUZUF
+GZHHHZUUUF
+GZHZqZZZqY
+GHHZPOEHOI
+GPHLPOZHHI
+dyZZZyZHZI
+uwwwZHHHZI
+uwZwLPHZZI
+nWWWvaaaaB
+"}
diff --git a/maps/templates/holodeck_meetingroom.dmm b/maps/templates/holodeck_meetingroom.dmm
new file mode 100644
index 00000000000..bd1e279778c
--- /dev/null
+++ b/maps/templates/holodeck_meetingroom.dmm
@@ -0,0 +1,41 @@
+"a" = (/obj/effect/floor_decal/corner/grey/full,/obj/effect/floor_decal/siding/wood{dir = 4},/turf/simulated/floor/tiled,/area/template_noop)
+"b" = (/obj/structure/railing/wood,/obj/effect/floor_decal/siding/wood,/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/brown,/turf/simulated/floor/trim/wood,/area/template_noop)
+"d" = (/obj/effect/floor_decal/corner/grey/full,/obj/effect/floor_decal/siding/wood/corner{dir = 1},/turf/simulated/floor/tiled,/area/template_noop)
+"e" = (/obj/structure/railing/wood,/obj/effect/floor_decal/siding/wood{dir = 6},/obj/structure/table/woodentable,/turf/simulated/floor/trim/wood,/area/template_noop)
+"f" = (/obj/structure/railing/wood,/obj/structure/bed/pew/pewchapel/left{dir = 1},/turf/simulated/floor/trim/wood,/area/template_noop)
+"h" = (/obj/effect/floor_decal/siding/wood/corner{dir = 8},/turf/simulated/floor/trim/wood,/area/template_noop)
+"i" = (/obj/effect/floor_decal/corner/grey/full,/obj/effect/floor_decal/siding/wood/corner{dir = 8},/turf/simulated/floor/tiled,/area/template_noop)
+"j" = (/obj/structure/railing/wood,/obj/structure/table/woodentable,/obj/effect/floor_decal/siding/wood,/obj/item/device/megaphone,/turf/simulated/floor/trim/wood,/area/template_noop)
+"k" = (/obj/effect/floor_decal/corner/grey/full,/obj/effect/floor_decal/siding/wood/corner{dir = 4},/turf/simulated/floor/tiled,/area/template_noop)
+"l" = (/obj/structure/railing/wood,/obj/structure/table/woodentable,/obj/effect/floor_decal/siding/wood,/obj/item/clothing/suit/storage/hooded/wintercoat/centcom,/obj/item/clothing/head/centhat,/obj/item/clothing/glasses/sunglasses,/turf/simulated/floor/trim/wood,/area/template_noop)
+"p" = (/obj/effect/floor_decal/stairs,/turf/simulated/floor/tiled,/area/template_noop)
+"s" = (/obj/random/pottedplant,/obj/effect/floor_decal/siding/wood/end,/obj/effect/floor_decal/siding/wood{dir = 1},/obj/effect/floor_decal/siding/wood/corner{dir = 1},/obj/effect/floor_decal/siding/wood/corner{dir = 4},/turf/simulated/floor/trim/wood,/area/template_noop)
+"w" = (/obj/effect/floor_decal/corner/grey/full,/turf/simulated/floor/tiled,/area/template_noop)
+"x" = (/obj/structure/bed/pew/pewchapel/right{dir = 1},/obj/structure/railing/wood,/turf/simulated/floor/trim/wood,/area/template_noop)
+"y" = (/obj/structure/railing/wood,/obj/structure/table/woodentable,/obj/effect/floor_decal/siding/wood,/obj/item/clothing/suit/storage/hooded/wintercoat/captain,/obj/item/clothing/head/caphat,/obj/item/clothing/glasses/sunglasses,/turf/simulated/floor/trim/wood,/area/template_noop)
+"z" = (/obj/structure/bed/chair/comfy/captain,/turf/simulated/floor/trim/carpet,/area/template_noop)
+"A" = (/obj/effect/floor_decal/corner/grey/full,/obj/effect/floor_decal/siding/wood,/turf/simulated/floor/tiled,/area/template_noop)
+"E" = (/obj/effect/floor_decal/corner/grey/full,/obj/effect/floor_decal/siding/wood{dir = 8},/turf/simulated/floor/tiled,/area/template_noop)
+"G" = (/turf/simulated/floor/trim/wood,/area/template_noop)
+"I" = (/obj/effect/floor_decal/siding/wood,/turf/simulated/floor/trim/wood,/area/template_noop)
+"J" = (/obj/effect/floor_decal/corner/grey/full,/obj/effect/floor_decal/siding/wood{dir = 1},/turf/simulated/floor/tiled,/area/template_noop)
+"L" = (/obj/effect/floor_decal/corner/grey/full,/obj/effect/floor_decal/siding/wood/corner,/turf/simulated/floor/tiled,/area/template_noop)
+"M" = (/turf/simulated/floor/trim/carpet,/area/template_noop)
+"O" = (/obj/structure/bed/pew/pewchapel/middle{dir = 1; icon_state = "chair_pewchapel_middle_over"},/obj/structure/railing/wood,/turf/simulated/floor/trim/wood,/area/template_noop)
+"V" = (/obj/effect/floor_decal/siding/wood/corner,/turf/simulated/floor/trim/wood,/area/template_noop)
+"W" = (/obj/structure/bed/pew/pewchapel/left{dir = 1},/obj/structure/railing/wood,/turf/simulated/floor/trim/wood,/area/template_noop)
+"X" = (/obj/structure/railing/wood,/obj/structure/table/woodentable,/obj/effect/floor_decal/siding/wood,/turf/simulated/floor/trim/wood,/area/template_noop)
+"Z" = (/obj/structure/railing/wood,/obj/effect/floor_decal/siding/wood{dir = 10},/obj/structure/table/woodentable,/turf/simulated/floor/trim/wood,/area/template_noop)
+
+(1,1,1) = {"
+sGGGGGGGGs
+IhMzMMzMVI
+pZbyXjlbep
+LAAAiLAAAi
+aWOxEaWOxE
+aWOxEaWOxE
+afOxEaWOxE
+afOxEaWOxE
+kJJJdkJJJd
+swwwwwwwws
+"}
diff --git a/maps/templates/holodeck_offline.dmm b/maps/templates/holodeck_offline.dmm
new file mode 100644
index 00000000000..87536d25e19
--- /dev/null
+++ b/maps/templates/holodeck_offline.dmm
@@ -0,0 +1,14 @@
+"a" = (/turf/simulated/floor/reinforced,/area/template_noop)
+
+(1,1,1) = {"
+aaaaaaaaaa
+aaaaaaaaaa
+aaaaaaaaaa
+aaaaaaaaaa
+aaaaaaaaaa
+aaaaaaaaaa
+aaaaaaaaaa
+aaaaaaaaaa
+aaaaaaaaaa
+aaaaaaaaaa
+"}
diff --git a/maps/templates/holodeck_picnic.dmm b/maps/templates/holodeck_picnic.dmm
new file mode 100644
index 00000000000..8b3b4fa5672
--- /dev/null
+++ b/maps/templates/holodeck_picnic.dmm
@@ -0,0 +1,51 @@
+"a" = (/obj/structure/flora/ausbushes/jungleflora/bushc,/turf/simulated/floor/natural/jungle/grasscorner1{dir = 1},/area/template_noop)
+"c" = (/turf/simulated/floor/natural/jungle/grasscorner2{dir = 1},/area/template_noop)
+"e" = (/obj/structure/flora/ausbushes/grassybush,/turf/simulated/floor/natural/jungle/grasscorner1{dir = 1},/area/template_noop)
+"f" = (/turf/simulated/floor/natural/jungle/grasscorner1{dir = 1},/area/template_noop)
+"h" = (/turf/simulated/floor/natural/jungle/grasscorner2{dir = 8},/area/template_noop)
+"j" = (/turf/simulated/floor/natural/jungle/grasscorner2,/area/template_noop)
+"k" = (/obj/structure/flora/tree/green/small/tree6,/turf/simulated/floor/natural/jungle,/area/template_noop)
+"l" = (/turf/simulated/floor/natural/jungle/grassedge{dir = 4},/area/template_noop)
+"n" = (/obj/structure/table/woodentable,/obj/item/trash/dish/tray{pixel_y = 7},/obj/item/reagent_containers/food/meatkabob{pixel_y = 14; pixel_x = -5},/obj/item/reagent_containers/food/meatkabob{pixel_y = 11},/obj/item/reagent_containers/food/meatkabob{pixel_y = 8; pixel_x = 5},/turf/simulated/floor/natural/jungle/dirt,/area/template_noop)
+"p" = (/turf/simulated/floor/natural/jungle/grassedge,/area/template_noop)
+"q" = (/obj/structure/flora/ausbushes/jungleflora/bushb,/obj/structure/flora/jungleplants/alienplant5,/obj/item/reagent_containers/vessel/flask/vacuumflask{pixel_y = 4},/obj/item/reagent_containers/vessel/mug/metal{pixel_y = -8; pixel_x = -7},/turf/simulated/floor/natural/jungle,/area/template_noop)
+"r" = (/turf/simulated/floor/natural/jungle/grasscorner1{dir = 8},/area/template_noop)
+"s" = (/obj/structure/flora/ausbushes/jungleflora/busha,/turf/simulated/floor/natural/jungle,/area/template_noop)
+"u" = (/turf/simulated/floor/natural/jungle/grasscorner2{dir = 4},/area/template_noop)
+"v" = (/obj/structure/flora/jungleplants/alienplant4,/turf/simulated/floor/natural/jungle,/area/template_noop)
+"w" = (/obj/structure/flora/jungleplants/glowingflower/yellow,/turf/simulated/floor/natural/jungle/grassedge{dir = 4},/area/template_noop)
+"x" = (/turf/simulated/floor/natural/jungle,/area/template_noop)
+"y" = (/obj/structure/table/woodentable,/obj/item/reagent_containers/vessel/teapot,/turf/simulated/floor/natural/jungle/dirt,/area/template_noop)
+"A" = (/obj/structure/flora/tree/green/tree5,/turf/simulated/floor/natural/jungle,/area/template_noop)
+"B" = (/turf/simulated/floor/natural/jungle/grassedge{dir = 1},/area/template_noop)
+"C" = (/obj/structure/flora/ausbushes/jungleflora/bushc,/turf/simulated/floor/natural/jungle/grasscorner1,/area/template_noop)
+"D" = (/obj/item/stool/bar,/turf/simulated/floor/natural/jungle/dirt,/area/template_noop)
+"F" = (/obj/structure/table/woodentable,/obj/item/reagent_containers/vessel/mug{pixel_x = -5; pixel_y = 7},/obj/item/reagent_containers/food/carrotfries,/obj/item/reagent_containers/food/bacon{pixel_y = 1; pixel_x = -2},/turf/simulated/floor/natural/jungle/dirt,/area/template_noop)
+"G" = (/obj/structure/flora/ausbushes/jungleflora/bushc,/turf/simulated/floor/natural/jungle,/area/template_noop)
+"H" = (/obj/structure/flora/jungleplants/glowingflower/yellow,/turf/simulated/floor/natural/jungle/grasscorner1,/area/template_noop)
+"I" = (/obj/structure/flora/jungleplants/alienplant5,/turf/simulated/floor/natural/jungle/grasscorner1{dir = 8},/area/template_noop)
+"K" = (/obj/structure/flora/ausbushes/jungleflora/busha,/turf/simulated/floor/natural/jungle/grassedge{dir = 4},/area/template_noop)
+"M" = (/obj/structure/flora/jungleplants/glowingflower/yellow,/turf/simulated/floor/natural/jungle/grasscorner1{dir = 4},/area/template_noop)
+"N" = (/turf/simulated/floor/natural/jungle/grasscorner1,/area/template_noop)
+"O" = (/obj/structure/table/woodentable,/obj/item/reagent_containers/vessel/mug/one{pixel_y = -2; pixel_x = 8},/obj/item/reagent_containers/vessel/mug/punitelli{pixel_y = 7},/obj/item/reagent_containers/vessel/mug/heart{pixel_x = -5; pixel_y = -1},/turf/simulated/floor/natural/jungle/dirt,/area/template_noop)
+"S" = (/obj/structure/flora/ausbushes/grassybush,/turf/simulated/floor/natural/jungle,/area/template_noop)
+"T" = (/turf/simulated/floor/natural/jungle/grassedge{dir = 8},/area/template_noop)
+"U" = (/obj/structure/flora/ausbushes/jungleflora/bushb,/turf/simulated/floor/natural/jungle/grasscorner1,/area/template_noop)
+"V" = (/obj/structure/flora/ausbushes/jungleflora/busha,/obj/structure/flora/tree/green/small/tree6,/turf/simulated/floor/natural/jungle,/area/template_noop)
+"W" = (/obj/structure/flora/jungleplants/glowingflower/yellow,/turf/simulated/floor/natural/jungle,/area/template_noop)
+"X" = (/obj/structure/flora/ausbushes/jungleflora/bushb,/turf/simulated/floor/natural/jungle,/area/template_noop)
+"Y" = (/turf/simulated/floor/natural/jungle/grasscorner1{dir = 4},/area/template_noop)
+"Z" = (/turf/simulated/floor/natural/jungle/dirt,/area/template_noop)
+
+(1,1,1) = {"
+XslZTxWGxx
+XkIBMXSvAW
+xWsNppaqHp
+pfNjDDupjZ
+ZTKDFyDZZZ
+ZTlDnODZcB
+BYrhDDZcYx
+WxsrBBBMVv
+GAUexCpfxG
+sXwTWlZTXS
+"}
diff --git a/maps/templates/holodeck_snow.dmm b/maps/templates/holodeck_snow.dmm
new file mode 100644
index 00000000000..412c1a6feae
--- /dev/null
+++ b/maps/templates/holodeck_snow.dmm
@@ -0,0 +1,33 @@
+"a" = (/turf/simulated/floor/natural/snow,/area/template_noop)
+"b" = (/obj/structure/flora/grass/both,/turf/simulated/floor/natural/snow,/area/template_noop)
+"d" = (/obj/structure/flora/bush,/turf/simulated/floor/natural/snow,/area/template_noop)
+"e" = (/obj/effect/floor_decal/snow,/obj/effect/floor_decal/snowedge/cee,/turf/simulated/floor/plating,/area/template_noop)
+"h" = (/obj/structure/flora/ausbushes/pointybush,/turf/simulated/floor/natural/snow,/area/template_noop)
+"l" = (/obj/effect/floor_decal/snow,/obj/effect/floor_decal/snowedge{dir = 5},/turf/simulated/floor/plating,/area/template_noop)
+"o" = (/obj/structure/flora/bush,/obj/structure/flora/grass/green,/turf/simulated/floor/natural/snow,/area/template_noop)
+"p" = (/obj/structure/flora/grass/green,/turf/simulated/floor/natural/snow,/area/template_noop)
+"s" = (/obj/structure/flora/tree/pine,/turf/simulated/floor/natural/snow,/area/template_noop)
+"t" = (/obj/structure/flora/tree/dead/deadtree_0,/obj/structure/flora/jungleplants/glowshroom,/turf/simulated/floor/natural/snow,/area/template_noop)
+"w" = (/obj/item/clothing/head/ushanka,/turf/simulated/floor/natural/snow,/area/template_noop)
+"y" = (/obj/structure/flora/bush,/obj/structure/flora/grass/brown,/turf/simulated/floor/natural/snow,/area/template_noop)
+"z" = (/obj/effect/floor_decal/snow,/obj/effect/floor_decal/snowedge{dir = 10},/turf/simulated/floor/plating,/area/template_noop)
+"A" = (/obj/structure/flora/grass/brown,/turf/simulated/floor/natural/snow,/area/template_noop)
+"E" = (/obj/effect/floor_decal/snow,/obj/effect/floor_decal/snowedge{dir = 6},/turf/simulated/floor/plating,/area/template_noop)
+"G" = (/obj/effect/floor_decal/snow,/obj/effect/floor_decal/snowedge{dir = 1},/turf/simulated/floor/plating,/area/template_noop)
+"Q" = (/obj/item/clothing/mask/sgreenscarf,/turf/simulated/floor/natural/snow,/area/template_noop)
+"R" = (/obj/item/clothing/suit/storage/hooded/wintercoat,/turf/simulated/floor/natural/snow,/area/template_noop)
+"W" = (/obj/structure/flora/tree/dead/deadtree_0,/turf/simulated/floor/natural/snow,/area/template_noop)
+"X" = (/obj/effect/floor_decal/snow,/obj/effect/floor_decal/snowedge{dir = 9},/turf/simulated/floor/plating,/area/template_noop)
+
+(1,1,1) = {"
+aaazEaeapa
+paaWpAaaaa
+asbpyaabAa
+aadaawsahX
+lhaRWQaaaz
+Epaayaaaaa
+aaaAabosaa
+AasapoaaAa
+apaoaatApa
+aaaXGGlaaa
+"}
diff --git a/maps/templates/holodeck_space.dmm b/maps/templates/holodeck_space.dmm
new file mode 100644
index 00000000000..0b1f3a8fdd2
--- /dev/null
+++ b/maps/templates/holodeck_space.dmm
@@ -0,0 +1,15 @@
+"b" = (/turf/simulated/floor/holospace,/area/template_noop)
+"A" = (/obj/effect/holodeck_effect/carp/random,/turf/simulated/floor/holospace,/area/template_noop)
+
+(1,1,1) = {"
+bbbbbbbbbb
+bbbAbbbbAb
+bbbbbbbbbb
+bAbbbbAbbb
+bbbbbbbbbb
+bbbbbbbbbb
+bbbAbbbbAb
+bbbbbbbbbb
+bAbbbbAbbb
+bbbbbbbbbb
+"}
diff --git a/maps/templates/holodeck_theatre.dmm b/maps/templates/holodeck_theatre.dmm
new file mode 100644
index 00000000000..23134c7a564
--- /dev/null
+++ b/maps/templates/holodeck_theatre.dmm
@@ -0,0 +1,36 @@
+"a" = (/obj/effect/floor_decal/corner/brown/diagonal,/turf/simulated/floor/tiled/brown,/area/template_noop)
+"e" = (/obj/effect/floor_decal/spline/fancy/wood{dir = 8},/obj/effect/floor_decal/spline/fancy/wood{dir = 4},/turf/simulated/floor/trim/darkwood,/area/template_noop)
+"f" = (/obj/structure/table/darkwood_reinforced,/obj/effect/landmark/costume/random,/obj/item/clothing/under/dress/dress_saloon,/obj/item/clothing/head/hairflower,/obj/effect/floor_decal/spline/fancy/wood{dir = 8},/turf/simulated/floor/trim/darkwood,/area/template_noop)
+"g" = (/obj/effect/floor_decal/spline/fancy/wood,/turf/simulated/floor/trim/darkwood,/area/template_noop)
+"h" = (/obj/structure/table/darkwood_reinforced,/obj/effect/landmark/costume/random,/obj/effect/floor_decal/spline/fancy/wood{dir = 4},/turf/simulated/floor/trim/darkwood,/area/template_noop)
+"j" = (/obj/effect/floor_decal/spline/fancy/wood{dir = 10},/turf/simulated/floor/trim/darkwood,/area/template_noop)
+"m" = (/obj/effect/floor_decal/spline/fancy/wood/cee,/turf/simulated/floor/trim/darkwood,/area/template_noop)
+"p" = (/obj/effect/floor_decal/stairs,/turf/simulated/floor/tiled,/area/template_noop)
+"q" = (/obj/effect/floor_decal/spline/fancy/wood/corner,/obj/effect/floor_decal/spline/fancy/wood/corner{dir = 8},/turf/simulated/floor/trim/darkwood,/area/template_noop)
+"t" = (/obj/effect/floor_decal/spline/fancy/wood{dir = 4},/obj/effect/floor_decal/spline/fancy/wood{dir = 8},/turf/simulated/floor/trim/darkwood,/area/template_noop)
+"v" = (/obj/effect/floor_decal/corner/brown/diagonal,/obj/effect/floor_decal/spline/plain/corner,/turf/simulated/floor/tiled/brown,/area/template_noop)
+"y" = (/obj/effect/floor_decal/corner/grey/full,/turf/simulated/floor/tiled,/area/template_noop)
+"z" = (/obj/structure/table/darkwood_reinforced,/obj/effect/landmark/costume/random,/turf/simulated/floor/trim/darkwood,/area/template_noop)
+"F" = (/obj/effect/floor_decal/corner/brown/diagonal,/obj/effect/floor_decal/spline/plain,/obj/structure/railing/darkwood,/turf/simulated/floor/tiled/brown,/area/template_noop)
+"H" = (/obj/structure/bed/couch/right/sofa{dir = 1},/obj/structure/railing/darkwood,/turf/simulated/floor/trim/carpet/oldred,/area/template_noop)
+"K" = (/obj/effect/floor_decal/corner/grey/full,/obj/structure/table/darkwood_reinforced,/obj/item/reagent_containers/food/popcorn{pixel_y = 16},/obj/item/reagent_containers/food/popcorn{pixel_y = 8; pixel_x = -6},/obj/item/reagent_containers/food/popcorn{pixel_y = 8; pixel_x = 6},/obj/item/reagent_containers/food/popcorn,/turf/simulated/floor/tiled,/area/template_noop)
+"L" = (/obj/effect/floor_decal/corner/brown/diagonal,/obj/effect/floor_decal/spline/plain{dir = 6},/obj/structure/railing/darkwood,/turf/simulated/floor/tiled/brown,/area/template_noop)
+"P" = (/obj/effect/floor_decal/corner/brown/diagonal,/obj/effect/floor_decal/spline/plain,/turf/simulated/floor/tiled/brown,/area/template_noop)
+"Q" = (/obj/effect/floor_decal/spline/fancy/wood{dir = 6},/turf/simulated/floor/trim/darkwood,/area/template_noop)
+"S" = (/obj/effect/floor_decal/corner/brown/diagonal,/obj/effect/floor_decal/spline/plain/corner{dir = 8},/turf/simulated/floor/tiled/brown,/area/template_noop)
+"T" = (/obj/effect/floor_decal/spline/fancy/wood/corner{dir = 8},/obj/effect/floor_decal/spline/fancy/wood/corner,/turf/simulated/floor/trim/darkwood,/area/template_noop)
+"U" = (/obj/effect/floor_decal/corner/brown/diagonal,/obj/effect/floor_decal/spline/plain{dir = 10},/obj/structure/railing/darkwood,/turf/simulated/floor/tiled/brown,/area/template_noop)
+"Y" = (/obj/structure/bed/couch/left/sofa{dir = 1},/obj/structure/railing/darkwood,/turf/simulated/floor/trim/carpet/oldred,/area/template_noop)
+
+(1,1,1) = {"
+aaaaaaaaaa
+PSaaaaaavP
+pUFFFFFFLp
+yfzzzzzzhy
+yjgTggqgQy
+yYHtYHeYHy
+yYHtYHeYHy
+yYHmYHmYHy
+yyyyyyyyyy
+Kyyyyyyyyy
+"}
diff --git a/maps/templates/holodeck_thunderdome.dmm b/maps/templates/holodeck_thunderdome.dmm
new file mode 100644
index 00000000000..09193e329a6
--- /dev/null
+++ b/maps/templates/holodeck_thunderdome.dmm
@@ -0,0 +1,51 @@
+"a" = (/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"b" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"d" = (/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"f" = (/obj/machinery/door/window/northright,/obj/effect/floor_decal/stairs,/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"g" = (/obj/effect/floor_decal/corner/red/three_quarters,/obj/effect/floor_decal/corner/grey{dir = 4},/turf/simulated/floor/tiled,/area/template_noop)
+"h" = (/obj/effect/floor_decal/corner/green/three_quarters{dir = 1},/obj/effect/floor_decal/corner/grey{dir = 8},/turf/simulated/floor/tiled,/area/template_noop)
+"l" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"m" = (/obj/effect/floor_decal/corner/grey/full,/turf/simulated/floor/tiled,/area/template_noop)
+"n" = (/obj/effect/floor_decal/corner/green/three_quarters,/obj/effect/floor_decal/corner/grey{dir = 4},/obj/structure/window/basic{dir = 8},/turf/simulated/floor/tiled,/area/template_noop)
+"o" = (/obj/structure/table/steel_reinforced,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/button/minigame,/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"p" = (/obj/effect/floor_decal/corner/green{dir = 5},/obj/effect/floor_decal/corner/grey{dir = 10},/turf/simulated/floor/tiled,/area/template_noop)
+"q" = (/obj/effect/floor_decal/corner/red{dir = 5},/obj/effect/floor_decal/corner/grey{dir = 10},/turf/simulated/floor/tiled,/area/template_noop)
+"r" = (/obj/effect/floor_decal/corner/red{dir = 6},/obj/effect/floor_decal/corner/grey{dir = 9},/obj/structure/window/basic{dir = 4},/turf/simulated/floor/tiled,/area/template_noop)
+"t" = (/obj/machinery/door/window/northleft,/obj/effect/floor_decal/stairs,/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"u" = (/obj/structure/table/steel_reinforced,/obj/item/clothing/suit/armor/tdome/red,/obj/item/clothing/head/helmet/thunderdome,/obj/item/melee/energy/axe,/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"x" = (/obj/effect/floor_decal/corner/green{dir = 6},/obj/effect/floor_decal/corner/grey{dir = 9},/turf/simulated/floor/tiled,/area/template_noop)
+"y" = (/obj/effect/floor_decal/corner/red/three_quarters{dir = 4},/obj/effect/floor_decal/corner/grey{dir = 1},/obj/structure/window/basic{dir = 4},/turf/simulated/floor/tiled,/area/template_noop)
+"z" = (/obj/structure/table/steel_reinforced,/obj/item/clothing/suit/armor/tdome/green,/obj/item/clothing/head/helmet/thunderdome,/obj/item/melee/energy/sword/dualsaber/green,/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"A" = (/obj/structure/table/steel_reinforced,/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"B" = (/obj/structure/window/reinforced{dir = 8},/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"C" = (/obj/structure/window/reinforced{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"D" = (/obj/structure/window/reinforced,/obj/effect/floor_decal/industrial/warning,/obj/structure/bed/chair/green,/turf/simulated/floor/tiled/rough,/area/template_noop)
+"E" = (/obj/effect/floor_decal/corner/green/three_quarters{dir = 4},/obj/effect/floor_decal/corner/grey{dir = 1},/turf/simulated/floor/tiled,/area/template_noop)
+"F" = (/obj/structure/window/reinforced{dir = 1; health = null},/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/bed/chair/red{dir = 1},/turf/simulated/floor/tiled/rough,/area/template_noop)
+"H" = (/obj/machinery/door/window/southright,/obj/effect/floor_decal/stairs{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"I" = (/obj/effect/floor_decal/corner/green/three_quarters{dir = 8},/obj/structure/window/basic{dir = 8},/turf/simulated/floor/tiled,/area/template_noop)
+"K" = (/obj/structure/window/reinforced,/obj/effect/floor_decal/industrial/warning,/obj/structure/bed/chair/red,/turf/simulated/floor/tiled/rough,/area/template_noop)
+"M" = (/obj/structure/table/steel_reinforced,/obj/item/clothing/suit/armor/tdome/green,/obj/item/clothing/head/helmet/thunderdome,/obj/item/melee/energy/axe,/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"N" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"O" = (/obj/effect/floor_decal/corner/green{dir = 10},/obj/effect/floor_decal/corner/grey{dir = 5},/turf/simulated/floor/tiled,/area/template_noop)
+"P" = (/obj/effect/floor_decal/corner/red/three_quarters{dir = 1},/obj/effect/floor_decal/corner/grey{dir = 8},/obj/structure/window/basic{dir = 4},/turf/simulated/floor/tiled,/area/template_noop)
+"Q" = (/obj/effect/floor_decal/corner/red{dir = 10},/obj/effect/floor_decal/corner/grey{dir = 5},/turf/simulated/floor/tiled,/area/template_noop)
+"R" = (/obj/effect/floor_decal/corner/red/three_quarters{dir = 8},/obj/effect/floor_decal/corner/grey,/turf/simulated/floor/tiled,/area/template_noop)
+"U" = (/obj/structure/window/reinforced{dir = 1; health = null},/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/bed/chair/green{dir = 1},/turf/simulated/floor/tiled/rough,/area/template_noop)
+"V" = (/obj/effect/floor_decal/corner/red{dir = 9},/obj/effect/floor_decal/corner/grey{dir = 6},/turf/simulated/floor/tiled,/area/template_noop)
+"W" = (/obj/machinery/door/window/southleft,/obj/effect/floor_decal/stairs{dir = 1},/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+"Y" = (/obj/effect/floor_decal/corner/green{dir = 9},/obj/effect/floor_decal/corner/grey{dir = 6},/obj/structure/window/basic{dir = 8},/turf/simulated/floor/tiled,/area/template_noop)
+"Z" = (/obj/structure/table/steel_reinforced,/obj/item/clothing/suit/armor/tdome/red,/obj/item/clothing/head/helmet/thunderdome,/obj/item/melee/energy/sword/dualsaber/red,/turf/simulated/floor/tiled/dark/rough,/area/template_noop)
+
+(1,1,1) = {"
+aaaaaaaaaa
+dKKWKDHDDN
+CuRqPIphMB
+CuVmrYmxMB
+CuVmrYmxMB
+CZVmrYmxzB
+CAVmrYmxAB
+CogQynOEoB
+bFFtFUfUUl
+aaaaaaaaaa
+"}
diff --git a/maps/templates/holodeck_wildlife.dmm b/maps/templates/holodeck_wildlife.dmm
new file mode 100644
index 00000000000..a11bed2b603
--- /dev/null
+++ b/maps/templates/holodeck_wildlife.dmm
@@ -0,0 +1,15 @@
+"a" = (/turf/simulated/floor/reinforced,/area/template_noop)
+"K" = (/obj/effect/holodeck_effect/carp,/turf/simulated/floor/reinforced,/area/template_noop)
+
+(1,1,1) = {"
+aaaaaaaaaa
+aKaaaaaaKa
+aaaaaaaaaa
+aaaKaaKaaa
+aaaaaaaaaa
+aaaaaaaaaa
+aaaKaaKaaa
+aaaaaaaaaa
+aKaaaaaaKa
+aaaaaaaaaa
+"}
diff --git a/maps/~mapsystem/maps.dm b/maps/~mapsystem/maps.dm
index 714651c58d7..ad97dff010c 100644
--- a/maps/~mapsystem/maps.dm
+++ b/maps/~mapsystem/maps.dm
@@ -60,13 +60,6 @@ var/const/MAP_HAS_RANK = 2 //Rank system, also togglable
var/list/station_networks = list() // Camera networks that will show up on the console.
- var/list/holodeck_programs = list() // map of string ids to /datum/holodeck_program instances
- var/list/holodeck_supported_programs = list() // map of maps - first level maps from list-of-programs string id (e.g. "BarPrograms") to another map
- // this is in order to support multiple holodeck program listings for different holodecks
- // second level maps from program friendly display names ("Picnic Area") to program string ids ("picnicarea")
- // as defined in holodeck_programs
- var/list/holodeck_restricted_programs = list() // as above... but EVIL!
-
var/allowed_spawns = list("Arrivals Shuttle","Gateway", "Cryogenic Storage", "Cyborg Storage")
var/default_spawn = "Arrivals Shuttle"
var/flags = 0
diff --git a/prof.dll b/prof.dll
index 298210f3934..084a8e0d901 100644
Binary files a/prof.dll and b/prof.dll differ
diff --git a/rust_g.dll b/rust_g.dll
index 37b7864a8f5..1dc4c6f0f63 100644
Binary files a/rust_g.dll and b/rust_g.dll differ
diff --git a/sound/effects/toilet_flush.ogg b/sound/effects/toilet_flush.ogg
new file mode 100644
index 00000000000..ed7b77bccc0
Binary files /dev/null and b/sound/effects/toilet_flush.ogg differ
diff --git a/sound/effects/water_sizzle.ogg b/sound/effects/water_sizzle.ogg
new file mode 100644
index 00000000000..90d63da5aaf
Binary files /dev/null and b/sound/effects/water_sizzle.ogg differ
diff --git a/sound/effects/welderactivate.ogg b/sound/effects/welderactivate.ogg
new file mode 100644
index 00000000000..b1b5dece26c
Binary files /dev/null and b/sound/effects/welderactivate.ogg differ
diff --git a/sound/effects/welderdeactivate.ogg b/sound/effects/welderdeactivate.ogg
new file mode 100644
index 00000000000..152e89f9157
Binary files /dev/null and b/sound/effects/welderdeactivate.ogg differ
diff --git a/sound/machines/coffeemaker_brew.ogg b/sound/machines/coffeemaker_brew.ogg
new file mode 100644
index 00000000000..a8e25c09867
Binary files /dev/null and b/sound/machines/coffeemaker_brew.ogg differ
diff --git a/sound/machines/knob1.ogg b/sound/machines/knob1.ogg
new file mode 100644
index 00000000000..56215731a2e
Binary files /dev/null and b/sound/machines/knob1.ogg differ
diff --git a/sound/machines/knob2.ogg b/sound/machines/knob2.ogg
new file mode 100644
index 00000000000..b6c872bf8cc
Binary files /dev/null and b/sound/machines/knob2.ogg differ
diff --git a/sound/machines/knob3.ogg b/sound/machines/knob3.ogg
new file mode 100644
index 00000000000..59bc39addd4
Binary files /dev/null and b/sound/machines/knob3.ogg differ
diff --git a/sound/machines/lightsburnout.ogg b/sound/machines/lightsburnout.ogg
new file mode 100644
index 00000000000..a7087b59ca8
Binary files /dev/null and b/sound/machines/lightsburnout.ogg differ
diff --git a/sound/machines/sound_effects_light_on.ogg b/sound/machines/sound_effects_light_on.ogg
new file mode 100644
index 00000000000..4a8c40b11e1
Binary files /dev/null and b/sound/machines/sound_effects_light_on.ogg differ
diff --git a/sound/weapons/meathook.ogg b/sound/weapons/meathook.ogg
new file mode 100644
index 00000000000..58cc7ac755e
Binary files /dev/null and b/sound/weapons/meathook.ogg differ
diff --git a/sql/migrate/V002_InitDonations.sql b/sql/migrate/V002_InitDonations.sql
index 268516c5334..4320552cfe6 100644
--- a/sql/migrate/V002_InitDonations.sql
+++ b/sql/migrate/V002_InitDonations.sql
@@ -270,7 +270,7 @@ CREATE TABLE IF NOT EXISTS `runtimes` (
`date` datetime NOT NULL,
`game_id` varchar(50) NOT NULL,
`build_version` varchar(50) NOT NULL,
- `file` varchar(50) NOT NULL,
+ `file` varchar(255) NOT NULL,
`line` int(11) NOT NULL,
`body` text NOT NULL,
PRIMARY KEY (`id`)
diff --git a/tgui/packages/common/color.js b/tgui/packages/common/color.js
deleted file mode 100644
index 363e7d276fb..00000000000
--- a/tgui/packages/common/color.js
+++ /dev/null
@@ -1,62 +0,0 @@
-/**
- * @file
- * @copyright 2020 Aleksej Komarov
- * @license MIT
- */
-
-const EPSILON = 0.0001
-
-export class Color {
- constructor (r = 0, g = 0, b = 0, a = 1) {
- this.r = r
- this.g = g
- this.b = b
- this.a = a
- }
-
- toString () {
- return `rgba(${this.r | 0}, ${this.g | 0}, ${this.b | 0}, ${this.a | 0})`
- }
-}
-
-/**
- * Creates a color from the CSS hex color notation.
- */
-Color.fromHex = hex => (
- new Color(
- parseInt(hex.substr(1, 2), 16),
- parseInt(hex.substr(3, 2), 16),
- parseInt(hex.substr(5, 2), 16))
-)
-
-/**
- * Linear interpolation of two colors.
- */
-Color.lerp = (c1, c2, n) => (
- new Color(
- (c2.r - c1.r) * n + c1.r,
- (c2.g - c1.g) * n + c1.g,
- (c2.b - c1.b) * n + c1.b,
- (c2.a - c1.a) * n + c1.a)
-)
-
-/**
- * Loops up the color in the provided list of colors
- * with linear interpolation.
- */
-Color.lookup = (value, colors = []) => {
- const len = colors.length
- if (len < 2) {
- throw new Error('Needs at least two colors!')
- }
- const scaled = value * (len - 1)
- if (value < EPSILON) {
- return colors[0]
- }
- if (value >= 1 - EPSILON) {
- return colors[len - 1]
- }
- const ratio = scaled % 1
- const index = scaled | 0
- return Color.lerp(colors[index], colors[index + 1], ratio)
-}
diff --git a/tgui/packages/common/color.ts b/tgui/packages/common/color.ts
new file mode 100644
index 00000000000..e202c9846d8
--- /dev/null
+++ b/tgui/packages/common/color.ts
@@ -0,0 +1,359 @@
+/**
+ * @file
+ * @copyright 2020 Aleksej Komarov
+ * @license MIT
+ */
+
+const EPSILON = 0.0001;
+
+export class Color {
+ r: number;
+ g: number;
+ b: number;
+ a: number;
+
+ constructor(r = 0, g = 0, b = 0, a = 1) {
+ this.r = r;
+ this.g = g;
+ this.b = b;
+ this.a = a;
+ }
+
+ toString() {
+ return `rgba(${this.r | 0}, ${this.g | 0}, ${this.b | 0}, ${this.a | 0})`;
+ }
+
+ /**
+ * Creates a color from the CSS hex color notation.
+ */
+ static fromHex(hex: string): Color {
+ return new Color(
+ parseInt(hex.substr(1, 2), 16),
+ parseInt(hex.substr(3, 2), 16),
+ parseInt(hex.substr(5, 2), 16)
+ );
+ }
+
+ /**
+ * Linear interpolation of two colors.
+ */
+ static lerp(c1: Color, c2: Color, n: number): Color {
+ return new Color(
+ (c2.r - c1.r) * n + c1.r,
+ (c2.g - c1.g) * n + c1.g,
+ (c2.b - c1.b) * n + c1.b,
+ (c2.a - c1.a) * n + c1.a
+ );
+ }
+
+ /**
+ * Loops up the color in the provided list of colors
+ * with linear interpolation.
+ */
+ static lookup(value: number, colors: Color[] = []): Color {
+ const len = colors.length;
+ if (len < 2) {
+ throw new Error("Needs at least two colors!");
+ }
+ const scaled = value * (len - 1);
+ if (value < EPSILON) {
+ return colors[0];
+ }
+ if (value >= 1 - EPSILON) {
+ return colors[len - 1];
+ }
+ const ratio = scaled % 1;
+ const index = scaled | 0;
+ return Color.lerp(colors[index], colors[index + 1], ratio);
+ }
+}
+
+/*
+ * MIT License
+ * https://github.com/omgovich/react-colorful/
+ *
+ * Copyright (c) 2020 Vlad Shilov
+